Context
Working on a real greenfield project (Rust CLI/TUI suite) that uses DevTrail + SpecKit together as the governance stack. After the agent (Claude Opus 4.7) completed /speckit-constitution, /speckit-specify, /speckit-plan, /devtrail-adr (workspace adoption), /speckit-tasks (44 tasks across 6 phases), and /speckit-analyze, it never surfaced Charters as a relevant concept.
The project owner had to ask explicitly: "What's the strategy for the DevTrail Charters considering tasks.md?" — at which point the agent recognized the gap and produced 5 granularity options.
This issue documents the systemic discoverability gap behind that oversight, since it's likely reproducible with any agent (Gemini, Copilot, etc.) onboarding to a DevTrail+SpecKit project via the canonical entry points.
What didn't happen
A capable, attentive agent following the canonical project onboarding (DEVTRAIL.md, the project constitution, CLAUDE.md checklist, available /devtrail-* skills, /devtrail-status) did not autonomously identify Charters as a workflow concept during plan/tasks generation, even though the project clearly fit their use case (multi-session implementation, multi-phase tasks, audit value).
Charters were eventually adopted (2 Charters: foundation + MVP) only after explicit user prompt.
Root-cause analysis (9 contributing factors, grouped)
Documentation gaps
-
DEVTRAIL.md doesn't list Charters as a top-level type. The doc enumerates 12+4 document types (AILOG/AIDEC/ETH/SBOM/DPIA/PIPIA/TC260RA/AILABEL/ADR/REQ/TES/INC/TDE/SEC/MCARD). Charters are absent. Agents that build their mental model of DevTrail from this doc will not include Charters.
-
CLAUDE.md Pre-commit Checklist has no Charter trigger. The 6 checklist items map to AILOG/AIDEC/ADR/ETH/MCARD/SEC. None says "starting a multi-session implementation block? → declare a Charter."
-
Project constitutions written from DevTrail patterns inherit the gap. When project owners write their own constitutions (as Spec Kit's /speckit-constitution template encourages), they replicate the DevTrail abstractions they were exposed to. Charters get lost in transmission downstream.
Skill surface gaps
-
No /devtrail-charter-new (or equivalent) skill. Skill-driven discovery yields: /devtrail-adr, /devtrail-aidec, /devtrail-ailog, /devtrail-mcard, /devtrail-sec, /devtrail-new, /devtrail-status. Charters are not creatable through any skill. Agents that discover DevTrail through "what slash commands exist?" miss them.
-
/devtrail-status excludes Charters from its scan. The status skill explicitly enumerates 12 document prefixes (AILOG-, AIDEC-, ADR-, …) and counts only those. Even when an agent runs /devtrail-status to verify compliance, Charters are structurally invisible. The compliance-observability tool has a blind spot.
-
/devtrail-audit-* skills mention Charter in their descriptions ("Generate the unified audit prompt for a Charter at the canonical filesystem location") but the framing is external audit tooling, not Charter lifecycle terminus. The connection "Charter = work unit; audit-* = its closure" requires reading the Charter template — which agents may not do unprompted.
Template-level gaps
charter-template.md and charter-telemetry-template.yaml are listed in .devtrail/templates/ but indistinguishable from auxiliary templates. They sit alongside TEMPLATE-ADR.md etc. An agent triaging templates by relevance will skip them.
Workflow integration gaps
-
No documented bridge between SpecKit and DevTrail Charters. The Charter frontmatter has originating_spec: specs/NNN-feature/spec.md — the perfect bridge. But no doc explains when a SpecKit feature should yield a Charter, how granular (1 per feature? 1 per phase? 1 per User Story?), or who triggers the creation (/speckit-tasks close? before /speckit-implement?).
-
Agents form binary mental models of multi-tool workflows. "SpecKit = planning, DevTrail = audit-trail." Charters represent a third layer (work-as-auditable-shippable-unit) that doesn't fit either category. Without explicit naming in canonical docs, the binary model dominates and the third layer is silently discarded.
Suggested remediation (low-cost, reversible)
Priority order, smallest blast radius first:
High impact / low cost
Medium impact / medium cost
Low impact / low cost
Reproducibility
This pattern is likely to repeat with any agent (Claude, Gemini, Copilot) onboarding to a DevTrail+SpecKit project via the canonical entry points. The gap is systemic, not session-specific — fixing it benefits all future agent interactions.
Empirical context
- Project: greenfield Rust CLI/TUI suite, v0.1.
- Agent: Claude Opus 4.7 (1M context).
- Workflow phase when gap manifested: between
/speckit-tasks and /speckit-implement.
- Time to detect: ~6 hours of session work; never autonomously surfaced.
- Time to resolve once user prompted: ~5 minutes (agent immediately produced 5 granularity options, recommended a 2-Charter strategy).
- Outcome: 2 Charters being created (Foundation + MVP) after this issue is filed.
Acknowledgment
Filed by a real DevTrail user as part of using the framework on a real project. Not a hypothetical. Happy to provide additional artifacts (the relevant session transcript, the resulting Charter files, the resulting tasks.md) if useful for triage.
Context
Working on a real greenfield project (Rust CLI/TUI suite) that uses DevTrail + SpecKit together as the governance stack. After the agent (Claude Opus 4.7) completed
/speckit-constitution,/speckit-specify,/speckit-plan,/devtrail-adr(workspace adoption),/speckit-tasks(44 tasks across 6 phases), and/speckit-analyze, it never surfaced Charters as a relevant concept.The project owner had to ask explicitly: "What's the strategy for the DevTrail Charters considering tasks.md?" — at which point the agent recognized the gap and produced 5 granularity options.
This issue documents the systemic discoverability gap behind that oversight, since it's likely reproducible with any agent (Gemini, Copilot, etc.) onboarding to a DevTrail+SpecKit project via the canonical entry points.
What didn't happen
A capable, attentive agent following the canonical project onboarding (
DEVTRAIL.md, the project constitution,CLAUDE.mdchecklist, available/devtrail-*skills,/devtrail-status) did not autonomously identify Charters as a workflow concept during plan/tasks generation, even though the project clearly fit their use case (multi-session implementation, multi-phase tasks, audit value).Charters were eventually adopted (2 Charters: foundation + MVP) only after explicit user prompt.
Root-cause analysis (9 contributing factors, grouped)
Documentation gaps
DEVTRAIL.mddoesn't list Charters as a top-level type. The doc enumerates 12+4 document types (AILOG/AIDEC/ETH/SBOM/DPIA/PIPIA/TC260RA/AILABEL/ADR/REQ/TES/INC/TDE/SEC/MCARD). Charters are absent. Agents that build their mental model of DevTrail from this doc will not include Charters.CLAUDE.mdPre-commit Checklist has no Charter trigger. The 6 checklist items map to AILOG/AIDEC/ADR/ETH/MCARD/SEC. None says "starting a multi-session implementation block? → declare a Charter."Project constitutions written from DevTrail patterns inherit the gap. When project owners write their own constitutions (as Spec Kit's
/speckit-constitutiontemplate encourages), they replicate the DevTrail abstractions they were exposed to. Charters get lost in transmission downstream.Skill surface gaps
No
/devtrail-charter-new(or equivalent) skill. Skill-driven discovery yields:/devtrail-adr,/devtrail-aidec,/devtrail-ailog,/devtrail-mcard,/devtrail-sec,/devtrail-new,/devtrail-status. Charters are not creatable through any skill. Agents that discover DevTrail through "what slash commands exist?" miss them./devtrail-statusexcludes Charters from its scan. The status skill explicitly enumerates 12 document prefixes (AILOG-, AIDEC-, ADR-, …) and counts only those. Even when an agent runs/devtrail-statusto verify compliance, Charters are structurally invisible. The compliance-observability tool has a blind spot./devtrail-audit-*skills mention Charter in their descriptions ("Generate the unified audit prompt for a Charter at the canonical filesystem location") but the framing is external audit tooling, not Charter lifecycle terminus. The connection "Charter = work unit; audit-* = its closure" requires reading the Charter template — which agents may not do unprompted.Template-level gaps
charter-template.mdandcharter-telemetry-template.yamlare listed in.devtrail/templates/but indistinguishable from auxiliary templates. They sit alongsideTEMPLATE-ADR.mdetc. An agent triaging templates by relevance will skip them.Workflow integration gaps
No documented bridge between SpecKit and DevTrail Charters. The Charter frontmatter has
originating_spec: specs/NNN-feature/spec.md— the perfect bridge. But no doc explains when a SpecKit feature should yield a Charter, how granular (1 per feature? 1 per phase? 1 per User Story?), or who triggers the creation (/speckit-tasksclose? before/speckit-implement?).Agents form binary mental models of multi-tool workflows. "SpecKit = planning, DevTrail = audit-trail." Charters represent a third layer (work-as-auditable-shippable-unit) that doesn't fit either category. Without explicit naming in canonical docs, the binary model dominates and the third layer is silently discarded.
Suggested remediation (low-cost, reversible)
Priority order, smallest blast radius first:
High impact / low cost
DEVTRAIL.mdas a top-level type. Brief description, when to create, link to template. Equivalent rank to ADR.CLAUDE.mdtemplate's Pre-commit Checklist: "Starting a multi-session implementation block (>1 day, >5 tasks)? → Declare Charter in.devtrail/charters/."/devtrail-statusskill to scan.devtrail/charters/*.md, display open/in-progress/closed counts, list active Charters with their task ranges.Medium impact / medium cost
/devtrail-charter-newskill that scaffoldsCHARTER-NN.mdfrom the template with frontmatter pre-filled. Analogous to/devtrail-adr./speckit-tasks, before/speckit-implement)./devtrail-charter-closeskill that updates status, prompts for telemetry yaml, optionally chains to/devtrail-audit-prompt.Low impact / low cost
.devtrail/templates/: movecharter-template.mdandcharter-telemetry-template.yamlinto acharter/subdirectory, signaling "this is a workflow concept, not a doc template."/devtrail-newskill description, mention Charters as the unit-of-work concept that contains the docs/devtrail-newcreates.Reproducibility
This pattern is likely to repeat with any agent (Claude, Gemini, Copilot) onboarding to a DevTrail+SpecKit project via the canonical entry points. The gap is systemic, not session-specific — fixing it benefits all future agent interactions.
Empirical context
/speckit-tasksand/speckit-implement.Acknowledgment
Filed by a real DevTrail user as part of using the framework on a real project. Not a hypothetical. Happy to provide additional artifacts (the relevant session transcript, the resulting Charter files, the resulting
tasks.md) if useful for triage.