Skip to content

Releases: gtrabanco/agentic-workflow

v5.0.0-canary.20261102.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Nov 22:43
Immutable release. Only release title and notes can be modified.
97fb16c

Release Notes: Canary Cut

This prerelease contains the following changes. The next stable release will incorporate these updates.

🚀 Features

Documentation & Workflow

  • Consolidated Roadmap: Merged location indexes into a single docs/ROADMAP.md. This file now serves as the unified index for both Features and Fixes, including the active-fixes index and status conventions.
  • Enhanced Agent Guide: Split AGENTS.md into a streamlined core guide and a dedicated deep references section to improve clarity.
  • Obligation-Driven Development: Introduced new mechanics for residue dimensions, two-way unused-code routing, reuse-first planning gates, and the ask-dont-infer owner block.

Tooling & Automation

  • Deterministic Ceremony CLI: Implemented a closed, deterministic CLI for all ceremony operations.
  • Removal of Config-Gated Tool Guards: Removed the experimental config-gated tool guards. All commands now run ungated, reverting to the soft enforcement rules defined in AGENTS.md.

🛠️ Fixes

Workflow & Unit Docs

  • Tick-Aware Unit Docs: Updated unit-doc grammar to support executed-phase tick marks (e.g., - [x] P<n>). This allows lane units to track task progress without changing the underlying phase.
  • Intelligent Audit Routing:
    • product-audit findings now include a route: field to suggest the next action.
    • review-implementation now routes incomplete features to replan-in-unit to ensure planned work is captured.
  • Scaffold Parity: Added a comparator to ensure exported documentation templates remain in sync with the repository's internal structure.

Skills & Auditing

  • Shadow Copy Detection: Improved review-code and product-audit to catch shadow copies of published artifacts and identify obsolete surfaces.
  • Schema Test Reliability: Fixed the evidence-row grammar test to correctly import the published dist surface instead of the TS source.

Dependencies & Compatibility

  • Pi 1.5.0 Compatibility: Verified compatibility with Pi 1.5.0 and updated @types/node to 26.6.6.
  • Verified Baselines: Implemented a new guard to ensure README and manifest pairings are pinned, preventing future baseline drift.

Full Changelog: v4.10.0...v5.0.0-canary.20261102.1

v4.10.0

Choose a tag to compare

@gtrabanco gtrabanco released this 30 Oct 18:38
Immutable release. Only release title and notes can be modified.
47fd9fd

fix(318): verify and close the class-escalation unit — measured router fields, coherent budgets, obligations ledger, PR evidence pack

