Update prose and generated design files that still name Boot #1686
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#1686
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
Live prose and generated files in os-sdlc still describe
OsSdlc::Bootand the old "no .sdlc/project.yaml found" text.The session deleted
Bootand moved every command to Thor (OsSdlc::CLI,CLI::PipelineScript,OsSdlc::Hook).A reader or an agent that follows this text looks for classes and messages that no longer exist.
Observed
lib/os_sdlc/boot.rbdoes not exist onmain(commit031244657).These sites are stale; paths are from the repository root:
docs/architecture/os-sdlc-profile.md:32("Entry points" section). It says bin and hook scripts "boot throughOsSdlc::Boot(plugins/os-sdlc/lib/os_sdlc/boot.rb) ... command table (controller/boot/commands.rb)" and "bin/evidencedoes not useBoot".plugins/os-sdlc/skills/setup-project/SKILL.md:2(frontmatterdescription). It says:Trigger on the "no .sdlc/project.yaml found" error.no .sdlc/project.yaml at or above <dir>(lib/os_sdlc/cli/invocation.rb:43,lib/os_sdlc/hook.rb:62,lib/os_sdlc/system_model/cli.rb:87) andno .sdlc/project.yaml at <root>; no database to connect(lib/os_sdlc/project/unconfigured.rb:13).lib/os_sdlc/project/root_search.rb:33andlib/os_sdlc/lint/remediation.rb:6. The trigger must name both forms.plugins/os-sdlc/design/generated/*(tracked; last regenerated 2026-11-06, commit8ac4f3052). These files name the deleted classes:lib_os_sdlc_boot.c4(69 mentions),lib_os_sdlc_boot_inputs.c4(19),lib_os_sdlc.c4(10),lib_os_sdlc_system_model.c4(3),lib_os_sdlc_fast_gate_new_offense_report.c4(1).journeys/census_a_ruby_project.c4(24),journeys/read_the_next_pipeline_instruction.c4(15).facts.json(371 mentions ofBoot).OsSdlc::HookorOsSdlc::CLIelement, so they are older than the whole Thor move.system-model buildwrites them (lib/os_sdlc/system_model/writer.rb).docs/lint-lessons/analyses/sdlc-sequel-registry-outside-entry-point.mdlines 88, 99, and 107. They still describe the deleted registry check and thebootpaths (**/os_sdlc/boot.rb,**/os_sdlc/boot/**/*, "Boot is the entry layer", "#1381 replaced ... with the Boot entry layer"). Ruling 134 deleted that check.Left out on purpose:
plugins/os-sdlc/lib/os_sdlc.rb:3(# Boot (ADR-0166): every bin/ script and hook needs this pinned ...). ADR-0166 is titled "... loaded through one boot file". The comment names that boot file and not the deleted class, so it is still true.docs/implementation-status/,docs/crc/,docs/research/,docs/handoffs/,docs/system-design-format/, andplugins/os-sdlc/eval/ticket-takedown/casesandresults. These are records.plugins/os-sdlc/CLAUDE.mdand.claude/rules/os-sdlc-architecture.mdhold noBootword onmain.Reproduce
n/a for the setup-project trigger: run any
os-sdlc-*script outside a project.Approach
Edit the prose and regenerate the generated files.
Required work:
docs/architecture/os-sdlc-profile.mdto describe Thor entries:OsSdlc::CLI,CLI::PipelineScriptsubclasses (one perbin/os-sdlc-*script), andOsSdlc::Hook(one method per hook script) — check: absentOsSdlc::Bootindocs/architecture/os-sdlc-profile.mddescriptiontrigger ofsetup-projectto name the current messages:no .sdlc/project.yaml at or aboveandno .sdlc/project.yaml found— check: presentat or aboveinplugins/os-sdlc/skills/setup-project/SKILL.mdplugins/os-sdlc/design/generatedwithsystem-model build— check: absentOsSdlc::Bootinplugins/os-sdlc/design/generated/facts.jsonNon-goals (optional)
Rewording of ADR bodies and History rows.
Rewording the
lib/os_sdlc.rb:3comment.Origin
Boot(commitb2187b6dc) and listed the stale text as follow-ups.Boot← the Thor move deleted the class but changed no prose outsideplugins/os-sdlc/CLAUDE.md← no check ties prose to class namesVERDICT: CREATE
REASON: Live docs and the setup-project trigger name a class and a message that no longer exist; no open ticket covers it.
Resolution
Done: The profile entry-points paragraph, the setup-project trigger text, and the lookup-by-id lesson analysis describe the Thor entries. design/generated was regenerated with 'bin/system-model build .'; facts.json has 0 Boot matches and the two boot .c4 files are gone.
Evidence: Commits
62f81fd06,436737d85,ed32f37c0on main. Suite: 5326 runs, 0 failures.Follow-ups: Dropped: Boot remains as a sample string or history in docs/lint-lessons/analyses/sdlc-structural-exit-outside-entry-point.md:97, sdlc-structural-own-entry-point-spawned-in-test.md:113, and docs/plans/class-length-family/sdlc-cop-audit.md:49; these are examples and records. Dropped, reported to Jared: the directory table of docs/architecture/os-sdlc-profile.md (model/, pipeline/, controller/, adapter/, query/) names a layout that no longer exists; that is older than this work and belongs to a doc-hygiene check.