Persist selected target in artifact.yml so stepper briefs resolve multi-target project config #305

Closed
opened 2026-08-07 11:08:39 +00:00 by jared · 1 comment
Owner

Context

Surfaced during the /os-sdlc:implement run for #300: in a multi-target .sdlc/project.yaml, the select-target step consumes OS_SDLC_TARGET but the choice is never persisted in artifact.yml, so brief builders emit 'project-config unresolved' defaults (code_path=lib, test_path=test) instead of the target's paths (plugins/os-sdlc/lib, plugins/os-sdlc/tests). Fix: persist the selected target in the artifact at select-target/intake and resolve project config through it when building dispatch briefs. Blocks any multi-target implement run; #300 is paused on this.

## Context Surfaced during the /os-sdlc:implement run for #300: in a multi-target .sdlc/project.yaml, the select-target step consumes OS_SDLC_TARGET but the choice is never persisted in artifact.yml, so brief builders emit 'project-config unresolved' defaults (code_path=lib, test_path=test) instead of the target's paths (plugins/os-sdlc/lib, plugins/os-sdlc/tests). Fix: persist the selected target in the artifact at select-target/intake and resolve project config through it when building dispatch briefs. Blocks any multi-target implement run; #300 is paused on this.
Author
Owner

Resolution

Done: Persisted the ADR-0088 selected target on artifact.yml at intake and resolved brief project config through artifact.target; multi-target briefs now emit the target's code_path/test_path instead of 'project-config unresolved' defaults.

Evidence: Commit a639666 on main; TDD'd (9 new tests across artifact_test, cli_intake_test, new brief_project_config_test); full suite 748 runs / 0 failures; rubocop clean on touched files.

Follow-ups: Captured as none: mid-run target changes have no CLI verb (deferred — targets are per-run by ADR-0088); stepper docs note about intake as persistence point dropped as trivial.

## Resolution **Done:** Persisted the ADR-0088 selected target on artifact.yml at intake and resolved brief project config through artifact.target; multi-target briefs now emit the target's code_path/test_path instead of 'project-config unresolved' defaults. **Evidence:** Commit a639666 on main; TDD'd (9 new tests across artifact_test, cli_intake_test, new brief_project_config_test); full suite 748 runs / 0 failures; rubocop clean on touched files. **Follow-ups:** Captured as none: mid-run target changes have no CLI verb (deferred — targets are per-run by ADR-0088); stepper docs note about intake as persistence point dropped as trivial.
jared closed this issue 2026-08-07 11:16:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#305
No description provided.