#247 residual: adjudicate lost bindings and apps.ready; make membership-isolation mutation fail #263

Closed
opened 2026-09-11 09:59:50 +02:00 by buildagent · 1 comment
Member

The headline package-anchor fix in #247 is already on master as cbbdc04aba. This issue preserves its unfinished acceptance evidence separately from that implemented behavior.

The commit records a historical census of -252 phantoms, +948 correct bindings and -128 correct bindings. Those are the implementing commit's measurements, not a fresh reconstruction of its before/after census.

Remaining work:

  • Account for the 128 lost correct bindings by source site and supported recovery class, using the actual pre-cbbdc04 and post-cbbdc04 binaries at the pinned corpus heads.
  • Adjudicate the nine apps.ready bindings explicitly left uncounted in that commit; retain exact occurrence identity and target declarations.
  • Replace the surviving M5 membership-isolation mutation in crates/indexer/tests/package_identity.rs with a fixture that reproduces the relevant re-export chain. Mutating membership together with anchor identity must fail its intended test, not merely another gate.

Acceptance: persist the occurrence-level census and source evidence; state unsupported cases explicitly; preserve the Flask url_for module-level target and the Ruby/PHP source-root controls. Do not infer correctness from net resolved counts or synthetic precision_gate results. Do not silently move the protected corpus baseline.

The new Python import-identity work under #246/#250/#251 is a separate comparison against 017c6d8. It must not be cited as having re-run this historical census.

The headline package-anchor fix in #247 is already on master as cbbdc04aba88f89302dc6fedfd2782d010576a5b. This issue preserves its unfinished acceptance evidence separately from that implemented behavior. The commit records a historical census of -252 phantoms, +948 correct bindings and -128 correct bindings. Those are the implementing commit's measurements, not a fresh reconstruction of its before/after census. Remaining work: - Account for the 128 lost correct bindings by source site and supported recovery class, using the actual pre-cbbdc04 and post-cbbdc04 binaries at the pinned corpus heads. - Adjudicate the nine apps.ready bindings explicitly left uncounted in that commit; retain exact occurrence identity and target declarations. - Replace the surviving M5 membership-isolation mutation in crates/indexer/tests/package_identity.rs with a fixture that reproduces the relevant re-export chain. Mutating membership together with anchor identity must fail its intended test, not merely another gate. Acceptance: persist the occurrence-level census and source evidence; state unsupported cases explicitly; preserve the Flask url_for module-level target and the Ruby/PHP source-root controls. Do not infer correctness from net resolved counts or synthetic precision_gate results. Do not silently move the protected corpus baseline. The new Python import-identity work under #246/#250/#251 is a separate comparison against 017c6d8. It must not be cited as having re-run this historical census.
Author
Member

Released in v0.28.2 through #266. The historical acceptance was reconstructed with separate actual binaries at 05a3816 and cbbdc04, using all nine pinned corpus heads. The 379 historical losses classify as 301 false bindings removed and 78 correct coverage losses; this corrects the old 252/128 split. All nine apps.ready sites have exact occurrence/target/source evidence. The 78 coverage losses and four locally derived apps.ready false bindings still present are explicitly recorded as unsupported; the report does not claim they were repaired. The 47 Flask url_for module targets and Ruby/PHP controls are preserved.

The four-crate membership fixture reproduces the relevant re-export chain. The actual M5 membership/anchor-conflation mutation fails that intended test; exact source restoration and normal package-identity tests pass. Native Windows and Linux CI passed, and the published v0.28.2 artifacts and all-nine corpus projections were independently verified. This historical reconstruction is separate from #246's Python before/after comparison.

Historical census and source evidence. Closing the acceptance work requested by this issue.

Release workflow: all 11 jobs passed. The actual published 0.28.2 (76e8967) Linux CLI reproduces the complete nine-repository final projection; both MCP transports and the published-v0.28.1 upgrade checks passed.

Released in [v0.28.2](https://git.h-dv.de/h-dv/code-index/releases/tag/v0.28.2) through #266. The historical acceptance was reconstructed with separate actual binaries at 05a3816 and cbbdc04, using all nine pinned corpus heads. The 379 historical losses classify as 301 false bindings removed and 78 correct coverage losses; this corrects the old 252/128 split. All nine apps.ready sites have exact occurrence/target/source evidence. The 78 coverage losses and four locally derived apps.ready false bindings still present are explicitly recorded as unsupported; the report does not claim they were repaired. The 47 Flask url_for module targets and Ruby/PHP controls are preserved. The four-crate membership fixture reproduces the relevant re-export chain. The actual M5 membership/anchor-conflation mutation fails that intended test; exact source restoration and normal package-identity tests pass. Native Windows and Linux CI passed, and the published v0.28.2 artifacts and all-nine corpus projections were independently verified. This historical reconstruction is separate from #246's Python before/after comparison. [Historical census and source evidence](https://git.h-dv.de/h-dv/code-index/src/tag/v0.28.2/_prdoc/records/issue-263-historical-adjudication.md). Closing the acceptance work requested by this issue. [Release workflow](https://git.h-dv.de/h-dv/code-index/actions/runs/760): all 11 jobs passed. The actual published `0.28.2 (76e8967)` Linux CLI reproduces the complete nine-repository final projection; both MCP transports and the published-v0.28.1 upgrade checks passed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
h-dv/code-index#263
No description provided.