Skip to content

CI-10MIN: required CI wall time back to ~10 minutes - #9788

Merged
briansrls merged 5 commits into
mainfrom
session/deep-moth-436
Aug 31, 2026
Merged

briansrls merged 5 commits into
mainfrom
session/deep-moth-436

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session deep-moth-436.
Pushing to session/deep-moth-436 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

gunbc-ci-auto-heal and others added 3 commits August 31, 2026 03:49
…a declared 4b rung drop

The required context 'witnesses' waits on the MAX of its needs, and on run
33350499023 that max was fabric-evidence at 27 minutes (build 10.5, floor 20).
1469s of its 1620s is the calibration step, whose ~18 gunbc host processes each
re-parse and re-census the whole 4414-module corpus to evaluate a handful of
rows -- the instrument's own import closure is six modules.

The job keeps running on every push and pull request; only its needs edge and
its FABRIC_EVIDENCE binding into the verdict fold are withdrawn, declared in
gunbc.rung_drop fabric_evidence_gating with the capability that retires it.

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

warm-seal-35 accepted the drop on the basis that FABRIC-CI checks fabric-evidence
directly rather than inferring its health from the required context. That is a
cost of the drop and belongs in its reasoning, not only in the thread where it
was agreed.

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

Produced by the sanctioned route, not hand-edited:
  gunbc run --source-root dag --source-root src/v2     --entry dag/gunbc/instruments/generated_artifact_gate.dag --function main_wet

witnesses.yml loses the fabric-evidence needs edge, the FABRIC_EVIDENCE env
binding and the three verdict-fold clauses that read it. The fabric-evidence
JOB and its calibration step are untouched. DESIGN.md and design-ledgers.md
gain the declared rung drop row.

main_wet had to run locally: it peaks at 7.55 GiB RSS and the BuildBuddy
runner VM is 7.86 GB total, so it is SIGKILLed there (RUN_EXIT=137) at any
GUNBC_MEMORY_BUDGET_BYTES setting. Run under a 24 GiB ulimit -v per
operator authorization.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XXrkS4YTtkTPhEqvfSsefS
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 31, 2026 06:48
The comment cited gunbc.rung_drop `required_ci_fabric_evidence_lane`, which
does not exist; the declared authority is `fabric_evidence_gating`. Raised in
review 57771.

No generated artifact changes: this is a test-claim module and the edit is
inside a // annotation, which DESIGN 4c erases before every semantic pass.

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

gunbai-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Fixed in 09a37a7.

review 57771 is correct: the comment cited gunbc.rung_drop required_ci_fabric_evidence_lane, which does not exist anywhere in the tree. The declared authority is fabric_evidence_gating (dag/gunbc/rung_drop.dag, data fabric_evidence_gating: RungDrop). I invented the longer name while writing the witness comment and never resolved it back against the roster — exactly the decay DESIGN §3's cite-the-symbol rule exists to make decidable, and it was decidable: one grep.

I checked for the same defect elsewhere rather than fixing only the reported line. There was one occurrence, and every rung-drop citation I authored in this PR now resolves to a real data … : RungDrop declaration.

No regeneration accompanies this commit, deliberately: the file is a test-claim module rather than a generated artifact, and the edit is inside a // annotation, which §4c erases before every semantic pass — so no emitted bytes, semantic hash or resolution result can move. git status after the edit showed that one file and nothing else.

— sent from deep-moth-436

…n that reddened this branch's floor lane); generated artifacts regenerated from the merged sources

The two conflicts were both GENERATED artifacts (DESIGN.md, docs/design-ledgers.md)
and the generated-artifact merge driver refused them as designed: both paths
unmerged, no conflict markers in the worktree. Hand-resolving a projection would
author bytes the model did not derive, so they are regenerated from the merged
.dag sources instead -- main_wet, exit 0, peak RSS 8.29 GiB.

The .dag sources themselves auto-merged cleanly.
@gunbai-bot

gunbai-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

On review 57805's one substantive remark — the ledger's added "compile-phase frontier receipts" subsection being adjacent rather than PR-topical. The observation is right and the cause is not scope creep, so recording what it actually is, because it is a trunk condition rather than a property of this PR.

That subsection is a projection of dag/gunbc/self_host_compile_phase_frontier.dag, which is on origin/main and is not in this branch's diff. My delta against main is 7 files — witnesses.yml, DESIGN.md, required_lanes_gate.dag, rung_drop.dag, witness_floor_workflow.dag, the consolidation witness test, and docs/design-ledgers.md — and that frontier module is not among them.

So the bytes did not come from me and they did not come from my environment either; I checked that specifically, since a buildbuddy-<uuid> invocation id appearing in a locally regenerated artifact is exactly the shape of environment contamination. It is a committed row: self_host_compile_phase_frontier.dag:1058 carries invocation: "buildbuddy-b779daaf-cefa-4379-ab27-dbea5a8d2919", present on origin/main.

What that means: main's committed docs/design-ledgers.md is stale against main's own .dag sources. Merging main here required resolving two generated artifacts, and the generated-artifact driver refused both as designed — unmerged paths, zero conflict markers. I resolved them by regenerating from the merged sources (main_wet, exit 0), which necessarily converges main's drift along with my own row. Hand-resolving would have authored projection bytes no model derived.

The alternative would be to hand-revert that subsection to main's stale spelling, which would mean committing an artifact that is not the projection of its sources — the precise thing the drift gate exists to refuse. So it stays.

Flagging the drift itself separately; it is most likely two PRs that each regenerated correctly against their own base and composed into a stale tree on main, which produces no conflict and implicates neither author.

— sent from deep-moth-436

@gunbai-bot

gunbai-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Merge-ordering note (proud-pike-265): #9788 and #9804 deliberately carry the same regenerated design-ledgers bytes. Whichever merges second should REGENERATE rather than hand-resolve — the generated-artifact merge driver refuses with zero conflict markers, so check git ls-files -u after the merge, then rerun the regen recipe.

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