CAEM: stale Spec-Kit plan-template Constitution Check + missing ADR-context tooling
@freddyDOTCMS is already working on this.
Since Sep 7, 2026.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Summary
CAEM's Spec-Kit configuration has two independent gaps, both surfaced incidentally while running
/speckit-plan for #37406 (Recreate ClickHouse schema with environment as a key dimension).
Neither is part of that feature or any other product work — this is pure Spec-Kit tooling upkeep,
filed as its own ticket rather than folded into an unrelated feature's branch.
Gap 1: plan-template.md's Constitution Check table is missing 2 rows
.specify/memory/constitution.md was bumped 1.0.0 → 1.1.0, adding Principle IX (Async
Write Isolation) and Principle X (Structured Logging). .specify/templates/overrides/plan-template.md's
Constitution Check table — the one /speckit-plan fills in for every feature — still only lists
Principles I through VIII. Confirmed directly: exactly 8 rows, none for IX/X. Every /speckit-plan
run since that constitution bump has either silently skipped evaluating those two principles, or
had to manually extend the table on the fly (as happened while planning #37406).
Fix: add two rows to the table, matching the existing format and sourced from the constitution's
own principle summaries:
| IX. Async Write Isolation — ingest writes dispatched via `eventIngestionExecutor`, never on the HTTP thread | | |
| X. Structured Logging — all logging via `LogContext` | | |
Low-risk, mechanical — no design decision required.
Gap 2: no ADR-context lookup mechanism exists in CAEM at all
docs/core/SPEC_KIT_QUICK_START.md (dotCMS/core's own Spec-Kit doc, which this project follows)
states: "/speckit-plan auto-runs /speckit-adr-context before planning (a mandatory before_plan
hook in .specify/extensions.yml). It searches dotCMS/platform-adrs and pulls relevant decisions
into the plan as binding input."
None of that exists in dot-ca-event-manager:
.specify/extensions.ymlhashooks: {}— nobefore_planhook registered.- No
speckit-adr-contextskill exists under.claude/skills/. - No
adr-context.shscript exists under.specify/scripts/bash/. - No mention of ADR-context tooling anywhere in
.specify/CUSTOMIZATIONS.md.
Every ADR consultation in this project so far (e.g., ADR-0022 while planning #37406) has been done
by hand — fetching the ADR text directly and reasoning about it manually, with no automated support
and no enforcement that it happens at all.
This needs a decision before it needs code. Two options:
- Build/port a
/speckit-adr-contextskill + script for CAEM — its own design question (how it
should querydotCMS/platform-adrs, what counts as "relevant" for a ClickHouse-analytics-focused
project versus core's broader scope), then wire it as abefore_planhook. - Decide manual ADR verification is the accepted approach for this project, and record that
explicitly (e.g., in.specify/CUSTOMIZATIONS.md) so it stops reading as an oversight every time
someone notices it's missing.
Scope
- Add the 2 missing Constitution Check rows to
plan-template.md. - Decide between the two options above for Gap 2.
- If building: design and implement a
/speckit-adr-contextskill + script for CAEM, wired as a
before_planhook in.specify/extensions.yml. - If documenting: add the explicit decision to
.specify/CUSTOMIZATIONS.md.
Out of scope
#37349,#37406, or any other product feature — this ticket is standalone Spec-Kit tooling
upkeep, not part of that epic or any of its sub-tasks.
Acceptance Criteria
-
plan-template.md's Constitution Check table includes all 10 current principles (I–X) - Either: a working
/speckit-adr-contextskill + script exists in CAEM and is wired as a
before_planhook, or:.specify/CUSTOMIZATIONS.mdexplicitly documents that ADR
verification is manual-only by design for this project
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.