takedown-run green-suite rejects a single-target .sdlc/project.yaml that setup-project generates #1236
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#1236
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
os-sdlc project-config <name>(the setup-project skill, step 1) writes a flat single-target.sdlc/project.yaml(keys: name, tracker, path, test_path, test_command, lint_config, test_framework). The skill text says: "A file with no targets: key is the single-target case and needs no flag."But
eval/ticket-takedown/lib/takedown/adapter/project_suites.rb#targetsreads onlyfetch("targets")and raises.sdlc/project.yaml lists no targetswhen the map is absent or empty.takedown-run --livetherefore fails at the green-suite step, after the full design cost has been spent.Observed on finance #26, 2026-10-22: run 26-20261022-1457xx failed with
.sdlc/project.yaml lists no targetsafter $1.05 and 533 s. Workaround applied in finance: project.yaml rewritten in targets shape with one target namedfinance(commit on finance main, "sdlc: targets-shaped project.yaml").Second defect: the default
.gitignorerule.sdlc/hides project.yaml from the exported base commit, givingno .sdlc/project.yaml in <cache>/repo. Two earlier runs failed this way ($3.32 total). Finance now ignores.sdlc/*and un-ignores!.sdlc/project.yaml.Suggested fix
Either:
targetsis absent; orproject-configwrites the targets shape, and the setup-project "needs no flag" sentence is corrected.In both cases, the gitignore guidance should un-ignore
.sdlc/project.yaml.Origin
Session: 35714d85-85f4-4430-a825-ad86fa5f0ba7
Transcript: /home/jared/.claude/projects/-home-jared-projects-finance/35714d85-85f4-4430-a825-ad86fa5f0ba7.jsonl
Where: eval/ticket-takedown/lib/takedown/adapter/project_suites.rb, bin/os-sdlc project-config, skills/setup-project/SKILL.md
VERDICT: CREATE (cross-project Discoverer filing; the runner path eval/ticket-takedown is not in the cc-os checkout, so the claim rests on the finance session observation, not on a source read)
Discoverer: /home/jared/projects/finance, session 35714d85-85f4-4430-a825-ad86fa5f0ba7, 2026-10-22. takedown-run cannot run green-suite on a project.yaml that setup-project itself generates.
Additional occurrence from decision-model, 2026-11-12
Discoverer: decision-model, session 6098efae-bfd3-433e-9752-524dfeb59c5c, 2026-11-12. Same mechanism as this ticket, seen on a second project.
takedown-run --live 25in /home/jared/dev/ruby-gems/decision-model on 2026-11-12 passed steps 01 to 09, then failed:FAILED green-suite: .sdlc/project.yaml lists no targets. Nofinal-design.jsonwas written, so the implementation phase could not start. Run directory: /home/jared/dev/ruby-gems/decision-model/docs/takedown/25-20261112-102423.Cause:
plugins/os-sdlc/eval/ticket-takedown/lib/takedown/adapter/project_suites.rb:25-26reads only thetargets:map:sections = YAML.safe_load_file(file).to_h.fetch("targets", nil).to_hthenraise Failure, "#{PATH} lists no targets" if sections.empty?.The setup-project skill (
plugins/os-sdlc/skills/setup-project/SKILL.md) says: "A file with notargets:key is the single-target case and needs no flag".os-sdlc project-config <name>writes this flat shape. The decision-model file has top-levelname,tracker,path: ".",test_path: test,test_command: bundle exec rake test,lint_config,test_framework.Effect: each single-target project fails at the last takedown step after the design cost is spent ($0.36 and 186 seconds in this run).
Workaround used: decision-model's
.sdlc/project.yamlwas changed to atargets:map with one target.Acceptance criteria for the fix:
.sdlc/project.yamlhas notargets:key and a top-leveltest_commandruns the green-suite step with that command..sdlc/project.yamlthat the takedown cannot use fails before the first paid step.