Skip to content

Main-red hotfix: stale roster row from #7060 + stale script-module import orphaned by #7064 - #7079

Merged
briansrls merged 5 commits into
mainfrom
hotfix/meta-exec-roster-row-7060
Jul 22, 2026
Merged

briansrls merged 5 commits into
mainfrom
hotfix/meta-exec-roster-row-7060

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Main ci has been red since ~16:33Z. This PR fixes FOUR independent latent breaks behind it — all cross-lane merge artifacts from today's batch, surfaced layer-by-layer because the floor stops at the first failing batch (each fix exposed the next).

Fix 1 — phantom witness (batch 2, every main push red). #7060 moved scanner_clean_tree_meta_exec_holds_on_rostered_corpus to the long lane and deleted the fn from the old entry file, but the explicit CommitWitnessClaim roster row in dag/gunbc/commit_workflow.dag still enrolled it ('no main function found', e.g. main run 29940402396). Fix: roster row keeps only the fixture-scan witness still living in the entry file.

Fix 2 — unresolved import (batch 1 on wide-closure PRs). #7000 added host_runner_memory_cap_verify consuming fleet_show_effective_read_script; #7064 (branch predating #7000) deleted that module. Latent on main (push runs skip compile-clean on empty diff observation). Fix: the three memory-prop reads route through the typed systemctl_show_property_read_local seam (slice1 precedent), constructing RunnerUnitLiveReadRow → runner_unit_live_read_typed — the local-transport mirror of fleet_runner_unit_memory_live_read. Fail-closed behavior preserved.

Fix 3 — generated-artifact drift (batch 4, latent behind batch 2). #7071 hand-added an in-flight snapshot paragraph directly to generated ROADMAP.md (in no authority carrier — silent-ibex-417 notified to re-land it authority-side if wanted), and ci.yml carried a stale trailing blank line. Fix: both files regenerated byte-identical to generated_artifact_gate main_wet output, run locally by execution.

Fix 4 — layering gate cannot resolve (batch 4, latent behind batch 2). The gate transport's 13-source scoped run red with 'unresolved type LayerPrefix' — layering_imports.dag referenced it bare and nothing in the scoped closure pulls v2.std.layer (whole-tree pool masks this everywhere else). Fix: explicit import completes the closure by construction; the gate now executes.

