os-sdlc: seam-decision artifact contract + gate check #351
Labels
No labels
P0
P1
P2
P3
bug
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
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#351
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?
Parent
jared/cc-os#331 (spec: comment 3281 on that issue)
What to build
A tested, deterministic check of the seam-decision artifact's first line, usable as a map gate command. Contract: first line is exactly
SEAM: <one-line seam identifier>orNO-WORKABLE-SEAM. Same family as the existing reviewer verdict first-line parsing. Body sections (chosen seam + evidence, rejected candidates + reasons, injection/stub guidance, assertion surface) are documented in the contract but not validated by the gate — form only, not correctness.Acceptance criteria
NO-WORKABLE-SEAMartifacts all fail the checkBlocked by
Work starting on branch worktree-ticket-351 via the os-sdlc implement pipeline.
Resolution
Done: Seam-decision artifact contract + gate check implemented via the os-sdlc implement pipeline: SeamDecision first-line parser (SEAM: | NO-WORKABLE-SEAM), seam pseudo-gate in GateEvaluator failing missing/empty/multi-seam/no-workable-seam artifacts, gate wiring tests, contract doc at plugins/os-sdlc/references/seam-decision-contract.md. Reviewer APPROVE on round 3.
Evidence: Branch worktree-ticket-351 merged to main (commit
32ac8a0, merge commit on main); suite green 849 runs 0 failures; ticket files pass rubocop -c plugins/os-sdlc/.rubocop.yml; pipeline report .sdlc/tickets/351/briefs/011-review-to-done.mdFollow-ups: Pipeline gaps found during the run filed as #359 (code-probe agent type missing), #360 (red_assert_command runner adapter), #361 (Resumer#skip emits no dispatch), #362 (lint gate unscoped), #363 (reviewer verdict not persisted / format mismatch); reviewer non-blocking notes on multiple_seam_lines? strictness and SeamDecision owning the single-seam predicate are recorded in #363's territory — carried in verdict.md, no separate ticket
Post-mortem: the all-dispatches-ran-async deviation during this ticket traces to #333 (PostToolUse hook not registered in the plugin manifest; hooks/hooks.json is inert). Not a new gap — no new ticket filed.