Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
3c9c4e2
wip: exact-head frontier probe + durable classification witness
Aug 11, 2026
ba053e8
Re-cut the native-selected-witness-bundle first_slice on exact-head r…
Aug 11, 2026
5e1dfca
Home the reproduction instruments outside the test module, and stop r…
Aug 11, 2026
fa2576a
Wire the production '//' annotation channel into dag_lex_rules, with …
Aug 11, 2026
1b491dc
Record the two repairs against the exact-head observation they were m…
Aug 11, 2026
d12c796
Close both evidence gaps: a constructible rejection-propagation pair,…
Aug 11, 2026
ea97a02
Merge remote-tracking branch 'origin/main' into session/crisp-lynx-832
Aug 11, 2026
3154a71
Close the review findings: complete semantic-erasure controls, honest…
Aug 11, 2026
0a32036
chore: regenerate drifted generated artifacts (ci auto-heal)
Aug 11, 2026
2196c7b
Report the retention population as 4-at-observation and 3-after-repai…
Aug 11, 2026
3dd9513
Merge remote-tracking branch 'origin/session/crisp-lynx-832' into ses…
Aug 11, 2026
5656979
Close the second review round: classifier controls, Rejected-arm asse…
Aug 11, 2026
23dab21
Delete rejected_reasons, dead since the assertion moved onto the Reje…
Aug 11, 2026
6dd9065
Fix all three floor refusals: brief budget via cited note, doc-graph …
Aug 12, 2026
6e83731
Bring the boundary brief back under its 100-word budget, and attribut…
Aug 12, 2026
30f2dae
Merge 6e837316c6b3ce1a08c2a0b44df134487491adf1 into 5e310a717123b2054…
gunbai-bot[bot] Aug 12, 2026
40af534
chore: regenerate drifted generated artifacts (ci auto-heal)
Aug 12, 2026
5e7e9fd
Record the refuted attributions where they were asserted, not only wh…
Aug 12, 2026
b6b54ec
Merge remote-tracking branch 'origin/session/crisp-lynx-832' into ses…
Aug 12, 2026
f827efa
Make two latent bare-reference dependencies explicit (Class B, expose…
Aug 12, 2026
9af2b4c
Complete the ArtifactIdentity bare-reference population: six files ac…
Aug 12, 2026
eff3eaa
Retract three of six imports: two homonyms and a suffix match, not on…
Aug 12, 2026
ac1a1eb
Complete the three partial import lists that a single named import ha…
Aug 12, 2026
5a53113
Re-home three key-derivation variants I had imported from a module th…
Aug 12, 2026
24aee97
Move two receipt-digest names into the block that declares them, and …
Aug 12, 2026
21ff7d3
Close the frontend probe's result space and make census completeness …
Aug 12, 2026
bdda6fb
Type the five empty list literals that fold_list's generic accumulato…
Aug 12, 2026
fab22af
Reconcile the census in both directions: coverage was only the supers…
Aug 12, 2026
820c7d6
Merge remote-tracking branch 'origin/main' into session/crisp-lynx-83…
Aug 12, 2026
06aca39
Give the six minimal-pair probes the return type their callee now has
Aug 12, 2026
ebd4128
Validate the denominator, make stage equality structural, and delete …
Aug 12, 2026
204fa9a
Merge remote-tracking branch 'origin/main' into session/crisp-lynx-83…
Aug 12, 2026
eb7a971
Enumerate frontend_stage_eq's arms: the wildcard form was unrostered …
Aug 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The graph has sixteen lanes: SCM compatibility · namespace · P-derive · obser
- [ ] **Decide what matters before paying to prepare everything** — Which computations a change affects is decided from source and module facts, ahead of broad roster, index, grouping and closure preparation. Only the views that decision actually needs are then prepared. Why: Selection is already sharp about meaning and blunt about cost: it can correctly conclude that most of the corpus is irrelevant, but only after the corpus has been discovered, named, rostered and indexed. The saving it reports is real while the work it claims to have avoided has largely already been done. [authority](docs/plans/ci-selection-vs-scheduling.md)
- [ ] **Start running as soon as the first thing is ready** — Preparation stops being a barrier standing in front of execution. A module's facts becoming ready makes an entry view ready, which makes a witness ready, which runs — while everything else is still being prepared. Why: Several hundred seconds are currently spent preparing every selected entry before the first one executes. That is a barrier, not work that had to finish first. [authority](docs/plans/floor-prep-tax-program.md) — requires all: ci-selection-before-preparation, ci-scoped-worker-shared-substrate
- [ ] **Write the closing check for: Name the v2 self-host frontier that native witness execution actually requires, and close it stage by stage** — One executable check states when this is done, transcribed from the node's own bar: A member reported as a frontend GAP whose refusal is actually normalize's own retention contradicting itself refuses the classification — the two populations are separated by reading the rejection reason as a containment read, never by the first reason rendered, because rejected_with_pending prepends accepted-carrier diagnostics to a later rejection and the FIRST reason is systematically wrong. A cohort claimed as reaching Accepted whose closure contains no Accepted member refuses. A repair asserted separable from a description, without a cherry-pick onto main executed green, refuses. Why: Turns a prose bar into a runnable verdict, so the node it gates can be dispatched and its completion checked rather than judged. [authority](docs/plans/five-minute-ci-gate-design.md)
- [ ] **Name the v2 self-host frontier that native witness execution actually requires, and close it stage by stage** — STOPPED AND RE-CUT (operator ruling 2026-08-10, superseding the 2026-08-08 one-PR mandate this row carried). #8043/#8080 attempted the complete cutover in one PR and is closed as quarry; the row survives because the CAPABILITY is real and the SCOPE was wrong. Root, in the operator's words: v2 native execution entails a real self-host frontier and must be named as such, not carried as a CI-performance step. The measured frontier — which of one std closure's rejecting members are bounded contract repairs and which are genuine frontend gaps, and why those do not schedule together — is gunbc.roadmap_authority native_selected_witness_bundle_frontier_note. Why: The stopped lane still paid for itself twice. It produced two merged frontend repairs (#8114: arrow-lambda grammar admission, and the graft dissolution guard — main accepted hollow-shell modules until it landed, proven by reverting only namespace_graft.dag and watching both RED witnesses fail), and it produced the frontier table that replaces an eleven-item guess with a three-item program. What it disproved is equally load-bearing: this row no longer parents five-minute-ci-gate, because witness EVALUATION is 97s of a 3,290s floor — an infinitely fast evaluator leaves 97 percent of the floor standing, so native execution was never the CI-cost lever and CI cost must not wait on a self-host frontier. [authority](docs/plans/five-minute-ci-gate-design.md)
- [ ] **Name the v2 self-host frontier that native witness execution actually requires, and close it stage by stage** — STOPPED AND RE-CUT (operator ruling 2026-08-10, superseding the 2026-08-08 one-PR mandate this row carried). #8043/#8080 attempted the complete cutover in one PR and is closed as quarry; the row survives because the CAPABILITY is real and the SCOPE was wrong. Root, in the operator's words: v2 native execution entails a real self-host frontier and must be named as such, not carried as a CI-performance step. The frontier is gunbc.roadmap_authority native_selected_witness_bundle_frontier_note (historical) and native_selected_witness_bundle_exact_head_recut_note (current). Why: The stopped lane still paid for itself twice. It produced two merged frontend repairs (#8114: arrow-lambda grammar admission, and the graft dissolution guard — main accepted hollow-shell modules until it landed, proven by reverting only namespace_graft.dag and watching both RED witnesses fail), and it produced the frontier table that replaced an eleven-item guess with a three-item program — a table since superseded by the 2026-08-11 exact-head re-observation, under which the split is four normalize members and two independent lex walls, not five and three. What it disproved is equally load-bearing: this row no longer parents five-minute-ci-gate, because witness EVALUATION is 97s of a 3,290s floor — an infinitely fast evaluator leaves 97 percent of the floor standing, so native execution was never the CI-cost lever and CI cost must not wait on a self-host frontier. [authority](docs/plans/five-minute-ci-gate-design.md)
- [ ] **V2-LENS-0: every registered v2 lens executes over one exact corpus subject through the CI2 route** — BLOCKED, AND THE BLOCK IS HONEST (2026-08-10): the former trigger, CI2-0 terminal acceptance, is unreachable because that lane is stopped and its one-PR shape retired. This row keeps its dependency on the native row deliberately rather than being re-anchored around it: its own handback demands ZERO v1 lens-body executions, which is native execution by definition, so relaxing the trigger would only move the frontier into the handback. The underlying concern is DESIGN section 6's and does not expire with the lane: an inert lens is coverage by illusion. Residue, roster derivation and the per-lens execution contract are gunbc.roadmap_authority v2_lens_suite_execution_block_note. Why: Registry completeness proves metadata coherence, not execution: many LensContract rows carry NoConsumerWitness, and an inert lens is coverage by illusion. Binary acquisition, not lens logic, was the recurring execution failure; #8054 proved a whole-corpus query executes and its expense is corpus-fact construction, not lens evaluation. [authority](docs/plans/five-minute-ci-gate-design.md)
- [ ] **Write the closing check for: Stop re-walking the string to read one character** — One executable check states when this is done, transcribed from the node's own bar: Identical output over the corpus is the equivalence half and is satisfied by changing nothing, so it does not stand alone: a long literal mixing non-ASCII text with escapes must separate the two implementations by cost, and a deliberately wrong escape decode must change the output. Why: Turns a prose bar into a runnable verdict, so the node it gates can be dispatched and its completion checked rather than judged. [authority](docs/plans/inner-cost-lanes-scoping.md)
- [ ] **Stop re-walking the string to read one character** — One function in the tokenizer still reads a string by counting from the start each time, while the rest of its file was already moved onto a pre-decoded form. Move it too, and collect its result into one buffer instead of a list of one-character pieces. Why: For text that is entirely plain ASCII this costs one allocation per character. For text containing any non-ASCII character at all, reading position N costs N steps and asking how long the string is re-counts the whole thing, on every pass — so the work grows with the square of the literal's length, and a single accented character anywhere flips the whole literal onto that path. [authority](docs/plans/inner-cost-lanes-scoping.md)
Expand Down
Loading
Loading