Decide target resolution for the session-less os-sdlc CLI (red-assert/green-assert TargetFlag) #476

Open
opened 2026-08-21 22:03:42 +00:00 by jared · 1 comment
Owner

Context

ADR-0139 moved the runner's implementation flow to a target persisted at implementation-open (implementations.target, SCHEMA_VERSION 13) and deleted the ENV[OS_SDLC_TARGET] fallback there. The session-less os-sdlc CLI (gate_runner.rb:69, gate_result_logger.rb:46, TargetFlag) still resolves via explicit flag + env, because pipeline agents invoke it directly with no session_id, so no implementation row is resolvable at the call site. Two divergent target-resolution mechanisms now coexist.

Skeptic verdict: CREATE — genuine design fork left open by ADR-0139 (thread identity into the CLI vs. keep the flag+env path), with recorded provenance.

Tasks

  • Decide: thread session/implementation identity into the session-less CLI, or keep flag+env as the recorded convention for agent-invoked commands
  • Record the outcome (ADR amendment or a note on ADR-0139) and align TargetFlag accordingly

Origin

  • Trigger: implementer scope note during ADR-0139 target-at-open work, 2026-08-21
  • Improvised this session: none
  • Chain: divergent target resolution ← ADR-0139 scoped to the implementation flow only — DESIGN (docs/adr/0139-runner-target-binds-at-implementation-open-and-persists-on-the-implementation-row.md)
  • Root candidate: this ticket
## Context ADR-0139 moved the runner's implementation flow to a target persisted at implementation-open (implementations.target, SCHEMA_VERSION 13) and deleted the ENV[OS_SDLC_TARGET] fallback there. The session-less os-sdlc CLI (gate_runner.rb:69, gate_result_logger.rb:46, TargetFlag) still resolves via explicit flag + env, because pipeline agents invoke it directly with no session_id, so no implementation row is resolvable at the call site. Two divergent target-resolution mechanisms now coexist. Skeptic verdict: CREATE — genuine design fork left open by ADR-0139 (thread identity into the CLI vs. keep the flag+env path), with recorded provenance. ## Tasks - [ ] Decide: thread session/implementation identity into the session-less CLI, or keep flag+env as the recorded convention for agent-invoked commands - [ ] Record the outcome (ADR amendment or a note on ADR-0139) and align TargetFlag accordingly ## Origin - Trigger: implementer scope note during ADR-0139 target-at-open work, 2026-08-21 - Improvised this session: none - Chain: divergent target resolution ← ADR-0139 scoped to the implementation flow only — `DESIGN` (docs/adr/0139-runner-target-binds-at-implementation-open-and-persists-on-the-implementation-row.md) - Root candidate: this ticket
Author
Owner

2026-08-23 investigation: the session-less CLI's flag+env resolution has no live callers — the runner path resolves target from implementations.target, and RedAssert/GreenAssert are reachable only from the legacy red-assert/green-assert subcommands. Gate redesign captured as #490 (reply feedback), #491 (diff-test/lint/suite vocabulary), #492 (per-gate expect + red classifier, carries the ADR-0139 amendment), #493 (reviewer handoff gather). This ticket's decision lands with #492; legacy CLI retirement is a follow-on cleanup after #492.

2026-08-23 investigation: the session-less CLI's flag+env resolution has no live callers — the runner path resolves target from implementations.target, and RedAssert/GreenAssert are reachable only from the legacy red-assert/green-assert subcommands. Gate redesign captured as #490 (reply feedback), #491 (diff-test/lint/suite vocabulary), #492 (per-gate expect + red classifier, carries the ADR-0139 amendment), #493 (reviewer handoff gather). This ticket's decision lands with #492; legacy CLI retirement is a follow-on cleanup after #492.
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#476
No description provided.