feat(schema): publish the evidence-row grammar (#318 S12)
EVIDENCE_ROW_COLUMNS (claim | command | output | status), the closed
EVIDENCE_ROW_VERDICTS set, and parseEvidenceRow / validateEvidenceRow.
A repair claim's row is now a shape a driver can check: a row that omits its
claim, a backticked command, a backticked observed output or a ✓/✗ verdict
fails closed naming the cell it lacks, instead of relying on the model to
follow a sentence in a skill body.

fix(skills): fold-findings turn-contract box 6 cites the published evidence-row column set (status, not the pre-F7 ✓ spelling)

feat(pi): config-gated tool guards — owner-gated merges, history, CI and expensive tests
Four guards at the tool_call gate, all config-driven under the new guards
config key and all shipping OFF (a project opts in per guard):

  • merge (issue #278, extended): git merge, gh pr merge, the gh api
    merge endpoints and mutations, and git pull's merge form.
  • history: pushes are decided by git itself — the push runs as
    git push --dry-run first and git's outcome (forced update, ref delete,
    destination main) declines it, so no flag spelling needs enumerating;
    offline falls back to a text check on the push's own segment.
  • ci: writing workflow definitions (.github/.gitea/.forgejo
    workflows, .gitlab-ci.yml) and triggering runs (gh workflow run,
    gh run rerun, the dispatches endpoint).
  • expensiveTests: commands matching configured patterns, gated when their
    estimated token cost exceeds maxTokens (0 gates every match).
    The only way through any guard is the explicit per-command token — the
    command's first word — after an owner instruction in the same turn:
    AW_ALLOW=merge, AW_ALLOW=force (never enables a push to main),
    AW_ALLOW=ci, AW_ALLOW=cost. Documented residuals: payloads inside scripts
    or interpreter one-liners, and git aliases invoked by name.

feat(skills): human-revision-needed holds an issue or PR until a human clears it

The schema package test-suite comment now names the consolidated publish workflow (D-40-12 sibling sweep); comment-only change, declared so the multi-package parity gate passes without a version bump.

Skills carry the unified train version: release.mjs apply stamps every SKILL.md frontmatter with the train version from the changesets (D-40-14). The per-skill bump ledger retires — bump-skill slims to the lint-only skill-lint, its bundled writer is deleted, and the per-skill CHANGELOG tables freeze as archive.

The schema package's own version is no longer asserted as a literal in test/release-contract.test.mjs and test/verification-gates.test.mjs: a typed number pins today's value, disagrees with the tree after the next release, and blocks every unified-train cut (release.mjs apply rewrites versions and CHANGELOG rows, never tests). The invariant those tests gestured at is now read on both sides — scripts/version-parity-gate.mjs --pins evaluates every package under packages/ against the local sibling census, the root suite asserts the same over the shipped tree, and scripts/pin-watch.mjs applies the local rule between PRs.

Versioned skills releases (feature 40, issue #180): the release pipeline — changesets-format intent files linted by scripts/lint-changeset.mjs, the deterministic scripts/release.mjs (unified version train, canary shape, force-version, tag + stable-branch plan), the publish workflows' channel dispatch input, bump-skill slimmed to classify + run its bundled writer, and the version-parity gate's changeset route.

The packages under packages/ are bun workspace members of a private root package.json, and ONE bun.lock at the root replaces the three package-local locks. A member's sibling dependency now resolves from the folder instead of the registry, so a sibling pin can name the version the same commit ships — the shape the --pins gate requires and that a package-local lock made impossible: an unpublished pin does not resolve, and a stale lock fails --frozen-lockfile, so no PR could both bump a sibling and stay installable. The published manifest is untouched (it keeps the exact version; npm publish never ships a workspace: protocol). scripts/workspace-lock-policy.test.mjs owns the one-lock rule, and the per-package lockfile-policy tests keep the policies that are still per package.
The workspace also carries the compiler upgrade that goes with that policy: typescript moves from a full 6.0.3 pin and a major-only 6 to a deliberate partial pin 7 in both packages — TypeScript honours semver, so a major-only pin keeps receiving its fixes and the native compiler's performance work, and the committed workspace lock records the exact resolution (7.0.2) either way.

What's Changed

  • fix(285): pre-execution lineage gate reads lane-era surfaces — schema 4.6.0 binds acceptance when present by @gtrabanco in #289
  • feat(unit-lane): gap interview + ## Future deferred-idea tracking by @gtrabanco in #296
  • feat(72): pi 1.0.0 compatibility guard — PR-time two-leg drift check, verified baseline, re-verification evidence by @gtrabanco in #290
  • feat(unit-lane): per-phase execute-phase hand-offs, tiered triage, and the close-out receipt ladder (closes #291) by @gtrabanco in #297
  • docs(74): post-merge reconciliation of #270 and #272 — union review receipt + cross-PR drift repair (#275) by @gtrabanco in #298
  • feat(75): PR-triggered version-parity gate for @gtrabanco/pi-agentic-workflow (Closes #292) by @gtrabanco in #299
  • feat(76): the product route — machine routing for product-owned review findings; Axis B verified (#293) by @gtrabanco in #300
  • fix(skills): harden needs-input interactive contracts (execute-phase, unit-lane, init-workspace) by @gtrabanco in #302
  • feat(36): verification-contract hygiene — determinism rule, fuzz recognition, ledger repairs by @gtrabanco in #304
  • feat(unit-lane): separate design/plan into investigate → orient → ask stages (fix #303) by @gtrabanco in #310
  • feat: promise-coherence guard — every executable claim must reproduce at the head (#305) by @gtrabanco in #309
  • feat: Serena provisioning present by default on both paths (feature 67, #219) by @gtrabanco in #313
  • feat(scripts): run a unit's whole delivery cycle from code (78) by @gtrabanco in #314
  • feat(66): Engram memory substrate — probe, protocol, provisioning parity by @gtrabanco in #312
  • feat(skills): spec-by-reference unit doc — S# quoting, S#-linked tasks, append-only Log, collapsed findings (#308) by @gtrabanco in #311
  • docs(state): settle merged roadmap rows and clear the fix index by @gtrabanco in #320
  • fix(deps): pin @gtrabanco/agentic-workflow 0.4.0 by @gtrabanco in #322
  • feat(pi)!: replace the @bacnh85/pi-serena bridge with native MCP registration by @gtrabanco in #324
  • feat(scripts): roadmap settle is code — writer call sites, check gate, unit-cycle settle by @gtrabanco in #323
  • docs(policy): English-only is permanent — bilingualism moves to the web layer (#232) by @gtrabanco in #325
  • fix(deps): pin @gtrabanco/agentic-workflow 0.4.0 → 0.5.0 (0.35.2) by @gtrabanco in #326
  • fix(gate): verify dependency pins against the local package version, not only npmjs by @gtrabanco in #327
  • fix(76): fold F25 — pin the emitted-branch rule for both freeze-batch classes by @gtrabanco in #328
  • feat(84): the survivors-sweep gate — published vocabularies, sweep receipts, sibling pins by @gtrabanco in #330
  • feat(180): unified versioned skills releases by @gtrabanco in #335
  • feat(331): authoring-repo setup — setup-env, update-tools, SETUP.md, CI check by @gtrabanco in #334
  • test(schema): read the version pin instead of typing it by @gtrabanco in #341
  • feat(packaging): link the packages from the folder with one workspace lock by @gtrabanco in #342
  • feat(pin-watch): watch development pins and partial pins, weekly by @gtrabanco in #343
  • feat(318): class escalation, forward closure, evidence-row grammar and bounded verification by @gtrabanco in #339
  • feat(pi): config-gated tool guards — owner-gated merges, history, CI and expensive tests by @gtrabanco in #344

Full Changelog: https://github.com/gtrabanco/agentic-workflow/commits/v4.10.0