You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
shape-doctor.py: the placement row asks a leg's top-level single-repository.yaml the staying-single record's question by its name alone, so a file that declares kind: release-config is told it records that the repository stays single, on every run of a project adopted before #617 #691
Goal: the doctor asks a leg's single-repository.yaml the record's question only when the file IS the record, as adopt-project.py plan does.
Filed by lane openRepoShape-3 on Brett Heap's word of 2026-10-16T12:24:41Z ("give #460 to lane 3").
Size: S. Lands after:#655, which changes the same row (audit_leg, answered_questions).
What happens (in-process probe on main d4a7fab: a code leg holding single-repository.yaml with kind: release-config and src/main.c, run through the doctor's audit_leg):
With no answered_paths: row, the row asks the record's question:
it says review_required: 1, rule: ambiguous-single-repository-record and classified_as: null;
the question reads "This file records that the repository stays a single repository ... Drop it (drop, the default ...";
--placement-plan writes the same entry, because placement_plan_text builds from the row.
plan asks the general top-level-YAML question of the same file, because ask_about_a_record_only reads its kind:.
execute now records the answer under answered_paths:, and the row then lists the file as answered. The probe's answered_path_record writes - path: "single-repository.yaml" leg: code.
That answered entry still carries rule: ambiguous-single-repository-record.
adopt-project.py:1701-1734: RECORD_RULE and ask_about_a_record_only.
scripts/shape_advisory.py:646: read_record, which takes a path or a Tree.
contracts/path-classification.yaml:443-446: the comment saying the doctor reads the leg's copy as a question, by name.
The change:
In audit_leg, where the walk gave a top-level single-repository.yaml the record rule, call shape_advisory.read_record(<mount>). Unless the result is RECORD_SILENCES, reclassify that entry with policy.classify_file(path, skip=(adopt.RECORD_RULE,)), as ask_about_a_record_only does.
An answered entry then names the general rule.
Change the comment at path-classification.yaml:443-446 to match.
Change only the doctor. adopt-project.py is held by lane 1's claims.
CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-16T13:08:53Z, for #691
Logged in lanes/log/openRepoShape-3.md at 45095062d91987d0566f5c7012450b84fe73dafa.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoShape#691:
none
2. `gh pr list --repo opensoft/openRepoShape --state all --search "#691"`, kept where the row or its body names `#691`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `691` as a whole token:
none
Activity
brettheap commentedon Oct 16, 2026
CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-16T13:08:53Z, for #691
Logged in
lanes/log/openRepoShape-3.mdat45095062d91987d0566f5c7012450b84fe73dafa.The three reads (lane-collision-protocol Rule 1):
shape-doctor.py: the `placement` row calls `adopt-project.py`'s own `…