Conversation
The architecture census gate fails on current main, so every active pull request's `test-shard` lane is red for a reason unrelated to its own diff. `scripts/generate_project_registry_io_manifest.py --check` reports eight drifts: two unregistered `codec_read:load_registry` sites and six moved source line metadata entries. Regenerated the tracked manifest from current main and classified the nine direct registry I/O sites the generator could not carry over, each inheriting the classification its module already records: - `loopx/control_plane/goals/deletion_service.py` (six sites) - `global_registry_io`, matching the registry transaction owner in that file. - `loopx/state_backup.py` (one site) - `global_registry_io`, the same category the manifest already records for that module. - `loopx/state_migration.py` (two sites) - `legacy_registry_source`, the category the manifest already records for its legacy reads. No source behavior changes; the manifest is generated state. Signed-off-by: kokokoXUY <13682395396@163.com>
|
Withdrawing this:
Applying this branch's manifest to that base makes the gate red again with two entries the So the drift I reported is fixed upstream and nothing here is needed. I generated this from |
Goal And Delivered Outcome
Gap: the checked-in project registry I/O census is stale against
main, so the architecture censusgate is red and every active pull request's
test-shardlane fails on it for a reason unrelatedto its own diff.
Reproduced on a clean checkout of
420782f03725(no PR content applied):and the gate test fails with the same eight items:
tests/architecture/test_goal_instance_binding_inventory.py::test_goal_instance_inventory_does_not_replace_the_registry_io_census.After:
--checkreportsproject registry I/O manifest is current: 245 sites(exit 0), and bothcensus tests pass. This follows the same chore as chore(semantics): refresh project registry I/O metadata #4990 ("refresh project registry I/O metadata",
"restore the architecture census gate used by active pull requests").
What Changed
One generated file,
loopx/semantics/project_registry_io_manifest_v1.json(+23 −7, 243 → 245sites). The
codec_read:load_registrysites are classified automatically; the nine direct sites thegenerator could not carry over were classified explicitly, each inheriting what its module already
records. I am stating each one so the classification can be checked rather than assumed:
loopx/control_plane/goals/deletion_service.pyread_json×4,atomic_write_json×2)global_registry_ioloopx/state_backup.pyjson.loads)global_registry_ioloopx/state_migration.pyread_json_object)legacy_registry_sourceNo source file changes; nothing about registry behavior, permissions or the codec contract changes.
Scope And Continuation
carries what current
mainproduces; if either lands first, this branch regenerates in one command(
scripts/generate_project_registry_io_manifest.py) and I will re-run it rather than ask for aconflict resolution.
loopx/**source to reduce the number of direct sites,because that is a registry-ownership change rather than a census refresh and does not belong in this
chore.
Validation
staticpassedpython scripts/generate_project_registry_io_manifest.py --check→ exit 0,project registry I/O manifest is current: 245 sites. On unmodifiedmainthe same command exits 1 with the eight drifts quoted above.unitpassedpython -m pytest -q tests/architecture/test_goal_instance_binding_inventory.py tests/architecture/test_project_registry_io_census.py→ 9 passed. Before the refresh the first file's census case fails with the same eight items.unitpassedvalidate_project_registry_io_manifestwith zero drift, and no row is leftunclassified, which the generator treats as a failure.semantics); without them the test fails earlier with
repository npm dev dependencies are not installed ... run npm ci --ignore-scripts, which is anenvironment error rather than drift. I ran it with a local
typescriptpackage installed.Frontend / Visual Evidence
Not applicable: one generated JSON manifest.