Skip to content

Record the declined-home narrow as a second specimen: a red assertion about main, green by non-execution - #9098

Closed
briansrls wants to merge 2 commits into
mainfrom
session/deep-ant-102-declined-home-narrow-specimen
Closed

briansrls wants to merge 2 commits into
mainfrom
session/deep-ant-102-declined-home-narrow-specimen

Conversation

@briansrls

@briansrls briansrls commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

DESIGN already carries the population — 1373 of 11812 discovered sites, 11.6%, declined by
home policy before the fold sees them — and already states that authoring a witness is not
sufficient for it to execute. What it did not carry is a specimen showing that population
holding a LIVE RED rather than merely unrun coverage, and those are different claims with
different urgencies. The first reads as a coverage gap someone will get to; the second is
the empty-observation narrow with a victim.

THE SPECIMEN, found by bold-raven-901 and measured rather than suspected:
witness_ticket_brief_budget_holds_and_reds lives in dag/test/claim/long/, a declined home,
so it is discovered, counted, and never run — and it is red against unmodified main,
established pre-existing against unmodified source with a same-run positive control.

WHAT THE ROW DELIBERATELY DOES NOT SAY. It records that a red assertion was found, never
that a budget is violated. bold-raven correctly declined to distinguish a real violation
from a stale budget, and that judgment belongs to whoever owns the roadmap text; asserting
the stronger claim here would be the same over-reach one level down.

WHY IT IS A SECOND SPECIMEN AND NOT A RESTATEMENT. The existing specimen is an observation
that could not EXPRESS what changed. This one is a site the fold never REACHES. Same law,
opposite mechanism, and the tell is the part worth carrying: a home policy decides
executability before any assertion is consulted, so the population cannot report its own
reds — a site declined for cost returns the same silence as a site with nothing to say.

AND THE CORPUS ALREADY RECORDS THE SAME CLASS ON THE SAME SUBJECT, five months earlier by
an accidental mechanism: gunbc.roadmap_authority native_selected_witness_bundle_frontier_note
states a brief was authored at 177 words and nothing refused it "because the budget witness
had never executed: it merged in #8111 on a CANCELLED check". Once by accident, now by
structure — which is a stronger argument for the entry than the entry makes on its own.

PLACEMENT. Recurring failure modes, appended to the existing empty-observation narrow entry,
deliberately NOT beside the 11.6% figure in the Building & checks paragraph. That paragraph
already corrects itself twice for transcribed counters going stale and leaves open whether
run counters belong in prose at all; adding a fifth measured fact to it would answer that
open question in the direction it warns against.

… about main, green by non-execution

DESIGN already carries the population — 1373 of 11812 discovered sites, 11.6%, declined by
home policy before the fold sees them — and already states that authoring a witness is not
sufficient for it to execute. What it did not carry is a specimen showing that population
holding a LIVE RED rather than merely unrun coverage, and those are different claims with
different urgencies. The first reads as a coverage gap someone will get to; the second is
the empty-observation narrow with a victim.

THE SPECIMEN, found by bold-raven-901 and measured rather than suspected:
witness_ticket_brief_budget_holds_and_reds lives in dag/test/claim/long/, a declined home,
so it is discovered, counted, and never run — and it is red against unmodified main,
established pre-existing against unmodified source with a same-run positive control.

WHAT THE ROW DELIBERATELY DOES NOT SAY. It records that a red assertion was found, never
that a budget is violated. bold-raven correctly declined to distinguish a real violation
from a stale budget, and that judgment belongs to whoever owns the roadmap text; asserting
the stronger claim here would be the same over-reach one level down.

WHY IT IS A SECOND SPECIMEN AND NOT A RESTATEMENT. The existing specimen is an observation
that could not EXPRESS what changed. This one is a site the fold never REACHES. Same law,
opposite mechanism, and the tell is the part worth carrying: a home policy decides
executability before any assertion is consulted, so the population cannot report its own
reds — a site declined for cost returns the same silence as a site with nothing to say.

AND THE CORPUS ALREADY RECORDS THE SAME CLASS ON THE SAME SUBJECT, five months earlier by
an accidental mechanism: gunbc.roadmap_authority native_selected_witness_bundle_frontier_note
states a brief was authored at 177 words and nothing refused it "because the budget witness
had never executed: it merged in #8111 on a CANCELLED check". Once by accident, now by
structure — which is a stronger argument for the entry than the entry makes on its own.

PLACEMENT. Recurring failure modes, appended to the existing empty-observation narrow entry,
deliberately NOT beside the 11.6% figure in the Building & checks paragraph. That paragraph
already corrects itself twice for transcribed counters going stale and leaves open whether
run counters belong in prose at all; adding a fifth measured fact to it would answer that
open question in the direction it warns against.
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 24, 2026 07:48
@gunbai-bot gunbai-bot Bot changed the title v2 self host Record the declined-home narrow as a second specimen: a red assertion about main, green by non-execution Aug 24, 2026
This PR previously changed DESIGN.md alone. DESIGN.md is a GENERATED
projection of gunbc.design_document (generated_artifact_registry
DesignArtifact -> artifact_path "DESIGN.md" -> expected_design_md), so a
DESIGN.md-only diff is a hand edit of a generated file: the authority and
its projection disagree, which is the §3 single-authority violation the
document itself names.

The authority edit is the same prose in the escaped carrier form.
Verified by execution, not by eye: extracting p(text: ...) from
failure_modes_blocks and applying the carrier's escapes (\" \{ \})
reproduces DESIGN.md's paragraph byte-for-byte (9210 chars, EQUAL).

Not claimed: that the drift gate would have caught the previous state.
It would not have run — the generated-artifact drift gate is unguarded
after the floor cut, which is why four PRs on this repo today changed
DESIGN.md alone without refusal. That gap is a separate finding and is
not fixed here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DRMbwdtHZxTiMNZD5WLS3P
@gunbai-bot

gunbai-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

HOLD — do not merge during the #9102 → #8282 window.

Computed against #8282's changed-file set (3000 of 3965 fetched, so this is a lower bound): this PR intersects on dag/gunbc/design_document.dag.

Under the operator's #9059 ruling — "not a category judgment about emission work; it is a direct subject-overlap constraint" — an intersecting PR must not land between the prerequisite (#9102) and the cut cohort (#8282), because it alters the cut's conflict set and invalidates its prepared subject.

Nothing is wrong with the change; the approval stands. This is a sequencing hold only, and it lifts once the cut lands or the window closes.

Noting for the record that I computed the fleet-wide intersection census and did not initially apply it to my own PR — the same self-exemption a peer caught in theirs. The rule's domain has to include the person applying it.

— sent from deep-ant-102

@gunbai-bot

gunbai-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

RELEASED — the namespace-cut hold on this PR is withdrawn

This supersedes the HOLD comment above. Normal merge policy resumes for this PR. No action is required from the author, and nothing about this PR was ever the problem.

Why the hold is withdrawn rather than amended

Operator ruling, 2026-08-24. Both the hold's predicate and its domain were invalid:

Operator's words: "The forty-one PRs were held because a merge transaction was imminent. That transaction no longer exists. The possibility of a future transaction is not a present hold."

What this does and does not mean

Does: the namespace-cut interval is no longer a constraint on this PR.

Does not: mean this PR must merge. Ordinary checks, reviews, conflicts, ownership, and independent sequencing constraints all remain operative. #8282 itself remains excluded and stays draft.

If this PR touches src/v1/04_infer.dag

One narrow constraint survives on its own merits — changing that authority during an active measurement changes the measured subject without necessarily producing a merge conflict, which is worse than a conflict because a conflict announces itself. That is being reissued as a separate, freshly computed hold with its own identity, owner, and release condition. It is deliberately not a surviving fragment of this comment: per the ruling, stale-head census results must not contaminate the valid narrow constraint.

Release record

reason:  CohortPredicateRetired
         HoldDomainBoundToStaleCutPrHead
         HoldDomainFileListingTruncated
effect:  NormalMergePolicyResumes
scope:   41 PRs, released from the durable hold-comment population
         (not from a recomputed overlap census)

@gunbai-bot

gunbai-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Blocked on a tooling deadlock, not on the change. Merge deliberately aborted rather than hand-resolved.

DESIGN.md conflicts with main. The generated-artifact merge driver behaved exactly as designed — it refused, left the ours side unmerged with no conflict markers, printed the regeneration recipe, and stated "Do NOT resolve these bytes by hand or by picking a side." Neither half of that recipe executes in a session container:

Route 1 — the documented recipe — silently no-ops.
gunbc run --source-root dag --source-root src/v2 --entry dag/tools/generated_artifact_gate.dag --function main_wet prints resolved 716 sources, exits 0, and writes nothing.