REMAINING KNOWN RED (main-side, routed, NOT this PR's content): with Fix 4 the layering gate finally executes — and returns false on 7 violations that are ALL false edges from #7060's reference-derived producer: import-less std files' prelude bare names (List/fold/concat/Present class) misattributed to extdeps.color.srgb, extdeps.gitignore, v2.compiler.discovery_enumeration. Zero textual imports exist in any flagged file (verified); the files have been import-less for weeks, so this shipped inside #7060 and was never executed post-merge. Routed as dashboard work item adhoc-a7ae8a39-774 (owner sharp-bee-290). Until that lands, batch 4 reds on every PR floor including this one — operator judgment on merging this PR's four fixes on the partial green (batches 1–3 + drift gate) vs waiting.

🤖 Generated with Claude Code

Brian Searls and others added 2 commits July 22, 2026 17:41
#7060 moved scanner_clean_tree_meta_exec_holds_on_rostered_corpus from
scanner/planted_leak_test.dag to test/claim/long/meta_exec_confinement_clean_tree_test.dag
(excluded from per-PR discovery by dir grain, per its long-lane note), and deleted
the fn from the old file — but the explicit CommitWitnessClaim roster row in
gunbc.commit_workflow still enrolled it against the old entry on the
GithubActionsCiJob surface. Every main ci run since #7060 merged (16:33Z) fails:
'runtime error: no main function found' on that witness (e.g. run 29940402396),
and the 17:23Z affected-set-falsifier red is the same root.

Fix: the roster row keeps only the fixture-scan witness that still lives in the
entry file (scanner_planted_meta_exec_leak_detected_holds), completing #7060's
stated fast-lane/long-lane split. No other roster row references a moved fn
(layering long-lane test checked clean).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…wProperty (#7064 deleted its script module)

#7079's own ci run exposed the second latent break: #7000 (merged 15:59Z) added
host_runner_memory_cap_verify consuming fleet_runner_unit_memory_props_read_script;
#7064 (16:33Z, branch predating #7000) deleted that script module without seeing
the new consumer. Main pushes skip the compile-clean gate ('no touched paths in
diff observation'), so the unresolved import is latent on main and reds any PR
whose affected shard closure reaches this file — including this hotfix
(run 29943428156: 'module gunbc.fleet_show_effective_read_script not found').

Fix follows #7064's own dissolution: the three memory-prop reads route through
gunbc.systemctl_show_read.systemctl_show_property_read_local (MemoryMax /
MemorySwapMax / MemoryHigh, slice1 precedent — LocalShell on-host semantics
preserved), constructing RunnerUnitLiveReadRow directly and typing via
runner_unit_live_read_typed — mirror of fleet_runner_unit_memory_live_read with
the local transport (one shape, N transports). Absent reads still fold to none →
the existing typed Refused arm. Verified by execution: the entry closure compiles
with zero unresolved-import hard diagnostics (the class the gate reds on).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gunbai-bot gunbai-bot Bot changed the title Main-red hotfix: drop stale roster row for witness moved to long lane by #7060 Main-red hotfix: stale roster row from #7060 + stale script-module import orphaned by #7064 Jul 22, 2026
Brian Searls and others added 3 commits July 22, 2026 18:56
…-red)

generated_artifact_drift_gate_passes has not executed on main since #7060 merged
(every floor died at batch 2 on the phantom witness before batch 4), letting two
stale artifacts through:

- ROADMAP.md: #7071 hand-added an in-flight lane snapshot paragraph directly to
  the generated file; it exists in no authority carrier (roadmap_authority/
  roadmap_document grep: 0 hits), so regen drops it. If the snapshot is wanted,
  it re-lands as an authority-side row (silent-ibex-417 notified).
- ci.yml: trailing blank line vs regenerated output (the known trailing-newline
  drift class).

Both files are byte-identical to generated_artifact_gate main_wet output on this
head, run locally by execution (ExitSuccess, receipts above).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…losure resolves

The gate transport (run_clean_tree_gate, 13-source scoped run over
witness_layer_roots) red with 'unresolved type LayerPrefix' — layering_imports.dag
referenced LayerPrefix and its variants bare, and nothing in the scoped closure
pulls v2.std.layer (the whole-tree pool masks this everywhere else). Explicit
import completes the closure by construction; the gate now executes.

NOTE: the gate then returns false on 7 violations that are all FALSE EDGES from
the #7060 reference-derived producer (import-less std files' prelude bare names
— List/fold/concat/Present class — misattributed to extdeps.color.srgb /
extdeps.gitignore / v2.compiler.discovery_enumeration; zero textual imports in
any flagged file). That defect is routed separately; it is main-side, not
introduced by this PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…er-row-7060

# Conflicts:
#	dag/gunbc/host_runner_memory_cap_verify.dag
@briansrls
briansrls merged commit 6cef966 into main Jul 22, 2026
1 of 2 checks passed
@briansrls
briansrls deleted the hotfix/meta-exec-roster-row-7060 branch July 22, 2026 19:59
briansrls pushed a commit that referenced this pull request Jul 22, 2026
…aph, authority-side since #7081/#7008) (#7082)

The #7079 squash carried the ROADMAP regen from BEFORE the snapshot paragraph
landed authority-side, so main's committed artifact is one regen behind its
authority. Byte-identical to generated_artifact_gate main_wet output on this
head (ExitSuccess).

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
briansrls pushed a commit that referenced this pull request Jul 22, 2026
…ipts in the operator TODO

#7079's branch predated #7081, so its drift cleanup hand-deleted the
silent-ibex-417 paragraph from the generated ROADMAP.md while #7081 had
just re-homed that paragraph into roadmap_authority.dag - post-merge
main drifts the opposite way (authority has it, committed md does not)
and the drift gate reds the next main run that reaches batch 4. This
regenerates ROADMAP.md from the authority, closing the drift.

Sheet updates: wave-red receipts row (drift-gate red healed by #7081;
stale CommitWitnessClaim roster row from #7060 hotfixed by #7079 incl.
the #7064 orphan; the third collision above), the stale-roster
stabilization-loop instance, and #7076/#7008 marked merged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016fdkaGGLUKpLRwwqxp5sLg
briansrls added a commit that referenced this pull request Jul 22, 2026
… + wave-red receipts and CI-ergonomics lane on the operator TODO (#7083)

* roadmap: heal the #7079-reopened ROADMAP drift + record wave-red receipts in the operator TODO

#7079's branch predated #7081, so its drift cleanup hand-deleted the
silent-ibex-417 paragraph from the generated ROADMAP.md while #7081 had
just re-homed that paragraph into roadmap_authority.dag - post-merge
main drifts the opposite way (authority has it, committed md does not)
and the drift gate reds the next main run that reaches batch 4. This
regenerates ROADMAP.md from the authority, closing the drift.

Sheet updates: wave-red receipts row (drift-gate red healed by #7081;
stale CommitWitnessClaim roster row from #7060 hotfixed by #7079 incl.
the #7064 orphan; the third collision above), the stale-roster
stabilization-loop instance, and #7076/#7008 marked merged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016fdkaGGLUKpLRwwqxp5sLg

* falsifier green: nfr roster burn-down (3 rows) + CI-ergonomics lane on the operator TODO

Rosters the 3 unrostered non-fold-residue sites that have kept the
scheduled cold falsifier red since 2026-07-16 (alert #7032), each with
its class reason and dissolution trigger per the #6691 shape:
host_converge_slice1 host_result_all_valid / host_result_applied_count
(legacy-result-bridge projections, #7009) and host_hygiene_reaper
action_kills_build_cache_server (two-axis discriminating predicate,
#7026). Receipts: nfr_roster_receipt unrostered=0 stale=0 (was red with
exactly these 3 sites before the edit - the discriminating control),
non_fold_residue_clean_holds evaluates true by execution, fmt clean.

Sheet: falsifier row marked landed, wave-reds row credits #7082 for the
drift close, new CI-ergonomics lane row (operator ask 2026-07-22) under
item 2. ROADMAP.md regenerated via main_wet at the fixed point.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016fdkaGGLUKpLRwwqxp5sLg

---------

Co-authored-by: Claude <noreply@anthropic.com>
briansrls added a commit that referenced this pull request Jul 22, 2026
Replayed commits had reverted host_runner_memory_cap_verify and ROADMAP
drift fixes from main; rebase resolves those by keeping upstream versions.
Dedupe v2.std.layer import in layering_imports.dag.

Co-authored-by: Cursor <cursoragent@cursor.com>
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