os-backlog slice 7: SessionStart injection note + /to-issues routing #16

Closed
opened 2026-07-10 17:22:35 +00:00 by jared · 3 comments
Owner

Type: Semi · Triage: ready

Parent

PRD: issue #9 (os-backlog plugin). State pointer: Planka card https://planka.hyperthrive.io/cards/1816234194716592051

What to build

The SessionStart injection note plus /to-issues routing integration. The note is modeled on os-adr's: WHEN→THEN mechanical triggers for capture (work discovered mid-session → Backlog card, not a TODO comment), routing (read the tracker key), promotion (Planka effort accretes significant code → carve repo, specs move via /to-issues, card stays as pointer), column ownership, and the autonomy-label behavioral contract (hitl = never picked up autonomously; semi = run mechanical parts, stop at named decision gates; afk-ready = through to Review). Rules only — never board state or briefs (notification policy v2, pull beats push).

/to-issues output becomes routed by the convention: Planka cards by default, repo issues only where the tracker key says so.

Semi: wiring is mechanical; the note's wording is a named decision gate — shipped as best educated guess after human review, then tuned only from IRL-audit evidence (no wording-eval grid).

Acceptance criteria

  • Injection note ships with WHEN→THEN rules covering capture, route, promote, column ownership, autonomy labels
  • Note contains zero board state; token cost reported and accepted at review
  • /to-issues output honors the tracker key (Planka default, git issues when configured)
  • Wording approved by the human before bin/refresh-plugins ships it

Blocked by

  • #13 (capture + list skills)
  • #14 (routing/migration skill)
**Type:** Semi · **Triage:** ready ## Parent PRD: issue #9 (os-backlog plugin). State pointer: Planka card https://planka.hyperthrive.io/cards/1816234194716592051 ## What to build The SessionStart injection note plus `/to-issues` routing integration. The note is modeled on os-adr's: WHEN→THEN mechanical triggers for capture (work discovered mid-session → Backlog card, not a TODO comment), routing (read the `tracker` key), promotion (Planka effort accretes significant code → carve repo, specs move via /to-issues, card stays as pointer), column ownership, and the autonomy-label behavioral contract (`hitl` = never picked up autonomously; `semi` = run mechanical parts, stop at named decision gates; `afk-ready` = through to Review). Rules only — never board state or briefs (notification policy v2, pull beats push). `/to-issues` output becomes routed by the convention: Planka cards by default, repo issues only where the `tracker` key says so. Semi: wiring is mechanical; the note's wording is a named decision gate — shipped as best educated guess after human review, then tuned only from IRL-audit evidence (no wording-eval grid). ## Acceptance criteria - [ ] Injection note ships with WHEN→THEN rules covering capture, route, promote, column ownership, autonomy labels - [ ] Note contains zero board state; token cost reported and accepted at review - [ ] /to-issues output honors the `tracker` key (Planka default, git issues when configured) - [ ] Wording approved by the human before `bin/refresh-plugins` ships it ## Blocked by - #13 (capture + list skills) - #14 (routing/migration skill)
jared added the
ready-for-agent
label 2026-07-10 17:22:35 +00:00
Author
Owner

This was generated by AI during triage.

Blockers cleared: #13 closed and #14 closed 2026-07-12 (route skill shipped in 696aefc). This slice is now unblocked and next in the chain. Type Semi stands — the injection-note wording is a named human review gate before bin/refresh-plugins ships it.

> *This was generated by AI during triage.* Blockers cleared: #13 closed and #14 closed 2026-07-12 (route skill shipped in 696aefc). This slice is now unblocked and next in the chain. Type Semi stands — the injection-note wording is a named human review gate before bin/refresh-plugins ships it.
Author
Owner

Codex review adjustments (2026-07-13), adopted:

  • CORRECTION: this issue's autonomy contract text contradicts shipped ADR-029. Correct contract: hitl = never picked up autonomously; semi = run mechanical parts, stop at Review for human sign-off; afk-ready = shipped+verified goes straight to Done (skips Review). The injection note must state the ADR-029 semantics.
  • Acceptance tightened: total injected note stays at/under the injection surface's warn threshold (~120 lines), not just 'token cost reported'.
  • /to-issues routing: 'planka: default means create Planka cards from spec slices' must not silently blur the ADR'd spec/state boundary (git issues = specs, Planka = state). Implementation drafts the wiring but the default-routing behavior is a named decision gate at wording review.
  • Add a repo-local acceptance check demonstrating the routing wiring exists (not just claimed).
Codex review adjustments (2026-07-13), adopted: - CORRECTION: this issue's autonomy contract text contradicts shipped ADR-029. Correct contract: hitl = never picked up autonomously; semi = run mechanical parts, stop at Review for human sign-off; afk-ready = shipped+verified goes straight to Done (skips Review). The injection note must state the ADR-029 semantics. - Acceptance tightened: total injected note stays at/under the injection surface's warn threshold (~120 lines), not just 'token cost reported'. - /to-issues routing: 'planka: default means create Planka cards from spec slices' must not silently blur the ADR'd spec/state boundary (git issues = specs, Planka = state). Implementation drafts the wiring but the default-routing behavior is a named decision gate at wording review. - Add a repo-local acceptance check demonstrating the routing wiring exists (not just claimed).
Author
Owner

Shipped in commit 90db409. Injection note (~447 tokens, rules only, ADR-0029 semantics) live via refresh-plugins after human wording approval 2026-07-13. /to-issues destination-tracker step applied to the global skill; planka:/unset default = git issues + one Planka pointer card (gate decided: preserve spec/state boundary). Routing wiring verified by Backlog::Tracker.issues_destination tests + live dry-run. Unblocks #17.

Shipped in commit 90db409. Injection note (~447 tokens, rules only, ADR-0029 semantics) live via refresh-plugins after human wording approval 2026-07-13. /to-issues destination-tracker step applied to the global skill; planka:/unset default = git issues + one Planka pointer card (gate decided: preserve spec/state boundary). Routing wiring verified by Backlog::Tracker.issues_destination tests + live dry-run. Unblocks #17.
jared closed this issue 2026-07-13 13:19:11 +00:00
Sign in to join this conversation.
No description provided.