You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SPIR spec template is dead code: no prompt, consult type, or porch check references it #1279
Problem (reported from a production SPIR workspace, 2026-07-28; flagged by the owner)
codev-skeleton/protocols/spir/templates/spec.md exists but nothing in the pipeline delivers or enforces it:
prompts/specify.md never references the template — it describes required content in prose only.
Porch's spec-approval gate checks only that the spec file exists, not its structure.
consult-types/spec-review.md has no template/structure check.
Net effect: builders never see the template unless they go looking. In the reporting workspace, the builder pattern-matched the previous spec's free-form structure, 3-way review passed it, and both of that repo's SPIR specs are off-template — discovered only when the human asked why.
Suggested fixes (any/all, from the report)
Reference the template explicitly in prompts/specify.md ('structure per templates/spec.md' — or better, per the deliver-don't-fetch convention, inline the required heading skeleton into the prompt).
Add a structure line to the spec-review consult type so reviewers check it.
Optionally: a porch check for required headings at spec-approval.
Audit scope
The same disease presumably applies to plan/review templates in SPIR and to ASPIR/PIR skeletons — audit all template references across protocols before fixing one.
Sequencing note
Land AFTER PR #1278 (Spec 1252) merges — that PR makes codev-skeleton/ the single owner of these files and adds the ownership map; this issue's fix should register the templates' wiring in that map rather than creating new unowned references. Conceptually this is the same class 1252 attacked: an authored artifact with no owning consumer is dead code that silently rots.
Architect verification (2026-07-28) — confirmed at the canonical source, with one correction
Verified against codev-skeleton/ in this repo (not the reporting workspace's local copies), so this is not project-specific:
✅ Confirmed: spir/prompts/specify.md contains no template reference and no {{> }} include. The spec template is dead in the pipeline.
✅ Confirmed: spir/consult-types/spec-review.md has no structure/template check.
✅ Confirmed: porch's gate check is existence-only.
Correction to the audit assumption: the plan template is NOT dead — both spir/prompts/plan.md:79 and aspir/prompts/plan.md:79 inline it via {{> protocols/spir/templates/plan.md}}, using exactly the include mechanism porch resolves (porch/prompts.ts:82). So the disease is an asymmetric oversight, and the fix precedent already exists in-tree:
Template
Wired?
templates/plan.md
✅ inlined in spir + aspir plan prompts
templates/spec.md
❌ dead — no include in spir or aspir specify prompts
templates/review.md
❌ dead — no include in spir or aspir review prompts
PIR plan prompt
❌ no include either
Recommended fix shape: add the same {{> …}} include to specify/review prompts (matching the plan precedent — this also satisfies the deliver-don't-fetch convention, since porch expands the partial into the delivered prompt), plus the structure line in the spec-review/review consult types. The porch heading-check remains optional hardening.
This also explains why the reporting workspace's plans looked fine while its specs drifted off-template.
Activity
waleedkadous commentedon Jul 28, 2026
Architect verification (2026-07-28) — confirmed at the canonical source, with one correction
Verified against
codev-skeleton/in this repo (not the reporting workspace's local copies), so this is not project-specific:spir/prompts/specify.mdcontains no template reference and no{{> }}include. The spec template is dead in the pipeline.spir/consult-types/spec-review.mdhas no structure/template check.Correction to the audit assumption: the plan template is NOT dead — both
spir/prompts/plan.md:79andaspir/prompts/plan.md:79inline it via{{> protocols/spir/templates/plan.md}}, using exactly the include mechanism porch resolves (porch/prompts.ts:82). So the disease is an asymmetric oversight, and the fix precedent already exists in-tree:templates/plan.mdtemplates/spec.mdtemplates/review.mdRecommended fix shape: add the same
{{> …}}include to specify/review prompts (matching the plan precedent — this also satisfies the deliver-don't-fetch convention, since porch expands the partial into the delivered prompt), plus the structure line in the spec-review/review consult types. The porch heading-check remains optional hardening.This also explains why the reporting workspace's plans looked fine while its specs drifted off-template.
waleedkadous commentedon Jul 28, 2026
On it! Working on a fix now.
[Bugfix #1279] Fix: deliver every protocol template via a {{> }} include
[Bugfix #1279] Fix: give spec-approval something to gate on
[Bugfix #1279] Test: every-template-has-a-consumer regression guard
[Bugfix #1279] Docs: record the every-template-has-a-consumer invariant
[Bugfix #1279] Test: enforce delivery by reachability, not by any inc…
[Bugfix #1279] Fix: calibrate spec_has_required_sections against real…
[Bugfix #1279] Docs: thread update — PR, CMAP verdicts, and dispositions
Merge pull request #1283 from cluesmith/builder/bugfix-1279
[Bugfix #1279] Docs: thread closeout — merge, verification on main, f…
Merge pull request #1287 from cluesmith/builder/bugfix-1279
[Spec 1280][Phase: phase_3_protocol_md] refactor: protocol.md x10 via…