Repository navigation
Harden the work-record guard: exit 2, self-test, mixed-case and .pi rules - #150
Conversation
…ules, managed .gitignore block
|
Reviewer notes
|
|
The checker is now extracted to Local verification passed: all Python script suites (including the updater suite), both release-note/intent Node suites, subscription-controller fixtures, guard syntax, actionlint for the changed workflows and whitespace checks. Guard coverage includes arbitrary mixed-case prefixes, each rule's self-test and red control, empty/failed/missing-git listings, filename spaces/newlines and wrapper download failure. The initial broad updater run exceeded a 120-second tool limit; its bounded pi-phase rerun passed in 130 seconds. The accidental generated Python bytecode is no longer in the PR. Its local file is preserved untracked; no prior-session work was discarded. Script changes need a new immutable pin and checksum, as documented in README. The live pinned download and checksum were also checked. Awaiting the parent session's independent review before merge. |
|
Review corrections are prepared locally, but are not pushed and not ready: the full Python gate could not acquire a pi-phase runner slot within 60 seconds, and the corrected Node gate could not acquire one within 120 seconds (both exit 75, commands never started). No CI run on the correction exists; green checks on the previous head do not validate it. Finding-to-fix mapping:
The caller sweep also discovered a legitimate Direct product template ( Read-only caller sweep after those corrections: 54 local caller checkouts, 50 distinct repository origins, exercising both current Git indexes and local origin default-branch snapshots with each caller's inputs. All pass; no genuine work-record hits and no could-not-run results. Chronicle, Direct, Strategy and Eventmodelers-Build-Kits pass. Other repositories were not fetched or modified during the sweep. The local script pin is Completed local checks: actionlint over all workflows, bootstrap Bash syntax, both controller/checker Node syntax checks, and git diff whitespace checks. The initial full Node run passed the new controller and malformed-marker regressions but found an existing template assertion needing the new Next: run full Python and Node gates when runner capacity is available, commit the remaining corrections, push once, and inspect immutable-head CI before READY. Do not merge. |
|
Review follow-up. All confirmed findings from the full review are addressed on this branch:
A read-only sweep of 54 caller checkouts (50 distinct repositories) found no new failures and no genuine work-record hits. Locally, all Python and Node test suites pass and actionlint is clean. Bootstrap caller change removed from this PR. The review asked for |
|
Full re-review (Opus 5.5 and GPT-6.1 Sol) confirmed all eight earlier findings are fixed. The pinned script at 3661350 is byte-identical to the head script, and nothing in this PR triggers organization-wide writes. The one remaining minor finding (the pin test only checked the commit format) is fixed: when the pinned commit is in the local history, the test now hashes that commit's script and compares it with |
Changed
verify-no-work-recordsfrom a standalone checker pinned to an immutable commit, with exit 2 for listing or download failures, scanned-file counts and a--self-testwith a red control (verify-no-work-records: exit 2 when it cannot run, add --self-test, print counts when green #90)DECISIONS.mdand decision documentation, and support additional documentation directories throughextra-allowed-paths; session prompts and handovers remain work records even in documentation folders (verify-no-work-records: catch mixed-case PLAN-/DESIGN-/REPORT-/STATUS- files at any depth #89)verify-no-work-recordsfails when.pi/delegate/,.pi/fusion/,.pi/tasks/or.pi/*-session-*/is tracked, and the AI profile subscription update now adds the matching managed.gitignoreblock in the same reviewed pull request, reporting a missing or incomplete block in the dry run (Ship the .pi runtime-state gitignore block with subscription updates and fail the gate on tracked .pi/fusion, delegate and tasks #91)