Skip to content

feat: ship Charters as first-class entity (fw-4.4.0 / cli-3.6.0)#65

Merged
montfort merged 1 commit intomainfrom
chore/bump-fw-4.4.0-cli-3.6.0
May 2, 2026
Merged

feat: ship Charters as first-class entity (fw-4.4.0 / cli-3.6.0)#65
montfort merged 1 commit intomainfrom
chore/bump-fw-4.4.0-cli-3.6.0

Conversation

@montfort
Copy link
Copy Markdown
Contributor

@montfort montfort commented May 1, 2026

Summary

  • 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. Framework gains template + JSON Schema + 2 anonymized examples; CLI gains devtrail charter new/list/status, validate --include-charters, and a Charters view in the explore TUI.
  • Renamed Plan → Charter going forward to disambiguate from GitHub SpecKit's plan.md. Sentinel's historical files preserve "Plan" deliberately. Full rationale in Propuesta/que-es-un-charter.md §2.
  • Combined release: fw-4.4.0 / cli-3.6.0. Schema, template, and tooling marked v0 / experimental until validated on a second domain (per principle feat: add devtrail repair command to restore broken structure #12Propuesta/devtrail-thesis-validation.md §6 N≈2-3 argument).

What's in scope

  • Framework (fw-4.4.0): 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).
  • CLI (cli-3.6.0): devtrail charter new with 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 the explore TUI nav tree appended only when at least one Charter exists.
  • Docs: ### devtrail charter section in CLI-REFERENCE.md (EN + ES + zh-CN); commands tables and versioning tables bumped across all READMEs; CHANGELOG entry.

Test plan

  • CI green on all 4 platforms (release-cli.yml triggers on the cli-3.6.0 tag).
  • Manual smoke in a clean tempdir:
    • devtrail init ships .devtrail/schemas/charter.schema.v0.json and .devtrail/templates/charter-template.md.
    • devtrail charter new --type M --title "test" creates docs/charters/01-test.md with valid frontmatter.
    • devtrail charter list and devtrail charter status [CHARTER-ID] work as documented.
    • devtrail validate --include-charters passes on a valid Charter, fails with hint-rich messages on missing required fields / bad enum / dangling AILOG ref.
    • devtrail explore shows the Charters group in the nav tree (only when Charters exist).
  • Sentinel check-plan-drift.sh compatibility (§3.6 hard exit criterion): the script runs cleanly against a Charter generated by devtrail charter new, with ## Files to modify table extracted as expected.

Post-merge actions

After merge to main, create and push both tags in order to trigger the parallel release workflows:

git tag fw-4.4.0  && git push origin fw-4.4.0
git tag cli-3.6.0 && git push origin cli-3.6.0

release-framework.yml packages dist/ as devtrail-fw-4.4.0.zip; release-cli.yml builds CLI binaries for 4 platforms (linux-gnu, darwin-x86_64, darwin-aarch64, windows-msvc).

Stats

  • 44 files changed (+4,762 / −65).
  • 95 new tests (63 unit + 32 integration). Suite total: 327 tests, 0 failures, 0 regressions.
  • 7 internal PRs squashed in commit history of this branch (framework artifacts → core module → newlist/status → validate → TUI → docs).

🤖 Generated with Claude Code

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>
@montfort montfort merged commit 2fea763 into main May 2, 2026
1 check passed
@montfort montfort deleted the chore/bump-fw-4.4.0-cli-3.6.0 branch May 2, 2026 00:10
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