diff --git a/docs/port/BLOCKED.md b/docs/port/BLOCKED.md index 97819d89..5bc19c27 100644 --- a/docs/port/BLOCKED.md +++ b/docs/port/BLOCKED.md @@ -200,7 +200,7 @@ HANDOFF. | Milestone | Needs | HANDOFF | State | |---|---|---|---| -| P0โ€“P7 โ€” the contract itself | **land HANDOFF on `main`** โ€” ~~or tell the port to read the branch~~ | `27938aa` | ๐ŸŸก **NARROWED 2026-08-31: this is TWO gaps and only one needs a human.** What a peer *holds* is readable now โ€” `git show :`, any topic branch, refs already fetched โ€” and `contract-check` has been doing exactly that, which is why my checks were current while my working tree sat 115 commits behind. What a peer must be *TOLD* still needs the merge. I had filed both as blocked on a human; half never was. `tools/port/peer-head` makes the readable half cost one command. **The merge is still the ask**, for the telling half. Original text: ๐Ÿ”ด **the document the mission calls the contract is not the document the port opens.** `main`'s copy is **926 lines** frozen at `9ca1eb5`; the live one is **4 111** at `27938aa`, **99 commits** unread, **70 sections** this port has never opened โ€” several titled *"deliver โ€ฆ to the page the port reads"*. Only a human merges a topic branch (PROTOCOL), so the port cannot fix this and will not merge another agent's branch into its own. **Mitigated, not solved:** `tools/port/contract-check` now reads the newest HANDOFF on any ref and reconciles seven of its numbers against `export/` and `authored/` โ€” all seven agree โ€” and `check-all` asserts it plus its known-negative control. That is seven values out of 4 111 lines. โš ๏ธ The rest is still read by eye, and two consecutive iterations have found instructions addressed to the port sitting unread for a day. | +| P0โ€“P7 โ€” the contract itself, **and P5's gate behind it** | **land HANDOFF on `main`** โ€” ~~or tell the port to read the branch~~ | `27938aa` | ๐Ÿ“Œ **QUANTIFIED 2026-09-01, both directions.** This port's branch is **256 commits ahead of `origin/main` and 0 behind**, so merging it is a **fast-forward** โ€” `main` is an ancestor and there is nothing to resolve; 58 files. The Decoder's side is ~234 commits, and `main`'s HANDOFF is frozen at 926 lines against a live 4 000-plus. **Nothing either agent decided this week is reachable from `main`,** and `docs/port/RUNNING.md` ยง6 now states what a person is actually being asked to do for P5. Earlier text: ๐ŸŸก **NARROWED 2026-08-31: this is TWO gaps and only one needs a human.** What a peer *holds* is readable now โ€” `git show :`, any topic branch, refs already fetched โ€” and `contract-check` has been doing exactly that, which is why my checks were current while my working tree sat 115 commits behind. What a peer must be *TOLD* still needs the merge. I had filed both as blocked on a human; half never was. `tools/port/peer-head` makes the readable half cost one command. **The merge is still the ask**, for the telling half. Original text: ๐Ÿ”ด **the document the mission calls the contract is not the document the port opens.** `main`'s copy is **926 lines** frozen at `9ca1eb5`; the live one is **4 111** at `27938aa`, **99 commits** unread, **70 sections** this port has never opened โ€” several titled *"deliver โ€ฆ to the page the port reads"*. Only a human merges a topic branch (PROTOCOL), so the port cannot fix this and will not merge another agent's branch into its own. **Mitigated, not solved:** `tools/port/contract-check` now reads the newest HANDOFF on any ref and reconciles seven of its numbers against `export/` and `authored/` โ€” all seven agree โ€” and `check-all` asserts it plus its known-negative control. That is seven values out of 4 111 lines. โš ๏ธ The rest is still read by eye, and two consecutive iterations have found instructions addressed to the port sitting unread for a day. | ## New ask, 2026-08-30 โ€” derived from HANDOFF `27938aa`, at port `HEAD` `f33aeca` diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index a09a09e6..27527230 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -311 sections. Search this before re-deriving anything. +312 sections. Search this before re-deriving anything. * [P0 โ€” the exporter, 2026-08-28](#p0--the-exporter-2026-08-28) * [P1 โ€” Godot draws the screen, 2026-08-28](#p1--godot-draws-the-screen-2026-08-28) @@ -322,6 +322,7 @@ dies, which is what this file is for. * [The 92.3 %-versus-49.6 % gap: same numerator, and their filter is not applied](#the-923--versus-496--gap-same-numerator-and-their-filter-is-not-applied) * [๐Ÿ”ด Correcting my own correction: none of the 1 530 is a question without content](#correcting-my-own-correction-none-of-the-1-530-is-a-question-without-content) * [The one load-bearing thing in the denominator thread, checked against the port](#the-one-load-bearing-thing-in-the-denominator-thread-checked-against-the-port) +* [Quantifying the one thing neither agent can move](#quantifying-the-one-thing-neither-agent-can-move) ## P0 โ€” the exporter, 2026-08-28 @@ -15340,3 +15341,30 @@ distinction**, and this one check, which exists because they pushed on what the **nothing the port depends on moved at any point.** That made three rounds cheap. It does not make three rounds a good default, and I would not have spent them if a shipped value had been waiting on the outcome. + +## Quantifying the one thing neither agent can move + +They closed with the fact that gates everything: **`main` is ~234 commits behind +their branch, so nothing either of us decided this week is reachable from it.** +That is also where P5's gate sits, and it is the one open item I own the framing +of. + +Measured from this side: **256 commits ahead of `origin/main`, 0 behind** โ€” so +`main` is an ancestor and **the merge is a fast-forward with nothing to resolve**. +58 files: the exporter and its examples, the Godot scripts, `authored/`, +`tools/port/`, `docs/port/`. + +`RUNNING.md` gains a ยง6 saying what a person is actually being asked to do, in +three lines: run `--boot --play`, walk the table, **say whether it behaves as +described โ€” not whether it matches the game**, because that comparison is the +oracle's and is already asserted by `check-all`. + +๐Ÿ“Œ **That distinction is the point of writing it down.** A reviewer who thinks +they are being asked to judge fidelity will either decline or over-claim; the gate +asks something narrower and answerable in five minutes. **P5 has been open partly +because nobody had written what "clicking through it" means.** + +โš ๏ธ What this does **not** do is meet the gate. It removes the last excuse that is +mine to remove โ€” the commands existed only in a header comment, then only in a +log, and now the ask itself was unstated. **The remaining blocker is a person, and +before that, a merge neither agent may perform.** diff --git a/docs/port/RUNNING.md b/docs/port/RUNNING.md index cd985577..3d99854c 100644 --- a/docs/port/RUNNING.md +++ b/docs/port/RUNNING.md @@ -105,3 +105,32 @@ mods: 1 file(s) in data/mods can shadow NOTHING -- no such path in the export: A file whose path exists in the export but was simply not read this run is **not** listed. See `docs/port/MODDING.md` for the five rules the asset tree keeps. + +## 6. Where the work is, and what P5's gate is waiting on + +**P5's gate is the only one that needs a person, and it is not waiting on code.** + +Everything above runs from `auto/port-p6-audio`. That branch is **256 commits +ahead of `origin/main` and 0 behind**, so a merge is a **fast-forward** โ€” `main` +is an ancestor, there is nothing to resolve. It touches **58 files**: the +exporter and its examples, the Godot scripts, `authored/`, `tools/port/`, and +`docs/port/`. + +Until that merge happens, **nothing decided here is reachable from `main`** โ€” not +the measured menu behaviours, not the audio, not this page. The same is true in +the other direction for the Decoder's branch, which is where the contract +(`HANDOFF.md`) actually lives; `main`'s copy of it is frozen at 926 lines against +a live 4 000-plus. **Neither agent can close that: `PROTOCOL.md` says a human +merges.** + +### What a person is actually being asked to do + +1. `godot --path port -- --boot --play`, then walk ยง2's table. +2. Say whether it behaves as described. **Not whether it matches the game** โ€” + that comparison is the oracle's job and is already asserted by + `tools/port/check-all`. +3. If it does, P5's gate is met and nothing else is blocking P6, which asserts its + own audio and has no human step. + +โš ๏ธ **You will hear nothing** (ยง4), and the intro takes ~157 s. `--menu=main_menu` +skips straight to the part being judged.