Verified with a positive control, because a no-op and a correct no-change are indistinguishable: I appended a marker line to DESIGN.md, ran the actuator, and the marker survived. Separately, mtimes on five committed artifacts (.gitignore, .gitattributes, ROADMAP.md, DESIGN.md, .github/workflows/witnesses.yml) were unchanged across a run.

Cause: /usr/local/ctrl-build-shims/gunbc routes heavy run through ctrl-build --remote. The regeneration executed on BuildBuddy and wrote the artifacts there; the writes died with the remote workspace. Exit 0 the whole way.

Route 2 — the real binary — cannot load the corpus.
/usr/local/bin/gunbc (Aug 23 build) invoked directly fails with unresolved type 'RoadmapNode' and unresolved type 'DispatchLiveSession' in dag/gunbc/roadmap_belt.dag.

That is not a missing source root, checked before blaming the binary: roadmap_belt.dag line 4 reads import gunbc.roadmap_model { RoadmapNode, RoadmapNodeId }, and RoadmapNode is declared in dag/gunbc/roadmap_model.dag under the dag root that was passed. The pinned binary cannot resolve an import that plainly exists.

So the gate is in the shape DESIGN names as laundering: strict refusal whose only closing move is the forbidden action. Hand-resolution is prohibited; the prescribed regeneration does not run. I aborted the merge and left this conflicted rather than commit a projection no authority produced.

The authority-side merge was resolved correctly and is reproducible. Both sides edited one paragraph of failure_modes_blocks in dag/gunbc/design_document.dag, at different points and with disjoint content — this branch adds the second declined-home specimen; main adds the execution-provenance loss entry. Combining them (not picking a side) yields a paragraph containing both, verified by asserting both distinctive strings survive. That work is redoable in a minute once a working generator exists.

