crc-refactor domain census: deterministic placement candidates from the top-level listing #1092
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
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
rule-proposal
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#1092
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?
Problem
The top level of
plugins/os-sdlc/lib/os_sdlcholds 35 directories and 60 files.Two-word names hide domains.
Seven entries start with
crc_.Three entries start with
command_.Two entries start with
loud_.Six two-word files have a first word that already names a top-level concept:
project_shell,lint_output,agent_type,verdict_outcome,design_placement,handoff_content.Three files share a subject with no home:
test_output,retired_test,diff_test_plan.Project::TestandProject::Test::Candidatesform a Suite domain with them.The CRC ledger rules one file at a time against a job sentence.
It never reads the listing as a whole, so it did not emit these moves.
The collaborator pass then measured eleven root-family data clumps.
Those clumps are symptoms of the missing
Crc::namespace.Reproduce
n/a: design ticket
Approach
A deterministic script reads the top-level listing and emits placement candidates.
The script uses no model.
It never moves a file.
Rule (a): two or more entries share a first word. That is a candidate namespace.
Rule (b): a two-word entry whose first word is an existing one-word top-level concept. That is a candidate move under that concept.
Rule (c): entries share a last word and no matching concept exists. That is a candidate new domain.
The ledger agent confirms or refuses each candidate with a job sentence. The verdict is the existing move verdict.
The census runs after every batch of moves.
It also runs as a gate at the start of
/os-sdlc:crc-refactorand/os-sdlc:collaborator-pass.Candidates present means placement goes first.
Required work:
bin/crc-census(or acensussubcommand of the crc bins) emits candidates as TSV: rule, entries, proposed namespace. check: presentcandidateinplugins/os-sdlc/lib/os_sdlc/crc_census/**/*.rbcensusinplugins/os-sdlc/skills/crc-refactor/SKILL.mdcensusinplugins/os-sdlc/skills/collaborator-pass/SKILL.mdOrchestrator work: apply the confirmed moves through
/os-sdlc:crc-refactorin green batches.Batch order:
Crc::,Command::,Loud::,Suite::{Config,Candidates,Command,Output,Retired}, then the six singleton moves.Acceptance criteria
lib/os_sdlc, when the census runs, then it emitscrc(7 entries),command(3), andloud(2) as namespace candidates.lib/os_sdlc, when the census runs, then it emitsproject_shell,lint_output,agent_type,verdict_outcome,design_placement, andhandoff_contentas move candidates under their existing concept.lib/os_sdlc, when the census runs, then it emitstest_output,retired_test, anddiff_test_planas a shared-subject candidate.Owner sketch
Non-goals
Origin
plugins/os-sdlc/skills/collaborator-pass/SKILL.md)Resolution
Done: crc-placement domain census wired as a gate into crc-refactor (Phase 0, after each Phase 5 wave 4 batch) and collaborator-pass (before measure)
Evidence: commits
fb2be025,ceda461d,dacec83d,b3026679Follow-ups: none