Releases: Stackbilt-dev/charter
Releases · Stackbilt-dev/charter
v0.3.2
[0.3.2] - 2026-02-26
Added
- Lockfile types exported:
AdfLockfileandAdfSyncStatusinterfaces now exported from@stackbilt/adfpublic API, giving agents.d.tsvisibility into the.adf.lockschema without reverse-engineering compiled output. - Lockfile schema documented:
.adf.lockformat (flat JSON map offilename → sha256-prefix-16) documented in the@stackbilt/adfREADME. pnpm run devwatch script: Newtsc --build --watchdev script for incremental rebuilds during local development viatsconfig.build.json.- Research papers directory:
papers/with versioned white papers (CSA-001: Context-as-Code v1.1, CSA-002: Greenfield measurement rubric draft) and Architect v2 integration brief.
Changed
- Build uses
tsconfig.build.json: Root build script replaced hardcoded 9-pathtsc --buildinvocation with atsconfig.build.jsonreference file. TypeScript resolves build order from project references automatically. - Publish workflow simplified: PUBLISHING.md no longer instructs manual
workspace:^replacement — PNPM handles this at publish time. Publish commands no longer need--access publicflag. publishConfig.access: "public"declared in all 9 packages (previously only cli and adf).sideEffects: falsedeclared in all 9 packages for bundler tree-shaking.
v0.3.1
What's New
- CI evidence gating: Governance workflow template now runs
charter adf evidence --auto-measure --cion PRs when.ai/manifest.adfis present, automatically validating metric ceilings before merge. - Scorecard evidence: Charter's own governance scorecard pipeline now includes ADF evidence output alongside validate and drift results.
This closes the governance loop — every PR gets LOC ceiling checks automatically.
Full changelog: v0.3.0...v0.3.1
v0.3.0 — Evidence-Based Governance & Self-Governance
Charter v0.3.0 closes the loop on ADF governance. Metric ceilings are now checkable constraints, charter adf evidence produces structured pass/fail reports, and Charter dogfoods itself — enforcing LOC limits on its own source files.
Highlights
charter adf evidence— validate metric ceilings and produce structured evidence reports with--auto-measure,--context, and CI gating- Metric content type —
key: value / ceiling [unit]syntax for numeric constraints with hard ceilings - Weight annotations —
[load-bearing]vs[advisory]on sections to distinguish measurable constraints from preferences - Auto-measurement —
--auto-measurecounts lines in files referenced by manifest METRICS section - Self-governance — Charter's own
.ai/directory enforces LOC ceilings on its key source files (adf_commands_loc: 835/900)
Added
- Metric content type:
key: value / ceiling [unit]syntax with auto-detection - Weight annotations:
[load-bearing]and[advisory]on section headers UPDATE_METRICpatch op: update metric values while ceiling/unit stay immutable- Token budgets: global
MAX_TOKENSand per-module[budget: N]limits charter adf sync: verify/update.adf.lockhashes (--check/--write)- Cadence scheduling: manifest
CADENCEsection for check frequency - Constraint validation:
validateConstraints()API — pass/warn/fail per metric charter adf evidence: structured reports with--task,--context,--context-file,--auto-measure- Scaffold LOC guardrail:
adf initincludesentry_loc: 0 / 500 [lines]by default - Advisory-only warnings: flags on-demand modules with no load-bearing sections
--ops-file/--context-file: file-based alternatives to inline JSON flags- Doctor ADF checks: manifest existence, parse, module presence, sync lock
- Trigger observability:
matchedKeywords,loadReason,unmatchedModules nextActionsin JSON output: agent-friendly follow-up suggestions- 178 tests across 12 test files (up from 48 in v0.2.0)
Changed
bundleModules()accepts optionaltaskKeywordsfor richer trigger reporting- Comprehensive documentation updates across root, CLI, and ADF package READMEs
- Charter's own
.ai/directory uses ADF metric ceilings for self-governance
Install / Upgrade
npm install --save-dev @stackbilt/cli@latestFull Changelog: v0.2.0...v0.3.0
v0.2.0 — ADF: Attention-Directed Format
Added
- New
@stackbilt/adfpackage: AST-backed parser, formatter, patcher, and bundler for the ADF (Attention-Directed Format) standard. Zero runtime dependencies. - New
charter adfcommand namespace with four subcommands:charter adf initscaffolds.ai/directory withmanifest.adf,core.adf, andstate.adfmodules.charter adf fmt <file>parses and reformats ADF files to canonical form (--checkfor CI gating,--writefor in-place reformat).charter adf patch <file> --ops <json>applies typed delta operations (ADD_BULLET, REPLACE_BULLET, REMOVE_BULLET, ADD_SECTION, REPLACE_SECTION, REMOVE_SECTION) for safe agent memory updates.charter adf bundle --task "<prompt>"resolves manifest modules via keyword trigger matching and outputs merged context with token estimate.
- ADF parser supports three content types: text (inline values), list (dash-prefixed items), and map (KEY: value pairs for STATE sub-keys).
- ADF formatter auto-injects standard emoji decorations and sorts sections by canonical key order.
- ADF patcher is immutable — original documents are never mutated. Throws
AdfPatchErrorwith context on invalid operations. - ADF bundler merges duplicate sections across modules (lists concatenated, texts joined, maps concatenated) and reports trigger match details.
- 48 new tests covering parser, formatter, patcher, and bundler.
Changed
- All internal
@stackbilt/*dependency specifiers now useworkspace:^protocol for consistent monorepo resolution. - Package dependency flow now includes:
adf (zero deps, self-contained AST) <- cli.
Install
npm install --save-dev @stackbilt/cli@0.2.0Full Changelog: v0.1.20...v0.2.0
v0.1.20
Added
- New
charter hook install --commit-msgcommand to install a commit-msg hook that normalizesGoverned-ByandResolves-Requesttrailers usinggit interpret-trailers. setup --detect-onlyoutput now includesagentStandardsand detects repository-level agent governance files (AGENTS.md,CLAUDE.md,GEMINI.md).driftandauditoutput now include pattern customization signal (patternsCustomized) when metadata is present in pattern files.
Changed
- Setup-generated GitHub workflow is now pnpm-aware and emits
pnpm/action-setup+pnpm install --frozen-lockfilewhen pnpm is detected. - Stack detection now scans monorepo manifests more broadly (
packages/*andpnpm-workspace.yamlpaths) and reportsmonorepo/hasPnpm. charter classifyis now surfaced earlier in onboarding/setup guidance for LM-agent-first workflows.- Pattern scaffold output now stores metadata envelope (
customized,preset,generatedAt,patterns) while remaining backward-compatible in loaders.
Fixed
- Trailer parsing now follows terminal contiguous git trailer block semantics, matching
git interpret-trailersbehavior. validatenow emits explicit trailer parsing warnings when governance-like lines are present but not parsed as valid trailers.- Commit parsing in
validate,audit, and quickstart snapshot flow now uses full commit body (%B) so trailer/body analysis is accurate.