fix(scan): carry the partition in both census passes, and PHP completes 120 of 127

The scoping fix looked applied and was not. The same census gap is raised in TWO passes, arbitration
and evidence, and only the first carried the partition it came from, so an unscoped copy kept
demoting every question in the repository. One key in one dict.

What found it was the record, not the code: the census now prints each outcome reason rather than
only its status, and three separate causes had been looking identical as a bare count of unresolved.

Measured on Paid Memberships Pro at 25 regions: questions completed goes from 0 to 120 of 127, with
its 19 findings unchanged. The seven still unresolved are the JavaScript partition own questions,
which is correct, because the four missing files are its files and its answers are the ones that
could be wrong.

Still open, and recorded rather than implied: the push policy _blocking_degradations exempts declared
exclusions but does not yet respect a partition, and a post-hoc diagnostic copy carries no language,
so a JavaScript gap would still block admission of a PHP finding.

1,419 tests pass, eighteen skipped.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
Marius Ciepluch
2026-09-21 13:45:00 +02:00
co-authored by Claude Opus 5
parent 29cef32bac
commit d105d2f84a
3 changed files with 25 additions and 3 deletions
+4 -1
View File
@@ -812,7 +812,10 @@ def _evidence_pass(
{
"stage": "model",
"reason": "cpg_empty" if "methods" in entry and methods <= 0 else entry.get("census_failure", "cpg_empty"),
**{k: entry[k] for k in ("methods", "files", "missing_file_names") if k in entry},
# The partition travels here too. This pass raises the same gap as the arbitration pass,
# and carrying the language in one place and not the other left an unscoped copy that
# demoted every question in the repository -- the scoping fix looked applied and was not.
**{k: entry[k] for k in ("methods", "files", "missing_file_names", "census_language") if k in entry},
}
)
if shards > 1: