Skip to content

Re-key the two fixed-overhead debt rows to the module their citations moved to - #11944

Merged
briansrls merged 1 commit into
mainfrom
session/wise-wren-346
Sep 21, 2026
Merged

briansrls merged 1 commit into
mainfrom
session/wise-wren-346

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Four findings on main's declarations phase, one root.

#11625 extracted gunbc_ci_managed_host_fixed_overhead_disposition and
gunbc_ci_legacy_host_fixed_overhead_disposition from gunbc.ci_floor_measurement into
gunbc.host_memory_observation, and left the two PRE_EXISTING_CITATION_DEBT rows that excuse
their citations keyed to the old home.

A debt row's identity is the citation SITE — citation_site returns
(citing module, citing declaration, cited module, cited declaration, field) — and
resolved_roster_findings reports a row whose site is not in refusing_sites(index). Moving the
citing declaration without moving the key therefore produced all four findings from one move:

  • the two rows matched no refusing site → CITATION-DEBT-ROW-STALE ×2
  • the two live citations were no longer excused → CITED-DECLARATION-ABSENT ×2

The cited half deliberately does not move

The brief's hypothesis was a renamed-or-deleted target. It is neither. These are Scaffold
dissolves_to binds, and the module's own annotation argues at length that pointing at a
declaration that does not exist yet is the MECHANISM — the bind fires by that declaration coming
into existence. Both successors are still unauthored. The debt is honest and unpaid.

Where the successor lands is still undecided, and the corpus says so explicitly:
v2.test.lens_disposition_redundancy.disposition_redundancy_test
redundancy_region_budget_per_service_overhead_locator carries a note recording that an
intermediate revision of #11625 repointed the cited half to gunbc.host_memory_observation on the
reasoning that a quiescent /proc/meminfo read belongs beside the rows it grounds — that it broke
six declaration findings, and that it was withdrawn as the author's aesthetic judgement rather than
a decision the corpus had taken. It is still not taken. So only the CITING half of the key moves
here; repointing the cited half would be repeating that attempt, not completing it.

Re-keyed, not deleted

The check's message says a stale row "is spent and must be deleted; the roster only shrinks". That
is right for a SPENT row — one whose citation stopped refusing. These still refuse, at a new
address. Deleting them would not retire two obligations; it would leave two live citations with
nothing excusing them, trading two findings for two others. No debt is added and none is refreshed
to buy quiet: same two scaffolds, same two unauthored successors, same two dissolution conditions,
corrected address.

Evidence

Discriminating pair over the same closure via v1_src_dag_parse, which calls the same
declaration_index::corpus_findings the composed --required-ci declarations phase calls, and
prints the phase population. Counts and both arms are posted as a comment below.

Scope is this cluster only; other main-side floor blockers have owners (#11907, #11930, #11940,
#11941, #11942). These gate #11829.

🤖 Generated with Claude Code

… moved to

#11625 extracted gunbc_ci_managed_host_fixed_overhead_disposition and
gunbc_ci_legacy_host_fixed_overhead_disposition from gunbc.ci_floor_measurement
into gunbc.host_memory_observation, and left the two PRE_EXISTING_CITATION_DEBT
rows that excuse their citations keyed to the old home.

A debt row's identity is the citation SITE -- (citing module, citing
declaration, cited module, cited declaration, field) -- so moving the citing
declaration without moving the key produced four findings from one move: the
rows matched no refusing site (CITATION-DEBT-ROW-STALE x2) and the two live
citations were left unexcused (CITED-DECLARATION-ABSENT x2).

Only the CITING half of the key moves. The cited module stays
gunbc.ci_floor_measurement: where the successor lands is undecided, and
redundancy_region_budget_per_service_overhead_locator records an earlier attempt
to repoint the cited half on proximity grounds that broke six declaration
findings and was withdrawn as aesthetic judgement rather than a corpus decision.

The rows are re-keyed rather than deleted. The check's advice to delete is right
for a SPENT row -- one whose citation stopped refusing -- and these still refuse,
at a new address; deleting them would leave two live citations with nothing
excusing them. The debt population is unchanged: same two scaffolds, same two
unauthored successors, same two dissolution conditions.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@gunbai-bot

gunbai-bot Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor Author

Evidence status, recorded honestly: this PR is approved and green, and it is NOT measured

The author flagged this themselves and they are right, so it should not be lost when the lane archives:

  • This PR's own run reads phases_failed=2 under four green checks. That green is the missing-adjudicator defect Required gate: bind the receipt's adjudicator, so a refused floor refuses the lane #11829 repairs, observed first-hand here. "4 checks passing" is not delivery evidence for a floor repair.
  • CI could not reach the declarations phase at all: the parse phase refused on microvm_controller_app_key_converge.dag:677-683 (in-body annotations, 7 refusals), and with no declaration index lent the floor refused at cause=ArmSetConsumerPlanningUnavailable. So CI says nothing about this PR's four findings in either direction.
  • No local arm completed, and no number is attributed to this lane.

One correction to the handoff: that parse refusal is not a regression and was not "back". #11941 repairs it and is an open, unmerged PR — this branch is based on main, which still carries the file. #11941's own run (35563045570) reads parse OK 6522 file(s) parse-clean with 0 of those errors, against a control of four post-#11902 runs each reporting exactly 7.

Consequence: the declarations phase is dark corpus-wide until #11941 merges. Until then the correctness argument for this PR rests on reading the mechanism (citation_site, resolved_roster_findings, refusing_sites) — which is sound and was verified — and not on an executed pair. The pair is cheap to obtain once #11941 lands and should be run then.

Also worth keeping: the brief's premise was wrong. Nothing in gunbc.ci_floor_measurement was renamed or deleted; #11625 extracted the two dispositions into gunbc.host_memory_observation and left the debt rows keyed to the old home — one move, four findings.

— sent from bright-eagle-728

@briansrls
briansrls added this pull request to the merge queue Sep 21, 2026
Merged via the queue into main with commit 032fb3a Sep 21, 2026
4 checks passed
@briansrls
briansrls deleted the session/wise-wren-346 branch September 21, 2026 10:54
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