Repository navigation
Commit 079fcc7
committed
knowledge + agent: the JDK acquisition ladder, and a correction to my own fix
Operator asked for .claude/agents + knowledge covering the Java toolchain
workaround. Writing it surfaced that the workaround was largely
unnecessary, which is the more useful finding.
**`/opt/jdks/jdk-26.0.2` was present the whole time.** 26.0.2.1, and the
suite runs ALL PASSED (409 checks) on it. `.claude/knowledge/
jdk-toolchain-facts.md` had ALREADY named that exact path as the pinned
production path. The session that shipped two "UNVERIFIED: JDK 26 not
available in this sandbox" commits looked at `java -version` and
`/usr/lib/jvm` -- neither of which sees `/opt/jdks` -- and inferred
absence. So did the section I wrote earlier today, which led with apt and
is corrected here in place.
The generalizable defect is in the SHAPE of what the knowledge doc
recorded, not its accuracy. It recorded a LOCATION. A location is
environment-specific, evaporates on a container rebuild, and leaves a
reader who does not find it with no next move. A METHOD survives. So the
doc now carries a four-rung ACQUISITION LADDER instead:
1. /opt/jdks -- pre-provisioned; the rung that was missed
2. /usr/lib/jvm -- system
3. apt -- Ubuntu openjdk-25; Adoptium temurin-26
4. jdk.java.net/valhalla -- the JEP 401 EA build
Verified by execution, all three of 1/2/3 give 409/409: /opt/jdks/
jdk-26.0.2, openjdk 25.0.4, temurin 26.0.2.1. Rung 4 is the one that IS
now genuinely needed -- `/opt/jdks/jdk-27`, the Valhalla EA build the doc's
table names for `value class`/`value record`, is GONE from this container
and no apt rung replaces it (Adoptium stops at 26; mainline 27 would not
help, since `value record` is an EA feature).
Two failure shapes recorded, because both recur and both are one rung of
the same mistake: absence inferred from the wrong instrument (`which java`
answers "what is on PATH", never "what is installed"), and a cached view
reporting absence (the apt index named a withdrawn openjdk-25, so the
install died on a bare 404 that reads as "no such package" rather than
"your index is stale").
New agent card `jdk-toolchain-warden` fires before any status line, commit
message, PR body or board entry claims the Java side is unverified --
because that claim is falsifiable by `ls /opt/jdks`, and in this container
it has always been false. Verdicts VERIFIABLE-NOW / NEEDS-FETCH (Valhalla
only) / GENUINELY-ABSENT, the last never yet observed.
Also folded in the operator's architecture ruling, since it is what makes
the Java half worth guarding at all: java is the low-code intake GLOVE
around the lance-graph spine, offering the MENU TO THE TABLE in a pleasing
way using masking ops -- 5 star for the price of a blink. The menu is the
product; it is honest rather than a disguise only because the work and the
data genuinely never cross. Thinking lives in lance-graph behind Panama,
SIMD in ndarray behind the ndarray::simd facade, storage in lance-graph
behind Valhalla -- two orthogonal membranes over the same home, which is
precisely why the isomorphism table's middle row is marked wrong.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX1 parent 82b03ad commit 079fcc7
3 files changed
Lines changed: 249 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | | - | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
304 | 323 | | |
305 | 324 | | |
306 | 325 | | |
| |||
355 | 374 | | |
356 | 375 | | |
357 | 376 | | |
358 | | - | |
| 377 | + | |
359 | 378 | | |
360 | 379 | | |
361 | 380 | | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
368 | 409 | | |
369 | 410 | | |
370 | 411 | | |
| |||
444 | 485 | | |
445 | 486 | | |
446 | 487 | | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
| 488 | + | |
| 489 | + | |
451 | 490 | | |
452 | 491 | | |
453 | 492 | | |
| |||
0 commit comments