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
Combined bump for the changes landed in #121 (Charter path alignment to
.straymark/charters/) and #122 (Charter as top-level concept across
governance docs, skills, status command, and SPECKIT-CHARTER-BRIDGE
guide). See CHANGELOG.md for the full description.
- cli: 3.11.0 → 3.12.0 (minor: bug fix + new status block feature)
- fw: 4.11.0 → 4.12.0 (minor: new skill, new section in STRAYMARK.md,
new SPECKIT-CHARTER-BRIDGE doc, templates
reorganized, directive triggers)
Updated: cli/Cargo.toml + Cargo.lock, dist/dist-manifest.yml,
CHANGELOG.md (new section), README.md + i18n versioning tables,
CLI-REFERENCE.md + i18n, ADOPTION-GUIDE.md + i18n, governance footers
(QUICK-REFERENCE, AGENT-RULES, DOCUMENTATION-POLICY, C4-DIAGRAM-GUIDE,
FOLLOW-UPS-BACKLOG-PATTERN — 4+1 docs × 3 langs).
Closes the two Charter-related gaps surfaced by real adopters in the issue tracker: **Charter were structurally invisible to the CLI** ([#119](https://github.com/StrangeDaysTech/straymark/issues/119) — `straymark charter list/audit/close` hardcoded `docs/charters/` while the framework already validated `.straymark/charters/`) and **Charter were conceptually invisible to onboarding agents** ([#113](https://github.com/StrangeDaysTech/straymark/issues/113) — agents following the canonical entry points could not discover Charter as a workflow concept).
13
+
14
+
### Added (Framework)
15
+
16
+
-**`STRAYMARK.md` §15 — Charter as bounded units of work.** Dedicated section explaining what a Charter is, when to declare one, the lifecycle (`declared` → `in-progress` → `closed`), and how it relates to AILOG / ADR / SpecKit. Charter trigger row added to §6 (When to Document); Charter row added to §9 (Autonomy Limits), §10 (folder map), §11 (When to Load), §13 (Quick Type Reference).
17
+
-**`SPECKIT-CHARTER-BRIDGE.md`** in `dist/.straymark/00-governance/` (EN + ES + zh-CN). Documents *when* a SpecKit feature yields a Charter (4 yes-conditions, 3 no-conditions), 4 granularity heuristics ("one Charter per shippable cut, NOT per User Story"), creation timing within the SpecKit pipeline, frontmatter linkage in both directions (`originating_spec` / `originating_charter`), 5 anti-patterns, 5 non-fit cases.
18
+
-**Skill `/straymark-charter-new`** across the three skill surfaces (`.claude/skills/`, `.gemini/skills/`, `.agent/workflows/`). Drives `straymark charter new` with the right flags (`--from-spec` vs `--from-ailog` vs none, effort estimate). Skill explicitly does *not* flip status, run drift, or run audit — those have their own surfaces.
19
+
-**Charter trigger** in the directive templates (`dist/dist-templates/directives/{CLAUDE.md,GEMINI.md,copilot-instructions.md}`) — agents see Charter alongside AILOG / AIDEC / ADR / ETH triggers in the pre-commit checklist.
20
+
-**`Charters` block in `straymark status`** — declared / in-progress / closed counts (or a friendly hint when empty); colorized status keyed on lifecycle stage; surfaces unparseable Charter files as a warning row.
21
+
22
+
### Changed (Framework)
23
+
24
+
-**Charter templates moved to `dist/.straymark/templates/charter/`** subdirectory (with `i18n/es/` co-located inside). Visually distinguishable from auxiliary doc templates, addresses one of the contributing factors of #113 (templates indistinguishable from auxiliary).
25
+
-**`QUICK-REFERENCE.md` (EN + ES + zh-CN)** — adds "Bounded Units of Work — Charter" subsection alongside the doc-type tables, `charters/` entry in the folder tree, Charter trigger row in When-to-Document, `/straymark-charter-new` in the skills table.
26
+
-**`/straymark-status` and `/straymark-new` skills (×3 surfaces)** — `/straymark-status` now scans `.straymark/charters/` and surfaces gaps; `/straymark-new` recognizes Charter intent and *redirects* to `/straymark-charter-new` (Charter is not a `straymark new` doc type).
27
+
28
+
### Fixed (CLI)
29
+
30
+
-**`straymark charter list/audit/close/drift/new` honor `.straymark/charters/`** as the canonical Charter location, matching what `straymark init` and `straymark status` already validate. Eliminates 5 hardcoded `docs/charters/` references through a new `charter::charters_dir(project_root)` single source of truth.
31
+
-**Improved error messages** in `audit/close/drift`: instead of opaque `Charter X not found in docs/charters/`, the CLI now reports the searched path and hints at `straymark charter list`:
32
+
33
+
```
34
+
error: Charter CHARTER-02 not found in .straymark/charters/.
35
+
hint: run `straymark charter list` to see discovered Charters.
36
+
```
37
+
38
+
-**`dist/.straymark/scripts/check-charter-drift.sh`** matches against `.straymark/charters/*` instead of `docs/charters/*`.
39
+
40
+
### Breaking change (CLI, pre-1.0)
41
+
42
+
- Projects with charters under the legacy `docs/charters/` (Sentinel pre-rebrand layout) need to relocate them. Migration is one command: `git mv docs/charters .straymark/charters`. Pre-1.0 SemVer permits the change; the improved error message points operators at it.
43
+
44
+
### Adopter guidance
45
+
46
+
- Existing projects on `fw-4.11.0` get the new framework files (skills, templates, governance docs, directive triggers) via `straymark update-framework`.
47
+
- Charter telemetry sidecars (`*.telemetry.yaml`) now share `.straymark/charters/` with the declarative `.md` files by design — no migration needed; `straymark charter close` already wrote them there in 4.11.0.
The project formerly known as DevTrail is now **StrayMark**. The decision was made on 2026-05-08 by the operator after external trademark conflict research, motivated by **legal certainty over the project's mark**. See [`ADR-2026-05-08-001`](docs/decisions/ADR-2026-05-08-rebranding-straymark.md) for the full record.
0 commit comments