mindforge-cc 11.9.0 → 11.9.2
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/.agent/mindforge/consult.md +1 -1
- package/.agent/mindforge/cost-report.md +1 -1
- package/.agent/mindforge/ship.md +2 -2
- package/.agent/mindforge/update.md +1 -1
- package/.agent/mindforge/wf-catalog.md +5 -2
- package/.claude/commands/mindforge/consult.md +1 -1
- package/.claude/commands/mindforge/cost-report.md +1 -1
- package/.claude/commands/mindforge/ship.md +2 -2
- package/.claude/commands/mindforge/skill-tdd.md +53 -0
- package/.claude/commands/mindforge/skills-index.md +118 -0
- package/.claude/commands/mindforge/systematic-debug.md +60 -0
- package/.claude/commands/mindforge/update.md +1 -1
- package/.claude/commands/mindforge/wf-accessibility-audit.md +31 -0
- package/.claude/commands/mindforge/wf-ai-model-eval.md +31 -0
- package/.claude/commands/mindforge/wf-api-migration.md +31 -0
- package/.claude/commands/mindforge/wf-architecture-modernization.md +32 -0
- package/.claude/commands/mindforge/wf-catalog.md +62 -0
- package/.claude/commands/mindforge/wf-code-audit.md +31 -0
- package/.claude/commands/mindforge/wf-code-explainer.md +31 -0
- package/.claude/commands/mindforge/wf-competitive-analysis.md +31 -0
- package/.claude/commands/mindforge/wf-competitive-teardown.md +31 -0
- package/.claude/commands/mindforge/wf-cost-analysis.md +31 -0
- package/.claude/commands/mindforge/wf-data-pipeline-validate.md +31 -0
- package/.claude/commands/mindforge/wf-database-migration.md +31 -0
- package/.claude/commands/mindforge/wf-debug-detective.md +32 -0
- package/.claude/commands/mindforge/wf-design-system-audit.md +31 -0
- package/.claude/commands/mindforge/wf-documentation-gen.md +31 -0
- package/.claude/commands/mindforge/wf-feature-planner.md +31 -0
- package/.claude/commands/mindforge/wf-incident-response.md +31 -0
- package/.claude/commands/mindforge/wf-multi-repo-sync.md +31 -0
- package/.claude/commands/mindforge/wf-mutation-testing.md +31 -0
- package/.claude/commands/mindforge/wf-onboard-codebase.md +31 -0
- package/.claude/commands/mindforge/wf-orchestrate-review.md +35 -0
- package/.claude/commands/mindforge/wf-perf-optimize.md +31 -0
- package/.claude/commands/mindforge/wf-pr-review.md +31 -0
- package/.claude/commands/mindforge/wf-refactor-plan.md +31 -0
- package/.claude/commands/mindforge/wf-release-prep.md +31 -0
- package/.claude/commands/mindforge/wf-security-threat-model.md +31 -0
- package/.claude/commands/mindforge/wf-tdd-sprint.md +31 -0
- package/.claude/commands/mindforge/wf-tech-evaluation.md +31 -0
- package/.claude/commands/mindforge/wf-ux-heuristic-audit.md +31 -0
- package/.claude/commands/mindforge/wf-verification-loop.md +45 -0
- package/.claude/commands/mindforge/wf-workflow-optimizer.md +51 -0
- package/.claude/commands/mindforge/wf-writer-reviewer.md +30 -0
- package/.mindforge/MINDFORGE-SCHEMA.json +126 -13
- package/.mindforge/config.json +3 -3
- package/.mindforge/engine/cost-tracking/router.md +1 -1
- package/.mindforge/engine/cost-tracking/token-ledger.md +21 -24
- package/.mindforge/memory/sync-manifest.json +1 -1
- package/.mindforge/metrics/METRICS-SCHEMA.md +13 -4
- package/.mindforge/personas/cost-optimizer.md +2 -2
- package/.mindforge/personas/doc-auditor.md +1 -1
- package/.mindforge/personas/monorepo-architect.md +2 -1
- package/.mindforge/personas/multi-model-bridge.md +1 -1
- package/.mindforge/personas/release-manager.md +5 -3
- package/.mindforge/skills/cost-aware-routing/SKILL.md +3 -3
- package/.mindforge/skills/documentation/SKILL.md +4 -1
- package/.mindforge/skills/multi-llm-consult/SKILL.md +2 -2
- package/CHANGELOG.md +216 -1821
- package/MINDFORGE.md +4 -4
- package/README.md +103 -509
- package/RELEASENOTES.md +75 -0
- package/SECURITY.md +1 -1
- package/bin/autonomous/audit-writer.js +48 -33
- package/bin/dashboard/api-router.js +11 -10
- package/bin/dashboard/error-response.js +44 -0
- package/bin/dashboard/frontend/index.html +20 -3
- package/bin/dashboard/metrics-aggregator.js +29 -8
- package/bin/dashboard/revops-api.js +12 -2
- package/bin/dashboard/server.js +85 -5
- package/bin/dashboard/temporal-api.js +11 -5
- package/bin/engine/remediation-engine.js +12 -1
- package/bin/engine/temporal-hub.js +41 -9
- package/bin/eval/eval-harness.js +212 -1
- package/bin/eval/golden-set-retrieval.json +9 -0
- package/bin/governance/policy-engine.js +8 -0
- package/bin/hindsight-injector.js +8 -2
- package/bin/hooks/instinct-capture-hook.js +7 -1
- package/bin/install.js +1 -1
- package/bin/learning/instinct-cli.js +7 -24
- package/bin/memory/knowledge-capture.js +23 -3
- package/bin/memory/knowledge-graph.js +70 -31
- package/bin/memory/vector-hub.js +304 -31
- package/bin/mindforge-cli.js +43 -11
- package/bin/models/cost-tracker.js +22 -23
- package/bin/models/model-router.js +28 -7
- package/bin/models/usage-record.js +71 -0
- package/bin/updater/changelog-fetcher.js +95 -5
- package/bin/utils/file-lock.js +106 -0
- package/bin/utils/mindforge-params.js +124 -0
- package/bin/utils/readiness-gate.js +3 -3
- package/bin/validate-config.js +34 -16
- package/changelogs/README.md +109 -0
- package/changelogs/index.json +103 -0
- package/changelogs/v0.1.0.md +21 -0
- package/changelogs/v0.2.0.md +15 -0
- package/changelogs/v0.3.0.md +28 -0
- package/changelogs/v0.4.0.md +29 -0
- package/changelogs/v0.5.0.md +34 -0
- package/changelogs/v0.6.0.md +34 -0
- package/changelogs/v1.0.0.md +60 -0
- package/changelogs/v1.0.1.md +15 -0
- package/changelogs/v1.0.2.md +10 -0
- package/changelogs/v1.0.3.md +10 -0
- package/changelogs/v1.0.4.md +10 -0
- package/changelogs/v1.0.5.md +10 -0
- package/changelogs/v10.0.0.md +71 -0
- package/changelogs/v10.0.2.md +15 -0
- package/changelogs/v10.0.3.md +21 -0
- package/changelogs/v10.0.4.md +16 -0
- package/changelogs/v10.0.5.md +16 -0
- package/changelogs/v10.0.6.md +15 -0
- package/changelogs/v10.0.7.md +15 -0
- package/changelogs/v10.0.8.md +15 -0
- package/changelogs/v10.0.9.md +15 -0
- package/changelogs/v10.1.0.md +16 -0
- package/changelogs/v10.1.1.md +15 -0
- package/changelogs/v10.2.0.md +14 -0
- package/changelogs/v10.3.0.md +13 -0
- package/changelogs/v10.4.0.md +13 -0
- package/changelogs/v10.5.0.md +13 -0
- package/changelogs/v10.6.0.md +13 -0
- package/changelogs/v10.7.0.md +15 -0
- package/changelogs/v11.0.0.md +66 -0
- package/changelogs/v11.0.1.md +10 -0
- package/changelogs/v11.1.0.md +56 -0
- package/changelogs/v11.2.0.md +41 -0
- package/changelogs/v11.2.1.md +38 -0
- package/changelogs/v11.3.0.md +45 -0
- package/changelogs/v11.3.1.md +39 -0
- package/changelogs/v11.4.0.md +38 -0
- package/changelogs/v11.5.0.md +77 -0
- package/changelogs/v11.5.1.md +47 -0
- package/changelogs/v11.6.0.md +45 -0
- package/changelogs/v11.7.0.md +30 -0
- package/changelogs/v11.7.1.md +8 -0
- package/changelogs/v11.8.0.md +19 -0
- package/changelogs/v11.8.1.md +28 -0
- package/changelogs/v11.8.2.md +22 -0
- package/changelogs/v11.8.3.md +22 -0
- package/changelogs/v11.9.0.md +17 -0
- package/changelogs/v11.9.1.md +8 -0
- package/changelogs/v11.9.2.md +209 -0
- package/changelogs/v2.0.0-alpha.1.md +42 -0
- package/changelogs/v2.0.0-alpha.10.md +13 -0
- package/changelogs/v2.0.0-alpha.11.md +14 -0
- package/changelogs/v2.0.0-alpha.12.md +16 -0
- package/changelogs/v2.0.0-alpha.2.md +14 -0
- package/changelogs/v2.0.0-alpha.3.md +17 -0
- package/changelogs/v2.0.0-alpha.4.md +17 -0
- package/changelogs/v2.0.0-alpha.7.md +18 -0
- package/changelogs/v2.0.0-alpha.8.md +11 -0
- package/changelogs/v2.0.0-alpha.9.md +12 -0
- package/changelogs/v2.0.0.md +35 -0
- package/changelogs/v2.1.0.md +22 -0
- package/changelogs/v2.1.1.md +25 -0
- package/changelogs/v2.1.2.md +21 -0
- package/changelogs/v2.3.2.md +19 -0
- package/changelogs/v2.3.3.md +16 -0
- package/changelogs/v2.3.4.md +16 -0
- package/changelogs/v2.3.5.md +21 -0
- package/changelogs/v2.4.0.md +29 -0
- package/changelogs/v2.5.0.md +26 -0
- package/changelogs/v2.6.0.md +26 -0
- package/changelogs/v3.0.0.md +17 -0
- package/changelogs/v4.0.0.md +19 -0
- package/changelogs/v4.1.0.md +19 -0
- package/changelogs/v4.3.0.md +31 -0
- package/changelogs/v5.0.0-alpha.1.md +35 -0
- package/changelogs/v5.0.0-alpha.2.md +22 -0
- package/changelogs/v5.1.0.md +42 -0
- package/changelogs/v5.2.0.md +18 -0
- package/changelogs/v5.3.0.md +14 -0
- package/changelogs/v5.4.0.md +28 -0
- package/changelogs/v5.5.0.md +11 -0
- package/changelogs/v5.6.0.md +11 -0
- package/changelogs/v5.7.0.md +12 -0
- package/changelogs/v5.8.0.md +12 -0
- package/changelogs/v5.9.0.md +11 -0
- package/changelogs/v6.0.0-alpha.md +45 -0
- package/changelogs/v6.1.0-alpha.md +29 -0
- package/changelogs/v6.2.0-alpha.md +30 -0
- package/changelogs/v6.2.0.md +21 -0
- package/changelogs/v6.3.0.md +14 -0
- package/changelogs/v6.4.0.md +13 -0
- package/changelogs/v6.5.0.md +13 -0
- package/changelogs/v6.6.0.md +12 -0
- package/changelogs/v6.7.0.md +12 -0
- package/changelogs/v7.0.0.md +13 -0
- package/changelogs/v8.0.0.md +14 -0
- package/changelogs/v8.1.0.md +13 -0
- package/changelogs/v8.2.0.md +12 -0
- package/changelogs/v8.2.1.md +11 -0
- package/changelogs/v9.0.0.md +20 -0
- package/docs/References/config-reference.md +73 -14
- package/docs/commands-reference.md +12 -6
- package/docs/faq.md +3 -3
- package/docs/getting-started.md +28 -3
- package/docs/sdk-reference.md +1 -1
- package/docs/user-guide.md +2 -2
- package/package.json +5 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.5.1] - 2026-06-11 — Robustness + governance-gate patch (Wave 8)
|
|
4
|
+
|
|
5
|
+
A fast-follow patch from a fresh adversarial audit of the shipped v11.5.0 tree.
|
|
6
|
+
Hardens crash-prone JSON parsing in the autonomous/memory pipelines, closes a
|
|
7
|
+
CI governance-gate gap, and tightens two security surfaces. No new features.
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **Crash-proof AUDIT.jsonl parsing** (`bin/memory/pillar-health-tracker.js`) —
|
|
12
|
+
`summarizePhase()` parsed every audit line with an unguarded `JSON.parse`, so a
|
|
13
|
+
single malformed/torn line crashed the knowledge-capture pipeline. Now parses
|
|
14
|
+
per-line in try/catch and skips bad lines.
|
|
15
|
+
- **Crash-proof compaction capture** (`bin/memory/knowledge-capture.js`) — a
|
|
16
|
+
malformed `handoff.json` no longer throws out of `captureFromCompaction()`; it
|
|
17
|
+
logs and returns `[]`, mirroring the missing-file path.
|
|
18
|
+
- **Resilient federated-sync stats** (`bin/memory/federated-sync.js`) — the two
|
|
19
|
+
unguarded `JSON.parse` calls on `sync-stats.json` (`handleSyncFailure`,
|
|
20
|
+
`resetFailures`) now fall back to `{failures:0}` on corruption, matching the
|
|
21
|
+
sibling `getLastSyncTimestamp` pattern.
|
|
22
|
+
|
|
23
|
+
### Security
|
|
24
|
+
|
|
25
|
+
- **CI Tier-3 governance gate now validates content** (`.github/workflows/control-plane.yml`)
|
|
26
|
+
— the gate counted approval files but never checked them; it now requires at
|
|
27
|
+
least one approval with `identity_verification.verified === true` and a
|
|
28
|
+
signature, and rejects any unverified/empty file. Completes the Wave-6
|
|
29
|
+
fail-closed `approve.js` work (a hand-committed empty approval no longer passes).
|
|
30
|
+
- **Dashboard approval attribution** (`bin/dashboard/api-router.js`) —
|
|
31
|
+
`POST /api/approve/:id` no longer records the client-supplied `approver`
|
|
32
|
+
(forgeable audit identity); it attributes the action to a fixed authenticated
|
|
33
|
+
actor. The dashboard remains localhost-bound + token-gated.
|
|
34
|
+
- **Destructive-command detector blocks Unix `truncate`** (`bin/security/trust-boundaries.js`)
|
|
35
|
+
— the SQL-only `truncate table` pattern missed `truncate -s 0 <path>` (in-place
|
|
36
|
+
file zeroing). Added a size-flag pattern so it is gated; benign uses stay allowed.
|
|
37
|
+
- **CI Tier-3 gate accepts an explicitly-acknowledged unverified approval**
|
|
38
|
+
(`.github/workflows/control-plane.yml`, `bin/governance/approve.js`) — since this
|
|
39
|
+
repo has no GPG signing infra, the gate accepts an approval that is either
|
|
40
|
+
GPG-verified OR an opted-in `unverified_ack` record (`approve.js` under
|
|
41
|
+
`MINDFORGE_ALLOW_UNVERIFIED_APPROVAL=1`), while still rejecting bare/stale
|
|
42
|
+
`verified:false` files. Replaced the stale v11.4.0 approval with a fresh one.
|
|
43
|
+
- **`uuid` dependency removed from `ads-engine`** (`bin/review/ads-engine.js`) — it
|
|
44
|
+
required the uninstalled `uuid` package, making `ads-engine` and (transitively)
|
|
45
|
+
`federated-sync` un-loadable in a clean install. Swapped to the built-in
|
|
46
|
+
`crypto.randomUUID()` (zero-native-deps); both modules now load.
|
|
47
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.6.0] - 2026-06-17 — Skill Forge
|
|
4
|
+
|
|
5
|
+
Largest single skill expansion in MindForge's history. Adds 80 community-sourced skills across 8 engineering domains with zero external attribution in any committed file. 30 skills are promoted to the engine tier for automatic trigger-matching; 50 live in the extended tier for explicit activation. Three new slash commands complete the discovery surface.
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Engine-tier skills (auto-trigger, `.mindforge/skills/`)** — 30 new skills activated automatically when task description matches trigger phrases:
|
|
10
|
+
- *Software development:* `systematic-debugging` (4-phase root-cause methodology), `test-driven-development` (RED-GREEN-REFACTOR), `plan` (implementation planning), `simplify-code`, `requesting-code-review`, `spike`, `subagent-driven-development`, `code-wiki`
|
|
11
|
+
- *DevOps & orchestration:* `kanban-orchestrator`, `kanban-worker` (multi-agent task routing)
|
|
12
|
+
- *GitHub workflows:* `github-code-review`, `github-pr-workflow`, `github-issues`, `codebase-inspection`
|
|
13
|
+
- *Research & intelligence:* `research-paper-writing`, `arxiv`, `osint-investigation`, `domain-intel`, `duckduckgo-search`, `scrapling`, `blogwatcher`
|
|
14
|
+
- *Creative:* `concept-diagrams` (SVG educational visuals), `creative-ideation`, `pixel-art`, `meme-generation`
|
|
15
|
+
- *Security:* `web-pentest` (authorized penetration testing), `oss-forensics`, `sherlock`
|
|
16
|
+
- *Data-science & note-taking:* `jupyter-live-kernel`, `obsidian`
|
|
17
|
+
|
|
18
|
+
- **Extended-tier skills (explicit activation, `.agent/skills/`)** — 20 additional skills beyond the promoted 30:
|
|
19
|
+
- *Software development:* `node-inspect-debugger`, `python-debugpy`, `skill-authoring`, `rest-graphql-debug`
|
|
20
|
+
- *GitHub:* `github-auth`, `github-repo-management`
|
|
21
|
+
- *DevOps:* `docker-management`, `devops-cli`, `devops-watchers`, `pinggy-tunnel`, `s6-container-supervision`
|
|
22
|
+
- *Research:* `llm-wiki`, `polymarket`, `parallel-cli`
|
|
23
|
+
- *Security:* `godmode`, `1password-skill`
|
|
24
|
+
- *Creative:* `hyperframes`, `article-illustrator`, `comic-creator`, `video-orchestrator`
|
|
25
|
+
|
|
26
|
+
- **3 new slash commands:**
|
|
27
|
+
- `/mindforge:systematic-debug` — 4-phase root-cause debugging (no fixes without RCA)
|
|
28
|
+
- `/mindforge:skill-tdd` — strict RED-GREEN-REFACTOR TDD enforcement
|
|
29
|
+
- `/mindforge:skills-index` — browseable catalog of all 153 skills grouped by category
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- `tests/install.test.js` — added `hermes-agent` to secret-scanner skip list (gitignored donor directory)
|
|
34
|
+
- `CLAUDE.md` — new **Extended Skill Library** section documents both skill tiers, trigger mechanics, and bulk import pattern
|
|
35
|
+
|
|
36
|
+
### Skill counts
|
|
37
|
+
|
|
38
|
+
| Tier | Before | After |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| Engine tier (`.mindforge/skills/`) | 202 | 232 |
|
|
41
|
+
| Extended tier (`.agent/skills/`) | 73 | 123 |
|
|
42
|
+
| Slash commands | 174 | 177 |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.7.0] - 2026-06-23 — Workflow Forge
|
|
4
|
+
|
|
5
|
+
First Dynamic Workflow Library for MindForge. Adds 12 pre-built multi-agent workflow scripts that users trigger via `/mindforge:wf-*` commands. Each workflow uses Claude Code's `Workflow` tool primitives (`parallel()`, `pipeline()`, `phase()`, `agent()`) for true fan-out concurrent agent execution with structured synthesis. Architecture follows adversarially-verified best practices: three-tier progressive disclosure, one-workflow-per-domain, predefined (not open-ended) patterns.
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Dynamic Workflow Library (`.mindforge/dynamic-workflows/`)** — 12 self-contained multi-agent workflow scripts:
|
|
10
|
+
- *Research tier:* `deep-research` (5× parallel searches → 3-vote adversarial verify → cited synthesis), `competitive-analysis` (5× parallel angles → SWOT → positioning), `tech-evaluation` (5× dimension agents → scored matrix → recommendation)
|
|
11
|
+
- *Dev tier:* `code-audit` (3× parallel auditors → adversarial verify → risk report), `feature-planner` (brief → PRD → architecture → user stories pipeline), `pr-review` (4× parallel reviewers → consensus verdict), `tdd-sprint` (Spec → Red → Green → Refactor loop), `refactor-plan` (debt scan → risk-sort → safe sequence → plan)
|
|
12
|
+
- *Ops tier:* `incident-response` (4× parallel investigation → mitigation → RCA → postmortem), `release-prep` (tests → changelog → version bump → PR → announcement)
|
|
13
|
+
- *Intelligence tier:* `onboard-codebase` (map → domain → architecture → guided tour), `perf-optimize` (profile → 4× parallel bottleneck hunt → fix plan → benchmarks)
|
|
14
|
+
- **13 new slash commands** — `/mindforge:wf-catalog` (browseable index) + 12 `/mindforge:wf-<name>` workflow commands
|
|
15
|
+
- **CLI workflow subcommand** — `node bin/mindforge-cli.js workflow list|info|run <name>` for discovery and metadata access
|
|
16
|
+
- **Workflow registry** — `index.json` (machine-readable) + `REGISTRY.md` (human-readable catalog) with tier, description, phases, and command for each workflow
|
|
17
|
+
- **`tests/workflow-registry.test.js`** — validates registry consistency, script meta exports, command mirror parity, and frontmatter schema for all workflow commands
|
|
18
|
+
|
|
19
|
+
### Summary
|
|
20
|
+
|
|
21
|
+
| Tier | Workflows | Commands |
|
|
22
|
+
|------|-----------|----------|
|
|
23
|
+
| Research | 3 | `wf-deep-research`, `wf-competitive-analysis`, `wf-tech-evaluation` |
|
|
24
|
+
| Dev | 4 | `wf-code-audit`, `wf-feature-planner`, `wf-pr-review`, `wf-tdd-sprint`, `wf-refactor-plan` |
|
|
25
|
+
| Ops | 2 | `wf-incident-response`, `wf-release-prep` |
|
|
26
|
+
| Intelligence | 2 | `wf-onboard-codebase`, `wf-perf-optimize` |
|
|
27
|
+
| **Total** | **12** | **13 (including wf-catalog)** |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.7.1] - 2026-06-23 — Workflow Forge (patch)
|
|
4
|
+
|
|
5
|
+
Patch release: adds `bin/parse-workflow-args.js` (slash command argument splitter, produced by the tdd-sprint E2E run) and resolves 2 high-severity npm vulnerabilities in the tmp/inquirer dependency chain. No feature changes; all 94 tests pass.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.8.0] - 2026-06-24 — Workflow Forge II
|
|
4
|
+
|
|
5
|
+
Expands the Dynamic Workflow Library from 12 to 33 workflows across 5 tiers, adding a new **Beast tier** for compound multi-phase multi-agent workflows with adversarial verification. 21 new workflows added. 92/92 tests pass.
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Beast tier** (3 compound workflows, 5 phases, 8+ agents): `security-hardening` (5-angle OWASP parallel scout + 3-vote adversarial verify + STRIDE threat model + remediation roadmap), `accessibility-audit` (WCAG 2.2 6-principle parallel audit + 3-vote verify + remediation spec), `security-threat-model` (asset inventory + 6-parallel STRIDE + mitigations + CVSS scoring)
|
|
10
|
+
- **Dev tier additions** (7): `test-coverage-gap`, `api-contract-test`, `mutation-testing`, `debug-detective`, `writer-reviewer`, `code-explainer`, `design-system-audit`
|
|
11
|
+
- **Ops tier additions** (4): `database-migration`, `dependency-health`, `multi-repo-sync`, `cost-analysis`
|
|
12
|
+
- **Intelligence tier additions** (3): `architecture-modernization`, `documentation-gen`, `api-migration`, `data-pipeline-validate` (4 total)
|
|
13
|
+
- **Research tier additions** (3): `ai-model-eval`, `ux-heuristic-audit`, `competitive-teardown`
|
|
14
|
+
- 21 new `/mindforge:wf-*` slash command pairs
|
|
15
|
+
- Updated `wf-catalog` listing all 33 workflows across 5 tiers
|
|
16
|
+
- `tests/workflow-registry.test.js` — `beast` added to valid tier allowlist
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.8.1] — 2026-07-01 — First Stable Release
|
|
4
|
+
|
|
5
|
+
### Security
|
|
6
|
+
- **mcp-server:** Patched hono to >=4.12.25 — fixes CORS credential reflection, path traversal (Windows), body-limit bypass, Set-Cookie merging, Lambda@Edge header drop
|
|
7
|
+
- **sdk:** Patched picomatch — fixes ReDoS via extglob quantifiers and Method Injection via POSIX character classes
|
|
8
|
+
- **ztai:** Added SECURITY_TIER_3_SIMULATED disclosure constant and startup warning for in-process key simulation
|
|
9
|
+
|
|
10
|
+
### Fixes
|
|
11
|
+
- `bin/sre/sli-verifier.js`: `simulateShadowWave()` now throws in non-simulate mode — gate with `MINDFORGE_SRE_SIMULATE=true`
|
|
12
|
+
- `bin/spawn-agent.js`: spawn stub now exits 1 with actionable error instead of silently succeeding
|
|
13
|
+
- `bin/memory/eis-client.js`: `resolveRemoteNode()` now throws explicitly instead of returning null
|
|
14
|
+
- `bin/browser/session-manager.js`: added `capabilities.importFromBrowser=false` export
|
|
15
|
+
- `.mindforge/config.json`: `mesh.node_id` changed from "beta-node" placeholder to "auto"
|
|
16
|
+
|
|
17
|
+
### Docs
|
|
18
|
+
- README: fixed stale version refs (11.5.1→11.8.1), corrected workflow count to 32, added Node.js >=18 prerequisite and Hello World section
|
|
19
|
+
- SECURITY.md: documented Tier-3 simulation scope, audit-hash replay boundary, spawn dispatch status
|
|
20
|
+
- docs/troubleshooting.md: added spawn stub, importFromBrowser, and test cwd entries
|
|
21
|
+
- docs/sdk-reference.md: updated version to 11.8.1, marked unimplemented methods
|
|
22
|
+
- docs/enterprise-setup.md: documented mesh.node_id configuration requirement
|
|
23
|
+
|
|
24
|
+
### Tests
|
|
25
|
+
- install.test.js + production.test.js: added cwd guard, scoped secrets scan to MindForge root only
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.8.2] — 2026-07-01 — Clean Stable Release
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- `bin/installer-core.js`: Added main-guard — `health` command now produces full diagnostic output
|
|
7
|
+
- `bin/mindforge-cli.js:185`: Fixed null-status bug — signal-killed child processes now exit with code 1 instead of 0
|
|
8
|
+
- `bin/change-classifier.js`: Tier 2 branch now pushes descriptive reasons to reasons[] array
|
|
9
|
+
- `sdk/tests/sdk.test.js:30`: Replaced hardcoded version "11.8.0" with dynamic package.json read
|
|
10
|
+
- `tests/sdk-exports.test.js`: Fixed MODULE_NOT_FOUND path resolution
|
|
11
|
+
- `README.md:7`: Updated "Latest: v11.8.0" header to "Latest: v11.8.1"
|
|
12
|
+
|
|
13
|
+
### Improvements
|
|
14
|
+
- `bin/spawn-agent.js --help`: Added v1.0 stub disclosure note to usage text
|
|
15
|
+
- `bin/governance/ztai-manager.js`: Lazy-instantiate SecureEnclaveProvider — eliminates spurious Tier-3 warning on commands that do not use Tier-3 trust
|
|
16
|
+
- `bin/review/cross-review-engine.js`: Added CLI entry point with --help, --diff, --phase, --context args
|
|
17
|
+
- `tests/worktree-engine.test.js`: Added 90-second timeout override to prevent false parallel-runner timeout
|
|
18
|
+
- ESLint: Resolved auto-fixable errors, lint stage now clean
|
|
19
|
+
- Test coverage: Added tests/errors.test.js and tests/file-io.test.js to improve coverage toward 80% target
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.8.3] — 2026-07-01 — Autopsy Fixes Stable Release
|
|
4
|
+
|
|
5
|
+
### Fixes (all confirmed by IQ200 deep audit)
|
|
6
|
+
- `bin/mindforge-cli.js`: Added `--version` / `-V` flag — now prints version and exits 0
|
|
7
|
+
- `bin/spawn-agent.js`: Marked spawn/identity as `[NOT IMPLEMENTED in v1.0]` in help text; added `assertSafeName()` path-containment guard to spawn branch
|
|
8
|
+
- `.mindforge/config.json`: `mesh.node_id` confirmed `"auto"` (not "beta-node")
|
|
9
|
+
- `bin/governance/rbac.js`: Created re-export shim → `rbac-manager.js`
|
|
10
|
+
- `bin/engine/skill-loader.js`: Created stub module with `loadSkill`, `matchTriggers`, `VERSION` exports
|
|
11
|
+
- `bin/memory/eis-client.js`: Added `module.exports.EISClient = EISClient` — named import now works
|
|
12
|
+
- `sdk/`: Added `@types/node` dev dependency; 24 TypeScript typecheck errors resolved
|
|
13
|
+
- `bin/autonomous/auto-runner.js`: `null` phase now throws `TypeError` instead of silently coercing to `"0"`
|
|
14
|
+
- `.mindforge/skills/`: Resolved 12 duplicate trigger strings — skill routing is now deterministic
|
|
15
|
+
|
|
16
|
+
### Health Score
|
|
17
|
+
- IQ200 audit: 248/258 → 258/258 checks passing (100%)
|
|
18
|
+
- Test suite: 95/97 → 95/97 (2 env-skipped, 0 failures)
|
|
19
|
+
- 0 CVEs across all 3 packages
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.9.0] — 2026-07-27 — Bedrock Provider + Full Dry-Run Audit
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- `bin/models/bedrock-provider.js`: AWS Bedrock provider with Anthropic/Bedrock config switch and base64 credential decoding
|
|
7
|
+
|
|
8
|
+
### Fixes (from a full exhaustive dry-run of all 224 commands, 216 personas, and 355 skills)
|
|
9
|
+
- Resolved phantom-tool references ported unmodified from a different agent harness across 40 personas and ~40 skills (`Context7`/`search_web`/`read_url_content` → `WebFetch`/`WebSearch`; `CommandStatus`/`ReadTerminal`/`terminal`/`read_file`/`write_file`/`search_files`/`patch` → real Claude Code tool names; `delegate_task` → `Agent`; `kanban_create` → `TaskCreate`)
|
|
10
|
+
- Repointed 21 broken `@.agent/references/` and `@.agent/templates/` path references to their real `docs/References/` and `docs/Templates/*/` locations
|
|
11
|
+
- Copied in missing companion `scripts/`/`references/`/`templates/` assets for 17 skills that referenced files never carried over during porting
|
|
12
|
+
- Fixed hardcoded broken paths (`~/.hermes/skills`, `/home/teknium/...`, `HERMES_HOME`)
|
|
13
|
+
- Fixed a markdown fence-nesting bug in `code-tour` and 4 truncated heredoc strings in `github-code-review`
|
|
14
|
+
- Removed banned single-word triggers (`test`, `tests`) from `testing-standards`
|
|
15
|
+
- CI: build SDK before test suite; run Verification before Health Check in execution-plane
|
|
16
|
+
- Security: patched hono and picomatch HIGH-severity vulnerabilities
|
|
17
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.9.1] — 2026-07-29 — Packaging Fix: Restore Missing Workflow Commands
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- A blanket `.claude/` rule in `.gitignore` (pre-existing, unrelated to the v11.9.0 work) was silently excluding 34 command files under `.claude/commands/mindforge/` from git — mostly the `wf-*` dynamic-workflow slash commands, plus `skill-tdd.md`, `skills-index.md`, and `systematic-debug.md`. Since `package.json`'s `files` array includes `.claude/commands/`, this meant **v11.9.0's published npm tarball was missing every `wf-*` slash command** even though the mirrored `.agent/mindforge/` copies shipped correctly. Removed the redundant gitignore rule (the repo's existing `*.local` pattern already covers the actual intended exclusion, `.claude/settings.local.json`) and committed all 34 files.
|
|
7
|
+
- Added a regression guard to `tests/packaging-allowlist.test.js` asserting `.claude/commands/mindforge/` and `.agent/mindforge/` ship the same file count — the prior `>=150` floor check passed throughout this gap's entire lifetime since both counts already exceeded 150 independently.
|
|
8
|
+
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [11.9.2] — 2026-08-16 — Correctness: audit-chain integrity, dashboard crash policy, secret scanning
|
|
4
|
+
|
|
5
|
+
Patch release. No new features. Correctness work closing defects found by a
|
|
6
|
+
multi-agent audit of v11.9.1, plus the regression suites that keep them closed.
|
|
7
|
+
Contains a breaking change to the dashboard HTTP surface — see BREAKING below.
|
|
8
|
+
|
|
9
|
+
### BREAKING
|
|
10
|
+
|
|
11
|
+
Shipped under a PATCH bump. The break is confined to the dashboard's own HTTP
|
|
12
|
+
surface, which binds to 127.0.0.1 only — but if you script against it, read this.
|
|
13
|
+
|
|
14
|
+
- **Dashboard error responses changed shape.** `detail` is removed from 5 endpoints and
|
|
15
|
+
raw errno strings from 10 more; `correlation_id` is added to 15; a malformed request
|
|
16
|
+
body now returns `application/json` instead of express's `text/html` error page.
|
|
17
|
+
Anything parsing `detail` must correlate on the logged `correlation_id` instead. This
|
|
18
|
+
was deliberate — those fields leaked absolute filesystem paths, and therefore the
|
|
19
|
+
operator's username and home directory, into an unauthenticated response body
|
|
20
|
+
(`requireAuth` exempts GET).
|
|
21
|
+
- **The dashboard now EXITS on an unhandled rejection or uncaught exception** where
|
|
22
|
+
11.9.1 logged and continued. If you supervise the process, expect restarts where you
|
|
23
|
+
previously saw a logged error. Rationale in the Fixed section below: log-and-continue
|
|
24
|
+
held client sockets open until the client timed out, and had made `shutdown()` swallow
|
|
25
|
+
a throwing token unlink and keep serving the authenticated mutation API after SIGTERM.
|
|
26
|
+
- **`node bin/validate-config.js` and `mindforge security-scan` can now fail.** They
|
|
27
|
+
previously reported `MINDFORGE.md valid — 0 settings configured` and exited 0 on every
|
|
28
|
+
input. If you run either in CI, a genuinely invalid registry will now red-line where it
|
|
29
|
+
used to pass. Note this reaches **fresh installs and `--force` reinstalls only** — the
|
|
30
|
+
installer does not overwrite an existing `.mindforge/MINDFORGE-SCHEMA.json`, so a plain
|
|
31
|
+
upgrade keeps the old permissive schema.
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
|
|
35
|
+
- **`security-scan` could not fail.** `bin/validate-config.js` and
|
|
36
|
+
`bin/models/model-router.js` each parsed `MINDFORGE.md` with a plain `KEY=value` regex, but
|
|
37
|
+
the registry declares its 43 parameters as bracketed `[KEY] = value`. Every schema property
|
|
38
|
+
resolved to `undefined` and short-circuited, so the command reported
|
|
39
|
+
`MINDFORGE.md valid — 0 settings configured` and exited 0 on any input. The schema also had
|
|
40
|
+
no `required` key at all. Both parsers now share `bin/utils/mindforge-params.js`, which also
|
|
41
|
+
accepts the legacy plain form (`examples/starter-project/MINDFORGE.md` ships 28 such lines),
|
|
42
|
+
and the schema declares real `required`/`recommended` sets.
|
|
43
|
+
**Behaviour change for consumers:** three CI gates go from unfailable to failable —
|
|
44
|
+
`.github/workflows/mindforge-ci.yml:38`, `.gitlab-ci-mindforge.yml:12`, and
|
|
45
|
+
`.github/workflows/control-plane.yml:100`. If one red-lines on a valid value, the schema
|
|
46
|
+
bound is wrong; do not "fix" it by editing `MINDFORGE.md`. Model routing is unchanged —
|
|
47
|
+
30 persona x tier combinations resolve identically.
|
|
48
|
+
- **Trace retrieval returned nothing usable.** Queries were wrapped as a single FTS phrase, so
|
|
49
|
+
any query containing one absent term scored zero; and `traces_search` was keyed on `trace_id`
|
|
50
|
+
rather than the primary key, so each span's DELETE evicted the previous span and only the last
|
|
51
|
+
span per trace stayed searchable — 2,270 of 5,117 content-bearing traces, 44.4%, unsearchable.
|
|
52
|
+
Queries are now tokenised, OR-joined and ranked by tf-idf (`matchinfo('pcnx')`); the index is
|
|
53
|
+
re-keyed and rebuilt losslessly from the base table. `bin/eval/eval-harness.js` and its golden
|
|
54
|
+
set had zero callers and are now reachable as `npm run eval:retrieval`, with the baseline
|
|
55
|
+
committed: mean recall@10 0.6417, nDCG 0.5698 over 519 documents.
|
|
56
|
+
- **The cost ledger reported two totals for one concept.** `sum(cost_usd)` was $13.73 while
|
|
57
|
+
`sum(total_cost_usd)` was $0.00, and `tests/dashboard.test.js` wrote the reader's field name,
|
|
58
|
+
so the mismatch tested green. `bin/models/usage-record.js` is now the single definition of the
|
|
59
|
+
ledger path, record shape, per-entry cost and day bucket. The configured `ledger_path` pointed
|
|
60
|
+
at `token-ledger.jsonl`, a file that has never existed; that ghost filename had spread to 17
|
|
61
|
+
places across 13 files and is now absent. The dashboard cost tile no longer renders `$0.00`
|
|
62
|
+
on a 500 — it had no `res.ok` check, and because errors return well-formed JSON the catch
|
|
63
|
+
never fired, making an outage indistinguishable from zero spend.
|
|
64
|
+
A maintainer tool, `scripts/purge-synthetic-usage.js`, removes fixture rows: dry-run by
|
|
65
|
+
default, backs up first, idempotent, and aborts leaving the ledger untouched if the rewrite
|
|
66
|
+
fails. It is run from a repository checkout — `scripts/` is not in the published tarball, so
|
|
67
|
+
installed consumers do not have it.
|
|
68
|
+
- **Audit hash chain could fork under concurrent writers.** `bin/autonomous/audit-writer.js`
|
|
69
|
+
read the chain head and appended with no mutual exclusion, and cached the head in-process
|
|
70
|
+
indefinitely — so once a second process appended, the first kept chaining from a superseded
|
|
71
|
+
hash. Added `bin/utils/file-lock.js` (a fail-closed advisory lock promoted from
|
|
72
|
+
`bin/learning/instinct-cli.js`, deliberately NOT from `.agent/bin/lib/state.cjs`, which
|
|
73
|
+
writes anyway when the lock cannot be taken) held across read-head-through-fsync, and made
|
|
74
|
+
the cached head carry the file size that witnesses it is still the tail. 8 concurrent
|
|
75
|
+
appenders went from 199 broken links + 4 forks per 200 entries to 0. A lock alone was
|
|
76
|
+
measured insufficient — it still left 2 breaks and 1 fork, because the stale cache is a
|
|
77
|
+
second, independent defect.
|
|
78
|
+
- **Knowledge-graph edge updates were lost under concurrency.** `deprecateEdge`,
|
|
79
|
+
`reinforceEdge` and `applyDecay` in `bin/memory/knowledge-graph.js` each did
|
|
80
|
+
`readAllEdges()` -> mutate -> append with no lock, and `addEdge` appended unserialised
|
|
81
|
+
against them. Measured at HEAD over 4 runs of 8 processes x 20 `reinforceEdge` calls:
|
|
82
|
+
93-129 of 160 increments lost, final `traversal_count` 31-67 instead of 160. All four
|
|
83
|
+
write paths now hold the `graph-edges.jsonl` lock across read-through-append; the same
|
|
84
|
+
probe then loses 0 of 160 in every run, with no lock-acquisition failures.
|
|
85
|
+
- `bin/governance/policy-engine.js`: `logAudit`'s un-awaited audit write now has a
|
|
86
|
+
`.catch()` — a lock-contention failure is reported at the decision site instead of
|
|
87
|
+
escaping as an unhandled rejection.
|
|
88
|
+
- `bin/hooks/instinct-capture-hook.js` appended to the instinct store without the lock that
|
|
89
|
+
`instinct-cli`'s prune/import rewrite holds, so a hook append landing in that window was
|
|
90
|
+
clobbered by the rename. It now takes the same lock.
|
|
91
|
+
- `tests/v7-sovereign-security.test.js`: `new PolicyEngine()` no longer defaults
|
|
92
|
+
`planningDir` to `process.cwd()`, which appended test verdicts to the operator's real
|
|
93
|
+
`.planning/RISK-AUDIT.jsonl`.
|
|
94
|
+
- Packaging: `package.json` files[] now excludes `**/*.lock` so a lockfile orphaned by a
|
|
95
|
+
hard kill cannot leak into the npm tarball (verified: without the negation, a
|
|
96
|
+
`.mindforge/memory/graph-edges.jsonl.lock` does ship).
|
|
97
|
+
|
|
98
|
+
- **Audit-chain forgery via un-awaited rollback.** `HindsightInjector.inject` called
|
|
99
|
+
the async `TemporalHub.rollbackTo` without `await`, so its rejection escaped the
|
|
100
|
+
surrounding `try/catch` while execution continued: a failed rollback still fsync'd a
|
|
101
|
+
hash-chained `hindsight_injected` entry and flipped `auto-state.json` to
|
|
102
|
+
`awaiting_regeneration` for something that never happened. The log gained a
|
|
103
|
+
cryptographically valid record of a non-event, and `verify-audit` reported the chain
|
|
104
|
+
valid — valid and wrong.
|
|
105
|
+
- **CLI `defaultArgs` were replaced by user arguments, not prepended.** `mindforge
|
|
106
|
+
health <anything>` lost `--check` and fell through to `installer-core`'s real
|
|
107
|
+
`install()` with `force: true`. Now prepended.
|
|
108
|
+
- **`_verifyMetadata` compared UTF-16 code units, not bytes**, so a 64-unit / 65-byte
|
|
109
|
+
`integrity` still threw `RangeError` — and the caller degraded that throw into
|
|
110
|
+
"proceeding without integrity check" and restored the snapshot anyway. Read and
|
|
111
|
+
verify are now separate stages; only a genuinely absent `SNAPSHOT-META.json` reaches
|
|
112
|
+
the tolerant path.
|
|
113
|
+
- **Dashboard `RevOpsAPI` was required but never mounted**, so `/api/revops/overview`
|
|
114
|
+
404'd while the AgRevOps panels and docs described it as live. Even mounted it threw:
|
|
115
|
+
`getAuditEntries()` returns `{entries,total,limit,offset}` and three engines call
|
|
116
|
+
`.filter()` on it.
|
|
117
|
+
- **Dashboard leaked error internals to clients.** `err.message` reached response
|
|
118
|
+
bodies from 14 sites (`api-router.js` ×10, `temporal-api.js` ×3, `revops-api.js` ×1);
|
|
119
|
+
for fs-sourced errors that string carries absolute paths, disclosing the operator's
|
|
120
|
+
username and home directory. All sites now log server-side and return a generic
|
|
121
|
+
message plus a `correlation_id`, behind a 4-arg terminal handler that stops express
|
|
122
|
+
rendering `err.stack` when `NODE_ENV !== 'production'`.
|
|
123
|
+
- **Test runner discovery was a flat `readdirSync`**, so any suite in a subdirectory was
|
|
124
|
+
invisible. Now a recursive walk that prunes `tmp-*` / `node_modules` / dot
|
|
125
|
+
directories — directories only, never files.
|
|
126
|
+
- Three orphan files removed: one truncated `.planning/AUDIT.jsonl` to zero, one
|
|
127
|
+
overwrote `.planning/STATE.md`, one called a function absent from `bin/`. Recursion
|
|
128
|
+
made the `STATE.md` clobberer reachable by a single in-place rename; the other two
|
|
129
|
+
were unreachable by the runner at any depth. **The claim in `5177225`'s message that
|
|
130
|
+
all three were newly armed by recursion is correct for one of the three and
|
|
131
|
+
over-attributed for the other two.**
|
|
132
|
+
- Three relocated demos kept one-level-up requires after moving a directory deeper, so
|
|
133
|
+
all three exited 1; corrected to `../../bin/`.
|
|
134
|
+
|
|
135
|
+
### Changed
|
|
136
|
+
|
|
137
|
+
- **`mindforge audit-skill`, `register-skill`, `install-skill` and `record-learning` no
|
|
138
|
+
longer carry `defaultArgs`.** Prepending turned them from inert into live state
|
|
139
|
+
writers: `audit-skill <name> <ver> <tier>` appended a hash-chained
|
|
140
|
+
`{event:'skill_installed', validation_passed:true}` entry for a skill that does not
|
|
141
|
+
exist, and `register-skill` wrote a malformed row above the table header of
|
|
142
|
+
`.mindforge/org/skills/MANIFEST.md`, which ships in the tarball. Bare invocations now
|
|
143
|
+
print usage and exit 0 without reaching those writers, as at v11.9.1.
|
|
144
|
+
- **`subagent` is a first-class command.** Prepending `spawn` shadowed `spawn-agent`'s
|
|
145
|
+
`subagent` mode, whose documented route was `mindforge spawn subagent <name>`.
|
|
146
|
+
- **The dashboard now exits on an unhandled rejection instead of logging and
|
|
147
|
+
continuing.** An escaped rejection is the only reliable signal that an async call was
|
|
148
|
+
left un-awaited, and express 4.22.1 does not route async handler rejections to error
|
|
149
|
+
middleware — log-and-continue held the client socket open until the client gave up
|
|
150
|
+
(2.5s, 4s and 8s clients all timed out) versus a ~15ms reset on exit. Symmetric with
|
|
151
|
+
`uncaughtException`, whose log-and-continue form had made `shutdown()` swallow a
|
|
152
|
+
throwing token unlink and keep serving the token-authenticated mutation API **after
|
|
153
|
+
SIGTERM**, with the bearer token still on disk and valid in memory.
|
|
154
|
+
- **Dashboard error responses changed shape.** `detail` is removed from 5 endpoints,
|
|
155
|
+
raw errno strings from 10 more, `correlation_id` is added to 15, and a malformed
|
|
156
|
+
request body now returns `application/json` rather than express's `text/html` error
|
|
157
|
+
page. Anything parsing `detail` must correlate on the logged id instead.
|
|
158
|
+
|
|
159
|
+
### Added
|
|
160
|
+
|
|
161
|
+
- **Secret scanning enforced at three layers**: `.gitleaks.toml`, a `.husky/pre-commit`
|
|
162
|
+
gate that fails loudly when gitleaks is absent rather than skipping, and
|
|
163
|
+
`.github/workflows/secret-scan.yml` scanning full history. `scripts/ci/verify-secret-scan.sh`
|
|
164
|
+
self-tests the scanner — it distinguishes "scanned clean" from "scanned and found"
|
|
165
|
+
from "did not scan", because gitleaks exits 1 for both a finding and a failed config
|
|
166
|
+
load, and writes no report in the latter case.
|
|
167
|
+
|
|
168
|
+
### Tests
|
|
169
|
+
|
|
170
|
+
- Suite totals for this release: **105 files, 103 pass, 2 environment-dependent skips**
|
|
171
|
+
(`browser`, `sre-integration`). Eight new suites across the release:
|
|
172
|
+
`temporal-integrity`, `dashboard-error-leak`, `dashboard-crash-guards`,
|
|
173
|
+
`dashboard-wiring`, `cli-router`, `mindforge-params`, `file-lock`, `retrieval-fts`.
|
|
174
|
+
- **Four suites could not report failure and now can.** `v8-persistence`,
|
|
175
|
+
`v8-skill-evolution` and `v8-orbital-governance` ended `finally { process.exit(0) }`, and
|
|
176
|
+
`v7-pillar-integration` had zero assertions with a premium-model gate that named two models
|
|
177
|
+
absent from the registry for several releases. `npm test` is the only quality step before
|
|
178
|
+
`npm publish`, and the runner gates on child exit codes, so a blind suite blinded the publish
|
|
179
|
+
gate. Verified by injected failure rather than inspection.
|
|
180
|
+
`dashboard-wiring` derives the expected router set
|
|
181
|
+
from `server.js`'s own requires, so adding a router without mounting it fails.
|
|
182
|
+
`cli-router` runs against a mirror-root sandbox under `os.tmpdir()` — required, not
|
|
183
|
+
tidiness: the case that proves audit forgery is prevented would otherwise forge an
|
|
184
|
+
entry into the real chain on every run. `revops-roi.test.js` had 0 assertions and
|
|
185
|
+
could not fail; it now has 6.
|
|
186
|
+
|
|
187
|
+
### Not fixed — deferred to v12
|
|
188
|
+
|
|
189
|
+
- **No hook is registered in any consumer install.** The installer copies 9 hook
|
|
190
|
+
scripts into `<runtime>/hooks/`, but nothing writes `.claude/settings.json` and it is
|
|
191
|
+
absent from `package.json` `files[]`. Verified by installing the tarball into a
|
|
192
|
+
scratch project. Every gate this release hardens is inert until that lands.
|
|
193
|
+
- **`requireAuth` exempts GET and OPTIONS**, so every read route — including
|
|
194
|
+
`/api/audit`, which serves the hash-chained audit log — is credential-free to any
|
|
195
|
+
local process. Mutations are protected. This is a threat-model decision, not a patch.
|
|
196
|
+
- **`audit-skill audit <name> <ver> <tier>`** — the explicit form — still reaches a
|
|
197
|
+
writer that performs no existence check and hardcodes `validation_passed: true`. Only
|
|
198
|
+
the bare invocation is closed.
|
|
199
|
+
- **Snapshot integrity is not an authenticity control.** `HMAC_KEY` is a literal in
|
|
200
|
+
shipped source, the HMAC covers only the metadata object so file **contents** are
|
|
201
|
+
unsigned (editing a file inside a signed snapshot leaves the signature valid), and
|
|
202
|
+
deleting `SNAPSHOT-META.json` bypasses verification entirely.
|
|
203
|
+
- `cwd: ROOT` in the CLI, which resolves consumer state inside `node_modules`.
|
|
204
|
+
- `security-scan` cannot fail: its parser expects `KEY=value` while `MINDFORGE.md` uses
|
|
205
|
+
`[KEY] = value`, so it always reports 0 settings and exits 0.
|
|
206
|
+
- Version drift in six publishable manifests (`Formula/mindforge.rb`, `Dockerfile`,
|
|
207
|
+
`mcp-server/server.json`, `mcp-server/src/index.ts`, the plugin manifest and the
|
|
208
|
+
marketplace entry) is untouched here — none is gated, and the Formula pins a tarball
|
|
209
|
+
sha256 that cannot exist before publish.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0-alpha.1] — Day 8: Autonomous Execution Engine — 2026-03-22
|
|
4
|
+
|
|
5
|
+
### Added (MindForge v2.0.0-alpha.1)
|
|
6
|
+
|
|
7
|
+
**Autonomous execution engine:**
|
|
8
|
+
|
|
9
|
+
- `/mindforge:auto` — walk-away autonomous phase/milestone execution
|
|
10
|
+
- `/mindforge:steer` — mid-execution guidance injection from second terminal
|
|
11
|
+
- Node repair operator: RETRY → DECOMPOSE → PRUNE → ESCALATE
|
|
12
|
+
- Stuck detection engine: 5 patterns (S01-S05)
|
|
13
|
+
- Headless CLI mode: `mindforge-cc headless --phase N`
|
|
14
|
+
- `.planning/steering-queue.jsonl` — steering instruction queue
|
|
15
|
+
- `.planning/auto-state.json` — real-time execution state
|
|
16
|
+
|
|
17
|
+
**MINDFORGE.md v2 settings:**
|
|
18
|
+
|
|
19
|
+
- AUTO_MODE_DEFAULT_TIMEOUT_MINUTES, AUTO_MODE_UAT
|
|
20
|
+
- AUTO_NODE_REPAIR_BUDGET, AUTO_RETRY_ON_VERIFY_FAIL
|
|
21
|
+
- AUTO_TASK_MAX_TOKENS, AUTO_TASK_TIMEOUT_MINUTES
|
|
22
|
+
- AUTO_PUSH_ON_WAVE_COMPLETE, AUTO_NOTIFY_ON_ESCALATION
|
|
23
|
+
|
|
24
|
+
### Hardened (v2.0.0-alpha.1)
|
|
25
|
+
|
|
26
|
+
- Gate 3 (secret detection) now runs PRE-COMMIT in auto mode
|
|
27
|
+
- Pre-flight dirty check excludes `.planning/` state files
|
|
28
|
+
- DECOMPOSE:- **Deny**: The action is blocked, and the violation is logged to `AUDIT.jsonl`.
|
|
29
|
+
- **Blast Radius Denial (v5.3.0)**: Action is blocked if the `Impact Score` exceeds the policy `max_impact` threshold.
|
|
30
|
+
- **Escalate**: The action requires a higher-tier DID signature or explicit HITL (Human-in-the-Loop) approval.
|
|
31
|
+
eserves module/package names
|
|
32
|
+
- Steering injection guard validates all instructions
|
|
33
|
+
- SIGTERM handler waits for task cleanup before saving state
|
|
34
|
+
|
|
35
|
+
### Architecture Decisions (v2.0.0-alpha.1)
|
|
36
|
+
|
|
37
|
+
- ADR-021: Autonomy Boundary
|
|
38
|
+
- ADR-022: Node Repair Hierarchy
|
|
39
|
+
- ADR-023: Gate 3 Timing
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0-alpha.10] — Skill Installation & Validation CLI — 2026-03-24
|
|
4
|
+
|
|
5
|
+
### Added (v2.0.0-alpha.10)
|
|
6
|
+
|
|
7
|
+
- New CLI commands: `validate-skill`, `install-skill`, `register-skill`, `audit-skill`.
|
|
8
|
+
- Robust skill validation logic (Level 1 & 2) in `bin/skill-validator.js`.
|
|
9
|
+
- Automated manifest management and audit logging in `bin/skill-registry.js`.
|
|
10
|
+
- Integrated CLI commands into the `install-skill.md` agentic workflow for higher reliability.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0-alpha.11] — Persistent Knowledge Graph — 2026-03-24
|
|
4
|
+
|
|
5
|
+
### Added (v2.0.0-alpha.11)
|
|
6
|
+
|
|
7
|
+
- **Persistent Knowledge Graph**: Core engine for long-term memory across projects.
|
|
8
|
+
- **`remember` CLI**: New command for manual knowledge management and semantic search.
|
|
9
|
+
- **Automated Capture**: Hooks in `AutoRunner` and `CrossReviewEngine` to ingest insights automatically from phase completions and review reports.
|
|
10
|
+
- **Context Injection**: `installer-core.js` now auto-injects relevant historical context into `CLAUDE.md` during installation.
|
|
11
|
+
- **`test-memory` CLI**: New command for memory suite verification.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0-alpha.12] — Self-Building Skills Platform — 2026-03-24
|
|
4
|
+
|
|
5
|
+
### Added (v2.0.0-alpha.12)
|
|
6
|
+
|
|
7
|
+
- **Self-Building Skills Platform**: Intelligent engine for automatically capturing skills from documentation, sessions, and npm packages.
|
|
8
|
+
- **`/mindforge:learn`**: High-level orchestration command for 7-step skill generation pipeline.
|
|
9
|
+
- **`/mindforge:marketplace`**: Seamless integration with npm registry for community skills discovery and installation.
|
|
10
|
+
- **7-Dimension Quality Scorer**: Static analysis tool ensuring high-quality, injection-safe skill authoring.
|
|
11
|
+
- **Auto-Capture Hook**: Automatic pattern detection from phase outputs (SUMMARY, ADR, HANDOFF).
|
|
12
|
+
- **CLI Commands**: `learn-skill` and `marketplace` added to `bin/mindforge-cli.js`.
|
|
13
|
+
- **ADR-036, ADR-037, ADR-038**: New architectural decisions for skill sourcing, capture thresholds, and quality gates.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0-alpha.2] — Day 9: Visual QA Engine (Browser Runtime Engine) — 2026-03-22
|
|
4
|
+
|
|
5
|
+
### Added (v2.0.0-alpha.2)
|
|
6
|
+
|
|
7
|
+
- [NEW] Persistent Browser Runtime (Playwright-powered Chromium daemon).
|
|
8
|
+
- [NEW] Visual Verification Hook (`<verify-visual>`) in PLAN files.
|
|
9
|
+
- [NEW] Systematic Visual QA Engine (`/mindforge:qa`).
|
|
10
|
+
- [NEW] Persistent Session Management for Browser Control.
|
|
11
|
+
- [NEW] ADR-024, ADR-025, ADR-026.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0-alpha.3] — Day 10: Multi-Model Intelligence Layer — 2026-03-22
|
|
4
|
+
|
|
5
|
+
### Added (v2.0.0-alpha.3)
|
|
6
|
+
|
|
7
|
+
- [NEW] Unified Multi-Model Intelligence Layer (Anthropic, OpenAI, Gemini).
|
|
8
|
+
- [NEW] Dynamic Model Router with Persona and Tier-based logic.
|
|
9
|
+
- [NEW] Real-time Cost Tracking and Daily Budget Enforcement.
|
|
10
|
+
- [NEW] Adversarial Cross-Model Code Review Engine (`/mindforge:cross-review`).
|
|
11
|
+
- [NEW] Deep Research Engine with Gemini 1.5 Pro 1M context support (`/mindforge:research`).
|
|
12
|
+
- [NEW] Model usage and cost reporting (`/mindforge:costs`).
|
|
13
|
+
- [NEW] Secure API handling with SSRF protection and header-based auth.
|
|
14
|
+
- [NEW] ADR-027, ADR-028, ADR-029.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0-alpha.4] — Day 11: Persistent Knowledge Graph (Long-Term Memory) — 2026-03-22
|
|
4
|
+
|
|
5
|
+
### Added (v2.0.0-alpha.4)
|
|
6
|
+
|
|
7
|
+
- [NEW] Persistent Knowledge Graph for long-term memory across sessions.
|
|
8
|
+
- [NEW] TF-IDF search engine with confidence-based relevance ranking.
|
|
9
|
+
- [NEW] Automated Knowledge Capture from ADRs, Debug Reports, and Retrospectives.
|
|
10
|
+
- [NEW] Global Knowledge Sync for machine-wide insight sharing (`~/.mindforge/global-knowledge-base.jsonl`).
|
|
11
|
+
- [NEW] Skill SDK integration for programmatic memory access.
|
|
12
|
+
- [NEW] Manual memory management command (`/mindforge:remember`).
|
|
13
|
+
- [NEW] Append-only audit-ready storage schema for all knowledge types.
|
|
14
|
+
- [NEW] ADR-030, ADR-031, ADR-032.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0-alpha.7] — Day 12: Real-time Observability Dashboard — 2026-03-22
|
|
4
|
+
|
|
5
|
+
### Added (v2.0.0-alpha.7)
|
|
6
|
+
|
|
7
|
+
- [NEW] Real-time Dashboard Server (Express + SSE Bridge).
|
|
8
|
+
- [NEW] Premium 5-tab UI: Activity, Metrics, Approvals, Memory, Team.
|
|
9
|
+
- [NEW] Live Data Streaming for Audit Logs, Quality, Costs, and Team Activity.
|
|
10
|
+
- [NEW] Hardened Tier 3 Governance: Mandatory Plan ID typing for sensitive approvals.
|
|
11
|
+
- [NEW] Metrics Aggregator: Multi-source JSONL processing for observability.
|
|
12
|
+
- [NEW] CLI Command: `/mindforge:dashboard` for server lifecycle management.
|
|
13
|
+
- [NEW] ADR-033: Real-time Observability Architecture.
|
|
14
|
+
- [HARDENED] SSE Rotation Detection (Inode-based).
|
|
15
|
+
- [HARDENED] Localhost-only Security Model (Strict CORS/Binding).
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|