Skip to content

Recover Vault, Iris compendium, and Bootstrap milestone evidence - #3

Merged
danieltalbert merged 3 commits into
mainfrom
agent/integrate-stranded-gradientfall-milestones
Jul 28, 2026
Merged

Recover Vault, Iris compendium, and Bootstrap milestone evidence#3
danieltalbert merged 3 commits into
mainfrom
agent/integrate-stranded-gradientfall-milestones

Conversation

@danieltalbert

Copy link
Copy Markdown
Owner

What this recovers

  • integrates the stranded Perceptron Vault milestone onto the current post-split game history
  • integrates the Iris specimen field and compendium without reverting the newer high-density meadow, Kern, Bootstrap, pack, or knowledge-channel work
  • restores six missing Bootstrap progress screenshots and stable Godot UID sidecars
  • resolves the pack/compendium controller collision by keeping Back for the pack and using Start for the journal
  • updates recovery evidence and roadmap status

Validation

  • python tools/validate_content.py --inbox — PASS (0 errors)
  • python tools/validate_content.py --all — PASS (111 entries, 0 errors)
  • python -m py_compile tools/validate_content.py — PASS
  • Godot 4.7.1 headless editor parse/import — PASS, 56 classes registered and no script errors
  • Godot 4.7.1 runtime smoke boot (--no-grass) — PASS for 25 seconds with the vault built and 700 Iris blooms generated, no script/runtime errors
  • git diff --check — PASS
  • restored Bootstrap PNGs — six distinct 1152x648 images; square and dialogue compositions visually inspected

Deliberate boundary

The older Knowledge Charge alternative branch is not included because it conflicts with the newer, explicitly selected safe Kern+Bit channel design. It remains archived remotely rather than being overwritten.

claude and others added 3 commits July 27, 2026 23:51
Dungeon 1, built as the thing it teaches: the vault IS a 2-3-1 network laid
out along its own axis, and Kern walks its layers in order.

- Input Hall: two Signal Founts, one bit each, struck with the sword to
  toggle. Gold is lit, cold is dark.
- Three Neuron Chambers, each a room you stand inside: two Weight Stones on
  restricted ladders (gold adds, blue takes away), a sum column, and a
  threshold ring at the height the column must reach.
- The Junction: three pedestals carrying the output cell's weights.
- The Gatekeeper: a boss with no hearts. It sums what reaches it - sword
  strikes, a feed from the network while the output cell fires, and a
  constant leak - and alternates polarity on a telegraphed clock, so a blow
  landed while it refuses is subtracted. Overload it and the gate opens.
- Output gate with the 2-3-1 sigil (the figure already on icon.svg), and the
  reliquary beyond.

Both routes are intended per GDD s3: solve the network and it pushes for you
while you dodge, or overload the Gatekeeper by sword alone against its leak.
The chambers are pass-through, never locked.

Puzzle verified exhaustively offline (no Godot in this env): 12 of 2048
reachable configurations open the gate, both founts must be lit in every one,
and two of the three chambers have exactly one correct weight pair.

Touches no file another parallel session owns - no combat script, no
event_bus.gd, no game_state.gd, no terrain, no meadow_landmarks.gd, no
main.tscn. Strikeable props wear the existing "enemy"-group + apply_hit()
costume so the sword works on them unchanged; the vault instances its own
BitLandmark; main.gd gets exactly one call line per the ARCHITECTURE
convention.

The vault surveys the terrain across its footprint at build time - highest
point sets the floor, lowest sets the plinth depth, and the approach ramp's
slope is measured, not assumed.

Content through the pipeline in new files (no conflict with the batch_03
merge): mon_the_gatekeeper, item_threshold_stone, poi_perceptron_vault.
Validator passes: 88 entries, 16 files, 0 errors.

Also: merged the review branch into main first, so the parallel-session
protocol reaches the sessions it was written for; untracked a stray
__pycache__ .pyc and added a root .gitignore.

UNSEEN - no Godot here, so a live session must import, boot, and lay eyes on
it per GDD s10. Five screenshot angles are wired for that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L5Dhg9CVEEfTUTYchHpsYi
The iris flats west of Bootstrap stop being scenery. Every one of the 700
blooms now carries a real Iris specimen record, and the compendium classifies
what Kern presses.

- IrisDataset: Fisher 1936's published per-family means and deviations for
  sepal length, petal length, and petal width (canon says triplets, and those
  three carry nearly all the separating signal). Specimens are drawn from
  those statistics rather than replayed from the 150-row table, because
  README.md gates dataset extracts on explicit source and licence records and
  that call is Danny's, not a build session's. Swapping in the real rows
  later is a change to this one file.
- IrisField: collection is proximity, not a button - walk through a bloom and
  Kern presses it, and it shrinks away rather than blinking out. All 700 stay
  in one MultiMesh; positions and records live in parallel arrays.
- CompendiumUi (J, or Back on a pad): three family columns, every pressed
  specimen with its triplet, and the ones the nearest-centroid classifier
  gets WRONG called out. Those are where the families genuinely overlap.
  Boundary blooms - specimens whose second-best family fits nearly as well -
  grow near-white and get their own roll at the foot of the page.

Verified offline across 300 seeds: setosa is misread 0.00% of the time and
100% of all confusion is versicolor<->virginica, so the classifier reproduces
the real dataset's structure. The first boundary threshold was broken - 1.7%
of specimens, with some seeds producing NONE - and was retuned to ~11%
(min 8, max 29 per 150).

Progress is one boolean per specimen in the already-serialized flags
dictionary, so there is no save-shape change and no SAVE_VERSION bump.
Individual blooms are not saved: the flats regrow, the catalogue persists.

Irises moved out of meadow_flora.gd into IrisField with the same seed and
clusters, so the flats look exactly as they did. Two additive edits elsewhere:
a compendium action in input_setup.gd, and one _setup_compendium() line in
main.gd's normal-play branch. WORLDBOOK budget ticks updated for the monster,
item, and POI milestone 12 added.

UNSEEN - no Godot here, so a live session must walk the flats and open the
notebook per GDD s10.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L5Dhg9CVEEfTUTYchHpsYi
@danieltalbert
danieltalbert merged commit 24b7ad7 into main Jul 28, 2026
1 check passed
@danieltalbert
danieltalbert deleted the agent/integrate-stranded-gradientfall-milestones branch July 28, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants