os-backlog: TemplateValidator never checks Owner sketch/Cases on capture-style ready-for-agent tickets #646

Closed
opened 2026-09-23 16:45:28 +00:00 by jared · 1 comment
Owner

Problem

Found during the same #638/#643 root-cause session: capture-style ready-for-agent tickets can skip AGENT_READY_SECTIONS validation entirely.

Observed

plugins/os-backlog/lib/backlog/ticket_body_checker.rb:17-19 ticket_attempt? is true only when the body has a Slice/Acceptance criteria/Non-goals heading. Capture-style bodies (e.g. #638, #627) have none, so the tier is :capture and AGENT_READY_SECTIONS (template_validator.rb:15) never run, even with the ready-for-agent label. Only os-sdlc TicketShape (ticket_shape.rb:6) catches the gap, and only at implementation-open, much later in the pipeline.

Note: may be absorbed by #643's template/validator re-alignment; filed separately because it is a defect today, independent of that redesign.

Reproduce

n/a: design/validator-gap ticket, not a single reproducible bug

Expected

A capture-style ticket body carrying ready-for-agent fails TemplateValidator at capture/label time if it lacks Owner sketch/Cases, instead of only failing later at implementation-open.

Origin

  • Trigger: #638 impl 13 post-mortem, tracing why Approach-only items were never checked
  • Improvised this session: none
  • Chain: ready-for-agent ticket with no Owner sketch/Cases passes validation ← TemplateValidator never runs (ticket_attempt? false for capture-shaped body) ← DESIGN (plugins/os-backlog/lib/backlog/ticket_body_checker.rb:17-19, tier detection keyed on Slice/Acceptance criteria/Non-goals headings only)
  • Root candidate: this ticket
  • Where: plugins/os-backlog/lib/backlog/ticket_body_checker.rb
  • Session: d1aa78d1-c840-471e-bdd0-2be657c7d950
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/d1aa78d1-c840-471e-bdd0-2be657c7d950.jsonl
## Problem Found during the same #638/#643 root-cause session: capture-style ready-for-agent tickets can skip AGENT_READY_SECTIONS validation entirely. ## Observed `plugins/os-backlog/lib/backlog/ticket_body_checker.rb:17-19` `ticket_attempt?` is true only when the body has a Slice/Acceptance criteria/Non-goals heading. Capture-style bodies (e.g. #638, #627) have none, so the tier is `:capture` and AGENT_READY_SECTIONS (`template_validator.rb:15`) never run, even with the `ready-for-agent` label. Only os-sdlc `TicketShape` (`ticket_shape.rb:6`) catches the gap, and only at implementation-open, much later in the pipeline. Note: may be absorbed by #643's template/validator re-alignment; filed separately because it is a defect today, independent of that redesign. ## Reproduce n/a: design/validator-gap ticket, not a single reproducible bug ## Expected A capture-style ticket body carrying `ready-for-agent` fails `TemplateValidator` at capture/label time if it lacks Owner sketch/Cases, instead of only failing later at `implementation-open`. ## Origin - Trigger: #638 impl 13 post-mortem, tracing why Approach-only items were never checked - Improvised this session: none - Chain: ready-for-agent ticket with no Owner sketch/Cases passes validation ← TemplateValidator never runs (ticket_attempt? false for capture-shaped body) ← DESIGN (plugins/os-backlog/lib/backlog/ticket_body_checker.rb:17-19, tier detection keyed on Slice/Acceptance criteria/Non-goals headings only) - Root candidate: this ticket - Where: plugins/os-backlog/lib/backlog/ticket_body_checker.rb - Session: d1aa78d1-c840-471e-bdd0-2be657c7d950 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/d1aa78d1-c840-471e-bdd0-2be657c7d950.jsonl
Author
Owner

Resolution

Done: Absorbed by #643. TemplateValidator requires Problem, Approach, Acceptance criteria and Owner sketch on any ready-for-agent body, whatever its shape; ticket_attempt? no longer gates the check.

Evidence: main f375143b (#643 merge, ADR-0209). Repro test template_validator_model_sections_test.rb: a ready-for-agent body with only Problem + Origin fails with 'Missing required section: Owner sketch'. os-backlog suite 241 runs, 0 failures.

Follow-ups: none

## Resolution **Done:** Absorbed by #643. TemplateValidator requires Problem, Approach, Acceptance criteria and Owner sketch on any ready-for-agent body, whatever its shape; ticket_attempt? no longer gates the check. **Evidence:** main f375143b (#643 merge, ADR-0209). Repro test template_validator_model_sections_test.rb: a ready-for-agent body with only Problem + Origin fails with 'Missing required section: Owner sketch'. os-backlog suite 241 runs, 0 failures. **Follow-ups:** none
jared closed this issue 2026-09-23 18:22:25 +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#646
No description provided.