Canonical rules-file ordering is writer-enforced, not hook-enforced #53
Labels
No labels
P0
P1
P2
P3
bug
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#53
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Map: #49
Question
How does .dochygiene-rules.json stay visually grouped by lifetime tier so the human can read it without mentally sifting — a post-command hook, or something simpler?
Resolved: writer-enforced canonical ordering, no hook. Every code path that serializes .dochygiene-rules.json writes it grouped by lifetime tier (delete-once-served, temporary, keep;
nominationskey afterrules), sorted by glob within each group. Idempotent; no drift window between a command finishing and a hook firing; nothing besides the plugin writes the file today, and hand edits re-canonicalize on the next write. A post-command hook was considered and rejected as more moving parts for the same result. Decided in wayfinder charting 2026-07-15.