Skip to content

refactor(board-schema): the Ticket Gate is board schema — one copy in issue-tracker - #21

Merged
SSFSKIM merged 1 commit into
mainfrom
ticket-gate-centralization
Jul 17, 2026
Merged

refactor(board-schema): the Ticket Gate is board schema — one copy in issue-tracker#21
SSFSKIM merged 1 commit into
mainfrom
ticket-gate-centralization

Conversation

@SSFSKIM

@SSFSKIM SSFSKIM commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Completes the single-sourcing arc started in PR #19: the ready-for-agent bar (the WELL-DEFINED + WELL-SCOPED Ticket Gate) moves out of the implement worker's protocol into a new board-schema file, skills/issue-tracker/references/ticket-gate.md, and every consumer routes there.

Why: the gate is consumed by five parties (implement worker at every dispatch, spike graduation, decompose child triage, feedback triage, human/sprint registrars) — it defines what ready-for-agent means, which makes it schema, not role doctrine. Three skills were cross-pointing into another skill's role file for that definition — the same inversion the park discriminant had before PR #19.

The cut line: only the bar moved. The worker protocol keeps everything about executing the gate — gate-before-code, the grill posture, trivial-lookups-are-orient-work, verdict-as-first-board-write, and Check-2 outcome execution (decompose procedure / interactive-preferred transition). The gate file opens at runtime via {{BOARD_SCRIPTS}}/../references/ticket-gate.md — derived from an existing binding, no dispatcher change, same validated pattern as DECOMPOSE_DOC. The Codex-sandbox triage worker keeps its vendored condensation (that harness cannot open skills — documented exception).

The human-as-async-answer-source clause added on main in 385bb81 moved intact into the gate file.

Validation: RED-first (new gate-canon/routing/anti-re-vendoring invariants failing before the edits), then all six suites green, shell lint, git diff --check clean. Note: the routed gate (like the routed discriminant from PR #19) awaits its first live shakedown on the next real dispatch.

Authored by Claude Fable 5 (claude-fable-5) on Claude Code with the doperpowers plugin; design cut agreed with the human partner in-session.

… issue-tracker, every consumer routes

Completes the single-sourcing arc: ready-for-agent's bar (WELL-DEFINED +
WELL-SCOPED) was consumed by five parties — the implement worker, spike
graduation, decompose child triage, feedback triage, and human/sprint
registrars — yet its definition lived inside one role's protocol, with
three skills cross-pointing into 'the IMPLEMENT gate'. Same inversion the
park discriminant had; same fix.

- NEW skills/issue-tracker/references/ticket-gate.md — the canonical bar:
  fork-ownership taxonomy (mechanical/architecture/taste), scope sizing
  (1-2 ExecPlans, big-but-ATOMIC, land-independently), answer-source rule
  incl. the human-as-async-source clause (moved intact from 385bb81),
  and the registrar honesty contract (verdicts are recommendations —
  the gate re-runs at dispatch).
- implementing-tickets SKILL.md: the Gate section keeps the worker flow
  (gate-before-code, grill posture, orient-work rule, Check-2 outcome
  execution) and routes the check definitions to
  {{BOARD_SCRIPTS}}/../references/ticket-gate.md — no new placeholder,
  the path derives from an existing binding.
- operation-manual, spike graduation, decompose step 3, issue-tracker's
  ready-for-agent row, triaging-feedback overview + authoring bar: all
  cross-references retargeted to the schema file; vendored copies
  removed. The Codex-sandbox triage worker protocol keeps its vendored
  Korean condensation (no Skill/file access in that harness — documented
  exception).
- tests: RED-first — gate-file canon asserts (taxonomy, sizing,
  recommendation-not-trust, human-as-source), protocol routing +
  anti-re-vendoring asserts, cross-file pointer asserts.
@SSFSKIM
SSFSKIM merged commit ffd0829 into main Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant