Skip to content

Releases: Stackbilt-dev/charter

v0.3.2

28 Feb 15:30

Choose a tag to compare

[0.3.2] - 2026-02-26

Added

  • Lockfile types exported: AdfLockfile and AdfSyncStatus interfaces now exported from @stackbilt/adf public API, giving agents .d.ts visibility into the .adf.lock schema without reverse-engineering compiled output.
  • Lockfile schema documented: .adf.lock format (flat JSON map of filename → sha256-prefix-16) documented in the @stackbilt/adf README.
  • pnpm run dev watch script: New tsc --build --watch dev script for incremental rebuilds during local development via tsconfig.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-path tsc --build invocation with a tsconfig.build.json reference 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 public flag.
  • publishConfig.access: "public" declared in all 9 packages (previously only cli and adf).
  • sideEffects: false declared in all 9 packages for bundler tree-shaking.

v0.3.1

25 Feb 22:55

Choose a tag to compare

What's New

  • CI evidence gating: Governance workflow template now runs charter adf evidence --auto-measure --ci on PRs when .ai/manifest.adf is 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

25 Feb 15:50

Choose a tag to compare

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 typekey: 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-measure counts 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_METRIC patch op: update metric values while ceiling/unit stay immutable
  • Token budgets: global MAX_TOKENS and per-module [budget: N] limits
  • charter adf sync: verify/update .adf.lock hashes (--check / --write)
  • Cadence scheduling: manifest CADENCE section 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 init includes entry_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
  • nextActions in JSON output: agent-friendly follow-up suggestions
  • 178 tests across 12 test files (up from 48 in v0.2.0)

Changed

  • bundleModules() accepts optional taskKeywords for 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@latest

Full Changelog: v0.2.0...v0.3.0

v0.2.0 — ADF: Attention-Directed Format

25 Feb 15:49

Choose a tag to compare

Added

  • New @stackbilt/adf package: AST-backed parser, formatter, patcher, and bundler for the ADF (Attention-Directed Format) standard. Zero runtime dependencies.
  • New charter adf command namespace with four subcommands:
    • charter adf init scaffolds .ai/ directory with manifest.adf, core.adf, and state.adf modules.
    • charter adf fmt <file> parses and reformats ADF files to canonical form (--check for CI gating, --write for 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 AdfPatchError with 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 use workspace:^ 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.0

Full Changelog: v0.1.20...v0.2.0

v0.1.20

17 Feb 23:52

Choose a tag to compare

Added

  • New charter hook install --commit-msg command to install a commit-msg hook that normalizes Governed-By and Resolves-Request trailers using git interpret-trailers.
  • setup --detect-only output now includes agentStandards and detects repository-level agent governance files (AGENTS.md, CLAUDE.md, GEMINI.md).
  • drift and audit output 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-lockfile when pnpm is detected.
  • Stack detection now scans monorepo manifests more broadly (packages/* and pnpm-workspace.yaml paths) and reports monorepo/hasPnpm.
  • charter classify is 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-trailers behavior.
  • validate now 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.