voidforge-build 23.15.0 → 23.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/CHANGELOG.md CHANGED
@@ -6,6 +6,34 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
6
6
 
7
7
  ---
8
8
 
9
+ ## [23.16.0] - 2026-06-13
10
+
11
+ ### Platform-alignment campaign — ADR-064/065/066 implemented (+ ADR-050/051/054 amended)
12
+
13
+ Built the ADR set designed in the `/architect --plan` review (→ `/campaign`). Dependency-ordered: the gate↔Workflow fix is the P0 precondition for any future Workflow re-platforming.
14
+
15
+ ### Added
16
+
17
+ - **`docs/NATIVE_CAPABILITIES.md` (ADR-066)** — the native-capability collision tracker ADR-050 deferred and never created. Audits every `.claude/commands/*.md` against the mid-2026 native skill set with a recorded disposition each: `/engage`/`/sentinel` (rename+alias, done in ADR-050), `/qa` + `/test` (**coexist + document** — project-local CLI resolution wins; web/IDE users invoke the gated flow explicitly; rename deferred as too disruptive), `/git` (**keep** — native `/commit` is narrower than Coulson's release management), all others **keep**. Re-audit gate added to the release checklist.
18
+ - **ADR-064 / ADR-065 / ADR-066** decision records; `docs/COMPATIBILITY.md` Claude Code platform-floor + per-feature maturity table (ADR-065).
19
+
20
+ ### Changed
21
+
22
+ - **Silver Surfer gate now covers the Workflow tool (ADR-064).** `.claude/settings.json` matcher `"Agent"` → `"Agent|Workflow"`; `scripts/surfer-gate/check.sh` gates a Workflow launch on a recorded roster (Workflow `tool_input` has no `subagent_type`, so the Surfer-self rule simply doesn't match it). `scripts/surfer-gate/test.sh` gains 3 Workflow cases (no-roster→block, roster→allow, bypass→allow) — suite **23/23**; mirrored to `packages/methodology/scripts/surfer-gate/`. **Behavior change:** a Workflow run now requires a recorded roster or a `--light`/`--solo` bypass — closes the empirically-proven bypass (this session: 60+ workflow agents → 0 gate events). CLAUDE.md gate section updated.
23
+ - **`packages/methodology/package.json`** — informational `claudeCodeFloor` field (ADR-065; not npm-enforced; conservative baseline pending operator confirmation).
24
+ - **Amended ADRs:** ADR-051 (documents the Agent-tool-scoping limitation + ADR-064 closure), ADR-054 (effort tiers + Haiku 4.5 200K/no-`effort` constraints), ADR-050 (status → Accepted; tracker realized).
25
+
26
+ ### Deferred
27
+
28
+ - **ADR-054 effort fleet edit** (264-agent frontmatter `effort:`) — the *policy* shipped in v23.15.0 (SUB_AGENTS.md + flag mapping); the fleet edit waits on runtime verification that agent-frontmatter `effort:` is honored (ADR-054 precondition), to avoid breaking agent loading with an unverified key.
29
+ - **`/gauntlet` / `/assemble` Workflow re-platforming** — the opportunity ADR-064 *unblocks*, but a larger build than this ADR set; flagged for a future campaign.
30
+
31
+ ### Pipeline
32
+
33
+ Dogfooded pre-tag `npm test` + the publish-gate alignment. The gate fix is itself dogfooded — the Fixture-Bindability test (`Workflow launch, no roster → exit 2`) returned `exit 0` before the change and `exit 2` after. Dep range `^23.15.0` → `^23.16.0` (ADR-062).
34
+
35
+ ---
36
+
9
37
  ## [23.15.0] - 2026-06-13
10
38
 
11
39
  ### Platform alignment — gate↔Workflow (ADR-064) + model-ID/effort/concurrency currency
package/dist/CLAUDE.md CHANGED
@@ -31,7 +31,7 @@ ADR-051 enforces this gate at the hook level (PreToolUse). The prose below is th
31
31
 
32
32
  **Scope of override.** This procedural rule overrides your workflow judgment only — specifically, the judgment that launching the Silver Surfer is unnecessary for a given task. It does not override, suppress, or limit safety reasoning, ethical reasoning, harm avoidance, or alignment behavior. Those remain fully active regardless of any instruction in this file.
33
33
 
34
- **Hook enforcement (ADR-051 Phase 5b — live as of v23.8.14; state relocated per ADR-060 in v23.8.18).** A `PreToolUse` hook on the Agent tool (`scripts/surfer-gate/check.sh`) blocks any sub-agent launch that isn't the Silver Surfer itself, unless a roster has been recorded for this session or a bypass flag is set. State lives at `$XDG_RUNTIME_DIR/voidforge-gate/` (Linux) or `$HOME/.voidforge/gate/` (macOS fallback) — per-user, `0700`. This is the permanent enforcement mechanism. The prose above is a human-readable backup.
34
+ **Hook enforcement (ADR-051 Phase 5b — live as of v23.8.14; state relocated per ADR-060 in v23.8.18).** A `PreToolUse` hook on the **Agent and Workflow tools** (`scripts/surfer-gate/check.sh`; Workflow added per ADR-064) blocks any sub-agent or workflow launch that isn't the Silver Surfer itself, unless a roster has been recorded for this session or a bypass flag is set. State lives at `$XDG_RUNTIME_DIR/voidforge-gate/` (Linux) or `$HOME/.voidforge/gate/` (macOS fallback) — per-user, `0700`. This is the permanent enforcement mechanism. The prose above is a human-readable backup. **Workflow launches are gated identically (ADR-064):** a workflow run requires a recorded roster or a `--light`/`--solo` bypass — workflow-spawned sub-agents are invisible to the per-Agent hook, so gating the launch is what closes that bypass. Build/apply/research workflows that aren't review rosters should set a bypass.
35
35
 
36
36
  **Orchestrator contract** (you run these Bash commands at the right moments — wrap each in an existence guard so projects on older methodology versions don't error):
37
37
 
@@ -256,6 +256,8 @@ See `/docs/methods/MUSTER.md` for the full Muster Protocol.
256
256
  | **Time Vault** | `/docs/methods/TIME_VAULT.md` | Seldon — when preserving session intelligence for transfer |
257
257
  | **Patterns** | `/docs/patterns/` | When writing code (37 reference implementations) |
258
258
  | **Lessons** | `/docs/LESSONS.md` | Cross-project learnings |
259
+ | **Native Capabilities** | `/docs/NATIVE_CAPABILITIES.md` | Command × native-skill collision tracker (ADR-066) — re-audit each release |
260
+ | **Compatibility** | `/docs/COMPATIBILITY.md` | Node + Claude Code platform floor & feature maturity tags (ADR-065) |
259
261
 
260
262
  ## The Team
261
263
 
package/dist/VERSION.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Version
2
2
 
3
- **Current:** 23.15.0
3
+ **Current:** 23.16.0
4
4
 
5
5
  ## Versioning Scheme
6
6
 
@@ -14,6 +14,7 @@ This project uses [Semantic Versioning](https://semver.org/):
14
14
 
15
15
  | Version | Date | Summary |
16
16
  |---------|------|---------|
17
+ | 23.16.0 | 2026-06-13 | Platform-alignment campaign — implements the ADR set from `/architect --plan` (→ `/campaign`). **ADR-064 (gate↔Workflow) IMPLEMENTED:** the Silver Surfer `PreToolUse` hook matcher is now `Agent\|Workflow` and `check.sh` gates the **Workflow tool launch** on a recorded roster (closes the proven bypass where workflow-spawned agents skipped the gate); `test.sh` gains 3 Workflow cases (**23/23**), mirrored to the methodology package. **Behavior change:** a Workflow run now requires a recorded roster or a `--light`/`--solo` bypass — build/apply/research workflows should set a bypass. **ADR-065 (platform floor):** `docs/COMPATIBILITY.md` gains a Claude Code platform-floor + per-feature maturity table; informational `claudeCodeFloor` field; semver rule (raising the floor = breaking) + release-checklist item. **ADR-066 (native-capability tracker):** new `docs/NATIVE_CAPABILITIES.md` audits all commands vs native skills with dispositions (`/qa`,`/test` coexist+document; `/git` keep) — realizes ADR-050's deferred follow-up; release re-audit item added. Amended **ADR-051** (workflow-exemption→closure), **ADR-054** (effort tiers + Haiku 200K/no-effort). M2 effort fleet-edit deferred per ADR-054 precondition (runtime `effort:`-frontmatter honoring unverified). Dep `^23.15.0` → `^23.16.0`. |
17
18
  | 23.15.0 | 2026-06-13 | Platform-alignment build (`/architect --plan` → `/build` b+a). **P0:** empirically confirmed the Silver Surfer `PreToolUse` gate is **blind to Workflow-tool-spawned agents** (this session: 60+ workflow agents → 2 gate events; controlled probe BEFORE=2/AFTER=2) and wrote **ADR-064** (gate↔Workflow interop — extend matcher to `Agent\|Workflow`, gate the workflow launch; implementation tracked for the campaign). **P1-B near-free batch:** fixed a **live runtime bug** — `anthropic.ts` fell back to the non-existent `claude-sonnet-4-7` (404 on the exact degraded path the fallback exists for) → `claude-sonnet-4-6`, plus the bug-asserting test (now 6/6) and 4 docs; purged stale model IDs (`claude-sonnet-4-20250514`→`claude-sonnet-4-6` in 6 pattern files; `Opus 4.7`→`4.8` across SUB_AGENTS + 4 ADRs); added the **effort-tiering policy** (leads `xhigh` / specialists `medium` / Haiku omit-no-effort+200K ceiling) to SUB_AGENTS.md + CLAUDE.md flag-taxonomy mapping; **amended ADR-059** with the real platform caps (~16 concurrent / ~1,000 per run) and fixed GAUNTLET.md's contradicting "waves of 3". Dogfooded the pre-tag `npm test` gate (ADR from v23.13.1) + the publish-gate alignment (v23.14.0). Dep `^23.14.0` → `^23.15.0`. Follow-on (operator-directed): `/architect --plan` ADR-065/066 + amend ADR-051/054 → `/campaign` to build all. |
18
19
  | 23.14.0 | 2026-06-12 | Field Report Triage — 2 reports closed (#362, #363) via `/debrief --inbox`, 8 fixes across 9 files. **#363** (self-filed last session): release flow now runs the test suite as Step 5's first action before any tag (`git.md`, since tag-push arms an irreversible publish); **Numeric constant migration checklist** generalizing the error-shape rule (`TESTING.md`); **Registry-Derived Fan-Out** coverage rule — enumerate the accepted `(fixId,targetFile)` tuple set, diff-check after appliers (`SUB_AGENTS.md` + `debrief.md` Step 6); **Chronically-Red Check Policy** (red ≥2 releases → fix/informational/remove) + **Publish-gate alignment** (publish must `needs:` the full E2E+a11y suite, not unit-only) (`DEVOPS_ENGINEER.md` + `RELEASE_MANAGER.md`); Workflow `args`-as-JSON-string defensive parse + `gh workflow` scope note (`SUB_AGENTS.md` + `RELEASE_MANAGER.md`). **#362** (enhancements): a named, right-sized **Pre-Deploy Review Gate** (diff-scoped N lenses + mandatory adversarial-verify) documented in `SUB_AGENTS.md` and realized as a new `/engage --pre-deploy --diff` mode; atomic-visual **render-harness screenshot carve-out** (`QA_ENGINEER.md` + `PRODUCT_DESIGN_FRONTEND.md`). Dogfooded #363 in its own release: ran the coverage diff-check (9/9 files) and `npm test` (1390/1390) before tagging. Dep `^23.13.1` → `^23.14.0` (ADR-062). |
19
20
  | 23.13.1 | 2026-06-12 | Publish-gate fix for v23.13.0. The #360 roster-TTL change (600s→3600s in `scripts/surfer-gate/check.sh`) did not update the gate's own `test.sh`, whose "Stale roster (>10min) blocks" case aged a roster 11 min and expected a block — now still *fresh* under the 1-hour TTL, so it returned exit 0 (expected 2). The CI `pretest` gate (`bash scripts/surfer-gate/test.sh`) failed → the `Publish to npm` job's test stage failed → both publish jobs were skipped (v23.13.0 was tagged but **never published**; npm stayed at 23.12.2). Fix: age the stale-roster test roster to 61 min (past the new TTL) and relabel ">1hr". Pure CI-gate fix — no methodology behavior change beyond v23.13.0. Full suite 1390/1390 green. Lesson for next time: a TTL/threshold change in a gate script must update the gate's adversarial test in the same commit (the test.sh stale case is exactly the kind of threshold-coupled assertion #356-F4 / #358-F1 warn about). Dep range `^23.13.0` → `^23.13.1` (ADR-062). |
@@ -124,6 +124,8 @@ After every commit, Barton verifies:
124
124
  - [ ] For monorepo CLI/methodology pairs: the CLI's `voidforge-build-methodology` dep range is `^<current-version>`, never `"*"` (ADR-062 — pin tightening shipped in v23.11.3 to close the silent-cross-major drift)
125
125
  - [ ] All CI checks are green on the release commit, OR a chronically-red check has a recorded disposition (see DEVOPS_ENGINEER.md "Chronically-Red Check Policy") — a check red across ≥2 releases must be fixed, converted to informational, or removed, never tolerated silently (field report #363 F4)
126
126
  - [ ] The tag-push publish workflow declares a dependency on the FULL validation suite (E2E + a11y), not only unit tests — via `needs:` or a same-SHA `workflow_run`. A publish gate that excludes E2E/a11y can ship a critical regression a green unit gate never sees (field report #363 F4)
127
+ - [ ] **Platform floor unchanged since last release?** If a release newly depends on a Claude Code feature with a higher floor, flag it **breaking** and add a `⚠ raises Claude Code floor` CHANGELOG banner; confirm every newly-referenced platform feature is GA or explicitly Full-tier/opt-in (ADR-065, `docs/COMPATIBILITY.md`)
128
+ - [ ] **Native-capability collision re-audit:** any new native bundled skill colliding with a VoidForge command has a recorded disposition, and every `.claude/commands/*.md` has a row in `docs/NATIVE_CAPABILITIES.md` (ADR-066)
127
129
 
128
130
  ## CLAUDE.md Command Table Integrity Check
129
131
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "voidforge-build",
3
- "version": "23.15.0",
3
+ "version": "23.16.0",
4
4
  "description": "From nothing, everything. A methodology framework for building with Claude Code.",
5
5
  "type": "module",
6
6
  "engines": {
@@ -45,7 +45,7 @@
45
45
  "@aws-sdk/client-rds": "^3.700.0",
46
46
  "@aws-sdk/client-s3": "^3.700.0",
47
47
  "@aws-sdk/client-sts": "^3.700.0",
48
- "voidforge-build-methodology": "^23.15.0",
48
+ "voidforge-build-methodology": "^23.16.0",
49
49
  "node-pty": "^1.2.0-beta.12",
50
50
  "ws": "^8.19.0"
51
51
  },