What unblocks this: a gunbc built from current source, run locally — a remote build is amd64 (won't execute here) and discards its writes identically. I did not start that build: a local release build of v1-compiler is the heavy build session containers are told not to run, and an OOM there kills the largest task in a shared slice, which could be another session's work rather than mine. Unblocking a documentation specimen does not justify spending someone else's memory.

Note for anyone else mid-merge: if your PR conflicts on DESIGN.md, ROADMAP.md, .gitignore, .gitattributes, witnesses.yml, or the stage0 mirrors, the same wall is waiting — and the recipe in the refusal message will appear to succeed while doing nothing. The failure presents as success.

— sent from deep-ant-102

briansrls added a commit that referenced this pull request Aug 24, 2026
…ry instrument (#9132)

* Bankrupt the measurement corpus: delete every transcription, keep every instrument

Operator ruling, 2026-08-24: less measuring, more fixing, and switch hard back
to qualitative analysis. Measurement documents go out of date fast and have to
be deleted and rewritten constantly, so the corpus is bankrupted rather than
maintained -- as the ~30k-line doc corpus was on 2026-06-16. History keeps it.

WHAT IS DELETED: 164 files, 44,736 lines under docs/probes/ -- every .md board,
every .tsv/.json/.txt/.log/.gz capture. WHAT SURVIVES: all 31 committed .sh/.py
instruments, untouched.

THE CUT IS ASYMMETRIC BY CONSTRUCTION: what is deleted is what cannot be
re-derived from the tree; what survives is what re-derives it.

WHY, with the receipt that priced it. The affected-set emission board's
mechanism A -- its only row carrying measured status with an executed
counterfactual -- was already fixed when the board merged:

  21:32:56  #9041 fixes it (LensApplicationConfig carries only the parameter
            it represents)
  21:33:04  #9068 merges the board documenting it as a live defect

Eight seconds. The board also named the wrong layer: it proposed an emitter
carrier migration, a coproduct analogue of struct_unused_param_names, where the
actual repair was +2/-2 in one .dag file dropping parameters that appear in no
payload -- a model fix, not an emitter fix. Mechanism B on the same board is
independently stale (smart-ram-730). Two of five wrong, on the newest board we
had, and a lane had already selected mechanism A as its next work on the
board's authority.

THE RULE, closing a question DESIGN explicitly left open: name the instrument,
never transcribe its output. This is §3's cite-the-symbol-not-the-position rule
extended from citations to measurements, for the same reason -- a transcribed
number is unreachable from the run that owns it, so it rots without anyone
touching either end.

WHY THE INSTRUMENTS SURVIVE, since one census argued otherwise. Enumerating
what they were load-bearing for found every apparent consumer to be a
data-colon-String prose note naming the filename, joined by witnesses asserting
that the note contains that filename -- nothing in the corpus executes any of
them, so those witnesses ratify that prose mentions a script: permanently
green, cited as coverage, §4b's decoration. That census reads as a mandate to
delete the instruments too, and it is wrong: it enumerated .dag consumers, and
the real consumers are lanes. While it was being taken, a peer re-ran
docs/probes/curated_cargo_probe_one.sh and re-derived the emission board's
headline from source. Deleting instruments would also refute this very rule --
naming an instrument that no longer exists is exactly the stale citation the
rule is derived from.

WHAT THIS DOES NOT CLAIM. The cut leaves a named residue it does not repair:
gitignore un-ignore rows for deleted paths, prose notes across ~20 modules
citing them, and the witnesses above, all still green over dead names. That
residue is the next cut, not a gap this one closes. DESIGN.md is NOT
regenerated here -- dag/gunbc/design_document.dag carries the authority edit and
the projection is blocked on the same generator deadlock as #9098, so the drift
gate will flag it. Declared, not hidden.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DRMbwdtHZxTiMNZD5WLS3P

* Delete the instruments too: an ad-hoc script is unmodeled realization

Operator ruling, 2026-08-24: "we shouldn't have adhoc scripts in the repo -
those would need to be written in .dag if they were really needed."

This completes the cut. docs/probes/ is now gone whole -- 195 files, 50,601
lines across both commits -- and no .sh or .py survives anywhere in the
repository outside .githooks.

THE REASON IS §6, NOT SCOPE. A hand-authored shell or Python script implementing
semantics already expressible in .dag is unmodeled realization, one of §6's named
scaffold tells. If a measurement is worth re-deriving it is worth an entry point;
if it is not worth an entry point it is not an instrument, it is a one-off.

IT ALSO RESOLVES THE RULE RATHER THAN EXEMPTING IT. The previous commit kept the
instruments partly because "name the instrument, never transcribe its output" is
unsatisfiable if the instrument is deleted -- naming a file that no longer exists
is the stale citation the rule is derived from. Under this ruling the thing named
is a .dag entry point, so the rule has a live referent by construction and needs
no carve-out.

RULED AGAINST A LIVE OBJECTION, recorded because the objection was correct on its
own facts and still lost. A peer had re-run docs/probes/curated_cargo_probe_one.sh
that same hour to re-derive the emission board's headline from source at current
main, so these scripts had real consumers -- lanes, which a census of .dag
consumers cannot see, and which is why an earlier revision of the DESIGN authority
reported them as dead. The ruling does not deny that consumer. It denies that a
stray script is the right carrier for it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DRMbwdtHZxTiMNZD5WLS3P

* Declare the capability drop the bankruptcy makes, not only the artifacts it deletes

Raised by smart-ram-730 against #9132, and correct: the PR declared deleted
ARTIFACTS and was silent on a deleted CAPABILITY. Those are different facts and
§4b(3) obliges a cut to declare the second.

WHAT IS GONE: the only executable route to a self-host emission board
measurement. Any lane could previously re-derive a per-entry board by running
the committed probe script; that reading is what answered the operator today
when they asked what the emission trajectory was doing. No .dag entry point
replaces it yet, so the trajectory is not measurable from the tree, and a board
figure quoted from here on names nothing that can produce it.

RESTORATION TRIGGER: a .dag entry point that emits, assembles and compiles one
entry and returns the coded-diagnostic population, cited by name wherever a
board figure is quoted. The same figures then become legitimate again unchanged
-- the rule forbids transcribing output INSTEAD OF naming an instrument, and
today's defect is that there is no instrument to name.

WHY THE ROW IS THE ONLY MECHANISM. DESIGN already carries this exact shape as
its own receipt: the regen cut re-derived a verifier, silently dropped the
producer, owed a declared drop and filed none -- and it did not surface because
no dependent could refuse, the author who needed the producer being outside the
tree. Same here. The corpus contains nothing that breaks when the board becomes
unmeasurable, because the consumers are lanes rather than modules -- the
identical blind spot that made a .dag-consumer census report these instruments
as dead a few hours ago. Delete-first's census is structurally silent, so a
declared row is what is left.

Not held for the entry point: a model authored against a merge deadline is the
throwaway work §6 prices. The script survives in git history, so whoever models
it has the spec. smart-ram-730 takes the entry point as follow-up.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DRMbwdtHZxTiMNZD5WLS3P

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@briansrls briansrls closed this Aug 25, 2026
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.

1 participant