feat: ship Charters as first-class entity (fw-4.4.0 / cli-3.6.0)#65
Merged
feat: ship Charters as first-class entity (fw-4.4.0 / cli-3.6.0)#65
Conversation
First step of the post-Sentinel roadmap (Propuesta/devtrail-cli-roadmap.md Phase 1). Crystallizes the Charter pattern from the 6-cycle Sentinel /plan-audit experiment as a first-class entity in DevTrail going forward. Framework (fw-4.4.0): - charter-template.md (EN + ES) ported from Sentinel TEMPLATE.md v3 with the 6 validated format conventions integrated as a single coherent block - charter.schema.v0.json (Draft 2020-12, marked experimental v0) - two anonymized canonical examples in dist/docs/examples/charters/ (CHARTER-01 from PLAN-05, CHARTER-02 from PLAN-06) CLI (cli-3.6.0): - devtrail charter new with 3 origin paths (--from-ailog | --from-spec | neither), mutually exclusive at the clap level - devtrail charter list --status --origin (filters) - devtrail charter status [CHARTER-ID] (numeric / prefix / full match) - devtrail validate --include-charters: schema + originating_ailogs ref check + originating_spec path check, opt-in default false - devtrail explore: synthetic Charters group in TUI nav tree appended only when at least one Charter exists, with CH badge and i18n label The artifact is "Charter" going forward (not "Plan") to avoid colliding with GitHub SpecKit's plan.md. Sentinel's historical files preserve "Plan" deliberately. Justification in Propuesta/que-es-un-charter.md §2. 95 new tests (63 unit + 32 integration), 0 regressions on the existing suite (327 tests total, all green). Schema, template, and tooling marked v0/experimental until validated on a second domain (devtrail-thesis-validation.md §6 N≈2-3 argument). Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Propuesta/devtrail-cli-roadmap.mdPhase 1). Crystallizes the Charter pattern from the 6-cycle Sentinel/plan-auditexperiment as a first-class entity in DevTrail. Framework gains template + JSON Schema + 2 anonymized examples; CLI gainsdevtrail charter new/list/status,validate --include-charters, and a Charters view in theexploreTUI.plan.md. Sentinel's historical files preserve "Plan" deliberately. Full rationale inPropuesta/que-es-un-charter.md§2.v0/ experimental until validated on a second domain (per principle feat: add devtrail repair command to restore broken structure #12 —Propuesta/devtrail-thesis-validation.md§6 N≈2-3 argument).What's in scope
dist/.devtrail/templates/charter-template.md(EN + ES, ports Sentinel TEMPLATE.md v3 with the 6 validated format conventions integrated as a single coherent block);dist/.devtrail/schemas/charter.schema.v0.json(Draft 2020-12);dist/docs/examples/charters/CHARTER-{01,02}-*.md(anonymized PLAN-05 / PLAN-06).devtrail charter newwith 3 mutually-exclusive origin paths (--from-ailog,--from-spec, neither);charter list --status --origin;charter status [CHARTER-ID]with numeric / prefix / full match;validate --include-charters(schema + AILOG-ref + spec-path checks); synthetic Charters group in theexploreTUI nav tree appended only when at least one Charter exists.### devtrail chartersection in CLI-REFERENCE.md (EN + ES + zh-CN); commands tables and versioning tables bumped across all READMEs; CHANGELOG entry.Test plan
devtrail initships.devtrail/schemas/charter.schema.v0.jsonand.devtrail/templates/charter-template.md.devtrail charter new --type M --title "test"createsdocs/charters/01-test.mdwith valid frontmatter.devtrail charter listanddevtrail charter status [CHARTER-ID]work as documented.devtrail validate --include-charterspasses on a valid Charter, fails with hint-rich messages on missing required fields / bad enum / dangling AILOG ref.devtrail exploreshows the Charters group in the nav tree (only when Charters exist).check-plan-drift.shcompatibility (§3.6 hard exit criterion): the script runs cleanly against a Charter generated bydevtrail charter new, with## Files to modifytable extracted as expected.Post-merge actions
After merge to
main, create and push both tags in order to trigger the parallel release workflows:release-framework.ymlpackagesdist/asdevtrail-fw-4.4.0.zip;release-cli.ymlbuilds CLI binaries for 4 platforms (linux-gnu, darwin-x86_64, darwin-aarch64, windows-msvc).Stats
new→list/status→ validate → TUI → docs).🤖 Generated with Claude Code