mindforge-cc 11.9.2 → 11.9.3
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/CLAUDE.md +37 -13
- package/.agent/hooks/mindforge-block-no-verify.js +61 -13
- package/.agent/hooks/mindforge-config-protection.js +82 -3
- package/.agent/hooks/mindforge-context-monitor.js +1 -1
- package/.agent/hooks/mindforge-workflow-guard.js +2 -2
- package/.agent/hooks/run-with-flags.js +190 -20
- package/.agent/mindforge/browse.md +2 -2
- package/.agent/mindforge/checkpoint.md +1 -1
- package/.agent/mindforge/harness-audit.md +1 -1
- package/.agent/mindforge/orch-add-feature.md +1 -1
- package/.agent/mindforge/orch-build-mvp.md +1 -1
- package/.agent/mindforge/orch-change-feature.md +1 -1
- package/.agent/mindforge/orch-fix-defect.md +1 -1
- package/.agent/mindforge/orch-refine-code.md +1 -1
- package/.agent/mindforge/qa.md +2 -2
- package/.claude/CLAUDE.md +37 -13
- package/.claude/commands/mindforge/browse.md +2 -2
- package/.claude/commands/mindforge/checkpoint.md +1 -1
- package/.claude/commands/mindforge/harness-audit.md +1 -1
- package/.claude/commands/mindforge/orch-add-feature.md +1 -1
- package/.claude/commands/mindforge/orch-build-mvp.md +1 -1
- package/.claude/commands/mindforge/orch-change-feature.md +1 -1
- package/.claude/commands/mindforge/orch-fix-defect.md +1 -1
- package/.claude/commands/mindforge/orch-refine-code.md +1 -1
- package/.claude/commands/mindforge/qa.md +2 -2
- package/.mindforge/MINDFORGE-SCHEMA.json +1 -1
- package/.mindforge/config.json +3 -3
- package/.mindforge/engine/autonomous/headless-adapter.md +2 -2
- package/.mindforge/engine/temporal-protocol.md +2 -2
- package/.mindforge/governance/change-classifier.md +20 -4
- package/.mindforge/memory/sync-manifest.json +1 -1
- package/.mindforge/skills/agent-architecture-audit/SKILL.md +2 -2
- package/.mindforge/skills/orch-pipeline/SKILL.md +4 -4
- package/CHANGELOG.md +194 -0
- package/MINDFORGE.md +13 -6
- package/README.md +4 -3
- package/RELEASENOTES.md +2 -2
- package/SECURITY.md +22 -3
- package/bin/autonomous/auto-runner.js +65 -2
- package/bin/change-classifier.js +151 -16
- package/bin/dashboard/api-router.js +18 -38
- package/bin/dashboard/frontend/app.js +429 -0
- package/bin/dashboard/frontend/index.html +13 -406
- package/bin/dashboard/metrics-aggregator.js +46 -22
- package/bin/dashboard/server.js +160 -1
- package/bin/dashboard/sse-bridge.js +11 -8
- package/bin/engine/sre-manager.js +1 -1
- package/bin/engine/temporal-cli.js +56 -6
- package/bin/engine/verification-runner.js +134 -17
- package/bin/engine/verify-cli.js +25 -7
- package/bin/governance/approval-record.js +147 -0
- package/bin/governance/approve.js +12 -7
- package/bin/governance/policy-engine.js +33 -3
- package/bin/governance/policy-gate-hardened.js +36 -1
- package/bin/governance/verify-approvals.js +163 -0
- package/bin/harness-audit.js +224 -10
- package/bin/hooks/instinct-capture-hook.js +12 -4
- package/bin/install.js +63 -3
- package/bin/installer/harness-adapter-compliance.js +339 -28
- package/bin/installer/hook-registration.js +504 -0
- package/bin/installer-core.js +451 -63
- package/bin/learning/instinct-cli.js +7 -0
- package/bin/memory/vector-hub.js +196 -13
- package/bin/migrations/0.6.0-to-1.0.0.js +30 -25
- package/bin/migrations/1.0.0-to-2.0.0.js +22 -23
- package/bin/mindforge-cli.js +67 -6
- package/bin/models/cost-tracker.js +104 -6
- package/bin/models/model-client.js +6 -1
- package/bin/revops/debt-monitor.js +57 -13
- package/bin/security/trust-gate-hook.js +50 -6
- package/bin/skill-validator.js +6 -1
- package/bin/skills-builder/skill-scorer.js +46 -6
- package/bin/updater/self-update.js +6 -1
- package/bin/updater/version-comparator.js +21 -1
- package/bin/utils/mindforge-version.js +99 -0
- package/bin/utils/redact-secrets.js +106 -0
- package/bin/validate-config.js +42 -2
- package/bin/wizard/setup-wizard.js +4 -1
- package/bin/wizard/theme.js +9 -1
- package/changelogs/index.json +11 -9
- package/changelogs/v11.9.3.md +195 -0
- package/docs/References/config-reference.md +5 -2
- package/docs/References/sdk-api.md +1 -1
- package/docs/Templates/Codebase/architecture.md +1 -1
- package/docs/commands-reference.md +4 -5
- package/docs/faq.md +25 -5
- package/docs/getting-started.md +3 -3
- package/docs/sdk-reference.md +15 -7
- package/docs/troubleshooting.md +10 -6
- package/docs/user-guide.md +14 -14
- package/examples/sdk-integration/README.md +1 -1
- package/package.json +7 -3
- package/subagents/.claude-plugin/marketplace.json +1 -1
- package/bin/dashboard/approval-handler.js +0 -136
package/docs/user-guide.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# MindForge User Guide (v11.9.
|
|
1
|
+
# MindForge User Guide (v11.9.3)
|
|
2
2
|
|
|
3
3
|
This guide gets you from install to productive, with the minimum needed to run MindForge in a real project.
|
|
4
4
|
|
|
5
|
-
> **v11.9.
|
|
5
|
+
> **v11.9.3 Stats:** 35 workflows · 221 slash commands · 232 engine skills · 216 personas · 0 CVEs · 258/258 IQ200 checks passing
|
|
6
6
|
|
|
7
7
|
## Prerequisites
|
|
8
8
|
|
|
@@ -44,7 +44,7 @@ mindforge health # Verify project integrity
|
|
|
44
44
|
mindforge security-scan # Run security checks
|
|
45
45
|
mindforge headless # Run agent in non-interactive mode
|
|
46
46
|
mindforge --verbose ... # Enable verbose output for debugging
|
|
47
|
-
mindforge --version # Print installed version (e.g. 11.9.
|
|
47
|
+
mindforge --version # Print installed version (e.g. 11.9.3) and exit 0
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
Use `--verbose` (or `-v`) on any command for detailed diagnostic output. Use `--version` (or `-V`) to print the installed version and exit.
|
|
@@ -127,7 +127,7 @@ MindForge features 211 specialized personas. Each persona is optimized for a spe
|
|
|
127
127
|
To switch personas or see the full list:
|
|
128
128
|
|
|
129
129
|
```bash
|
|
130
|
-
/
|
|
130
|
+
ls .mindforge/personas/ # 216 persona briefs; there is no personas command
|
|
131
131
|
```
|
|
132
132
|
|
|
133
133
|
---
|
|
@@ -137,7 +137,7 @@ To switch personas or see the full list:
|
|
|
137
137
|
For complex tasks that require minimal intervention:
|
|
138
138
|
|
|
139
139
|
```bash
|
|
140
|
-
/mindforge:
|
|
140
|
+
/mindforge:auto --phase [N]
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
Use the **Steer** command to guide logic without stopping execution:
|
|
@@ -153,7 +153,7 @@ Use the **Steer** command to guide logic without stopping execution:
|
|
|
153
153
|
Observe your agent waves, token spend, and milestone progress in real-time.
|
|
154
154
|
|
|
155
155
|
```bash
|
|
156
|
-
/mindforge:dashboard --
|
|
156
|
+
/mindforge:dashboard --open
|
|
157
157
|
```
|
|
158
158
|
|
|
159
159
|
The dashboard provides a premium web interface at `http://localhost:7339`.
|
|
@@ -179,7 +179,7 @@ Extend MindForge by learning from documentation or authoring custom protocols.
|
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
181
|
/mindforge:learn https://docs.nextjs.org "nextjs-mastery"
|
|
182
|
-
/mindforge:
|
|
182
|
+
/mindforge:skills-index # browse the catalogue; author new skills per the guide in CLAUDE.md
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
---
|
|
@@ -189,7 +189,7 @@ Extend MindForge by learning from documentation or authoring custom protocols.
|
|
|
189
189
|
MindForge features automated PR creation and commit management.
|
|
190
190
|
|
|
191
191
|
```bash
|
|
192
|
-
/
|
|
192
|
+
git switch -c feature/auth-refactor # no pr-branch command; use git, then /mindforge:pr-review
|
|
193
193
|
/mindforge:ship --auto-pr
|
|
194
194
|
```
|
|
195
195
|
|
|
@@ -202,7 +202,7 @@ MindForge provides mission-critical resilience and sovereign reasoning for enter
|
|
|
202
202
|
### Multi-Cloud Arbitrage
|
|
203
203
|
MindForge automatically hedges against provider outages and optimizes for cost/latency.
|
|
204
204
|
```bash
|
|
205
|
-
|
|
205
|
+
# settings live in MINDFORGE.md as [KEY] = value; edit it, then run `mindforge security-scan`
|
|
206
206
|
```
|
|
207
207
|
|
|
208
208
|
### Sovereign Reason Enclaves (SRE)
|
|
@@ -214,8 +214,8 @@ Tier 3 (Principal) agents execute reasoning in isolated enclaves to protect sens
|
|
|
214
214
|
### Dynamic Human-Agent Handover & Temporal Steering (Pillar VII)
|
|
215
215
|
NEXUS enables sub-second state reconstruction and **Hindsight Injection**. When an agent drifts, roll back its logic via the Dashboard's **Temporal Slider** and inject a steering vector to re-orient the wave.
|
|
216
216
|
```bash
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
mindforge temporal status # View active reasoning snapshots (a CLI command)
|
|
218
|
+
mindforge temporal inject [ID] # Manual CLI-based hindsight
|
|
219
219
|
```
|
|
220
220
|
|
|
221
221
|
### Agentic Revenue Operations (AgRevOps) (Pillar VIII)
|
|
@@ -239,7 +239,7 @@ The **Enterprise Expansion** introduces 14 hardened protocols from the Superpowe
|
|
|
239
239
|
|
|
240
240
|
Activate the mesh for any session:
|
|
241
241
|
```bash
|
|
242
|
-
/
|
|
242
|
+
# the orchestrator layer is a protocol in .mindforge/engine/, not a command
|
|
243
243
|
```
|
|
244
244
|
|
|
245
245
|
---
|
|
@@ -260,7 +260,7 @@ Keep your framework current with the latest personas and library updates:
|
|
|
260
260
|
|
|
261
261
|
MindForge allows you to "time-travel" through your agent's reasoning.
|
|
262
262
|
|
|
263
|
-
1. **Launch the Dashboard**: `/mindforge:dashboard --
|
|
263
|
+
1. **Launch the Dashboard**: `/mindforge:dashboard --open`
|
|
264
264
|
2. **Navigate to 'Temporal'**: Use the horizontal slider to scrub through reasoning snapshots.
|
|
265
265
|
3. **Inspect State**: View the exact memory, file diffs, and thought chain at that point in space-time.
|
|
266
266
|
4. **Inject Hindsight**: If you see a logic error, use the **Hindsight Injector** form to roll back and provide a corrective "Steering Vector."
|
|
@@ -283,4 +283,4 @@ Monitor your project's economic performance in real-time via the **RevOps Hub**.
|
|
|
283
283
|
- **USP & Roadmap**: `docs/usp-features.md`
|
|
284
284
|
- **Commands**: `docs/commands-reference.md`
|
|
285
285
|
- **Troubleshooting**: `docs/troubleshooting.md`
|
|
286
|
-
- **
|
|
286
|
+
- **Issues**: https://github.com/sairam0424/MindForge/issues
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mindforge-cc",
|
|
3
|
-
"version": "11.9.
|
|
4
|
-
"description": "MindForge
|
|
3
|
+
"version": "11.9.3",
|
|
4
|
+
"description": "MindForge — Sovereign Agentic Intelligence Framework. Sovereign Stability: Production-Hardened Agentic Intelligence (v11)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"mindforge-cc": "bin/install.js",
|
|
7
7
|
"mindforge": "bin/mindforge-cli.js"
|
|
@@ -62,12 +62,16 @@
|
|
|
62
62
|
"coverage": "npx c8 node tests/run-all.js",
|
|
63
63
|
"lint": "eslint .",
|
|
64
64
|
"harness:audit": "node bin/harness-audit.js",
|
|
65
|
+
"harness:gate": "node bin/harness-audit.js --min-score 76 --fail-on-findings",
|
|
66
|
+
"harness:gate:install": "node scripts/ci/harness-gate-install.js",
|
|
65
67
|
"harness:compliance": "node bin/installer/harness-adapter-compliance.js --check",
|
|
66
68
|
"release:ready": "node bin/utils/readiness-gate.js release",
|
|
69
|
+
"version:check": "node scripts/sync-version.js --check",
|
|
67
70
|
"validate:assets": "node scripts/ci/validate-assets.js",
|
|
68
71
|
"eval:retrieval": "node bin/eval/eval-harness.js --set golden-set-retrieval.json --min-recall 0.55",
|
|
69
72
|
"commit": "cz",
|
|
70
|
-
"prepare": "husky"
|
|
73
|
+
"prepare": "husky",
|
|
74
|
+
"verify:pinning": "node scripts/ci/verify-action-pinning.js"
|
|
71
75
|
},
|
|
72
76
|
"keywords": [
|
|
73
77
|
"claude-code",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"version": "1.0.3",
|
|
9
|
-
"description": "Curated collection of
|
|
9
|
+
"description": "Curated collection of 164 specialized Claude Code subagents organized into 10 focused categories"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MindForge v2 — Approval Handler
|
|
3
|
-
* Handles POST /api/approve/:id — approve or reject governance requests.
|
|
4
|
-
* Reads/writes APPROVAL-*.json files in .planning/approvals/
|
|
5
|
-
*/
|
|
6
|
-
'use strict';
|
|
7
|
-
|
|
8
|
-
const fs = require('fs');
|
|
9
|
-
const path = require('path');
|
|
10
|
-
|
|
11
|
-
// Paths resolved lazily for testing
|
|
12
|
-
const getPaths = () => ({
|
|
13
|
-
approvals: path.join(process.cwd(), '.planning', 'approvals'),
|
|
14
|
-
audit: path.join(process.cwd(), '.planning', 'AUDIT.jsonl'),
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Process an approval decision from the dashboard.
|
|
19
|
-
* @param {string} approvalId - The APPROVAL UUID
|
|
20
|
-
* @param {string} decision - 'approve' or 'reject'
|
|
21
|
-
* @param {string} comment - Optional comment
|
|
22
|
-
* @param {string} approver - Approver identifier (email or name)
|
|
23
|
-
* @returns {{ success, decision, message }}
|
|
24
|
-
*/
|
|
25
|
-
function processDecision(approvalId, decision, comment, approver, confirmationId = null) {
|
|
26
|
-
// Input validation
|
|
27
|
-
if (!approvalId || typeof approvalId !== 'string') {
|
|
28
|
-
return { success: false, error: 'Invalid approval ID' };
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Sanitize approvalId — only allow UUID characters
|
|
32
|
-
if (!/^[a-f0-9-]{36}$/.test(approvalId)) {
|
|
33
|
-
return { success: false, error: 'Malformed approval ID format' };
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (!['approve', 'reject'].includes(decision)) {
|
|
37
|
-
return { success: false, error: 'Decision must be "approve" or "reject"' };
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Find the approval file
|
|
41
|
-
const paths = getPaths();
|
|
42
|
-
const filePath = path.join(paths.approvals, `APPROVAL-${approvalId}.json`);
|
|
43
|
-
if (!fs.existsSync(filePath)) {
|
|
44
|
-
return { success: false, error: `Approval not found: ${approvalId}` };
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
let approval;
|
|
48
|
-
try {
|
|
49
|
-
approval = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
50
|
-
} catch {
|
|
51
|
-
return { success: false, error: 'Cannot parse approval file' };
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// Validate approval is still pending
|
|
55
|
-
if (approval.status !== 'pending') {
|
|
56
|
-
return { success: false, error: `Approval already ${approval.status}` };
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Check expiry
|
|
60
|
-
if (approval.expires_at && new Date(approval.expires_at) < new Date()) {
|
|
61
|
-
return { success: false, error: 'Approval has expired' };
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// TIER 3 CONFIRMATION — require typing the plan ID
|
|
65
|
-
if (approval.tier === 3 && decision === 'approve') {
|
|
66
|
-
const expectedConfirmation = `${approval.phase}-${approval.plan}`;
|
|
67
|
-
if (!confirmationId || confirmationId.trim() !== expectedConfirmation) {
|
|
68
|
-
return {
|
|
69
|
-
success: false,
|
|
70
|
-
error: `Tier 3 approval requires typing the plan ID "${expectedConfirmation}" to confirm.`,
|
|
71
|
-
confirmation_required: true,
|
|
72
|
-
expected: expectedConfirmation,
|
|
73
|
-
tier3_warning: 'This is a Tier 3 change (auth/payment/PII). Review the code diff before approving.',
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// Write AUDIT entry FIRST (before updating file)
|
|
79
|
-
writeAuditEntry({
|
|
80
|
-
id: require('crypto').randomBytes(8).toString('hex'),
|
|
81
|
-
timestamp: new Date().toISOString(),
|
|
82
|
-
event: decision === 'approve' ? 'approval_granted' : 'approval_rejected',
|
|
83
|
-
approval_id: approvalId,
|
|
84
|
-
tier: approval.tier,
|
|
85
|
-
phase: approval.phase,
|
|
86
|
-
plan: approval.plan,
|
|
87
|
-
resolved_by: approver || 'dashboard',
|
|
88
|
-
comment: comment || null,
|
|
89
|
-
agent: 'mindforge-dashboard',
|
|
90
|
-
session_id: 'dashboard',
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
// Update approval file
|
|
94
|
-
const updated = {
|
|
95
|
-
...approval,
|
|
96
|
-
status: decision === 'approve' ? 'approved' : 'rejected',
|
|
97
|
-
resolved_at: new Date().toISOString(),
|
|
98
|
-
resolved_by: approver || 'dashboard',
|
|
99
|
-
comment: comment || null,
|
|
100
|
-
resolution_channel: 'mindforge-dashboard',
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
fs.writeFileSync(filePath, JSON.stringify(updated, null, 2));
|
|
104
|
-
|
|
105
|
-
return {
|
|
106
|
-
success: true,
|
|
107
|
-
decision,
|
|
108
|
-
approval_id: approvalId,
|
|
109
|
-
tier: approval.tier,
|
|
110
|
-
message: `${approval.tier === 3 ? 'Tier 3' : 'Tier 2'} approval ${decision}d for Plan ${approval.phase}-${approval.plan}`,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function writeAuditEntry(entry) {
|
|
115
|
-
try {
|
|
116
|
-
const paths = getPaths();
|
|
117
|
-
if (!fs.existsSync(path.dirname(paths.audit))) return;
|
|
118
|
-
// UC-04b: unified, hash-chained, durable append into the single verifiable chain.
|
|
119
|
-
const { appendAuditEntrySync } = require('../autonomous/audit-writer');
|
|
120
|
-
appendAuditEntrySync(paths.audit, entry);
|
|
121
|
-
} catch { /* ignore AUDIT write failures */ }
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function listApprovals() {
|
|
125
|
-
const paths = getPaths();
|
|
126
|
-
if (!fs.existsSync(paths.approvals)) return [];
|
|
127
|
-
return fs.readdirSync(paths.approvals)
|
|
128
|
-
.filter(f => f.startsWith('APPROVAL-') && f.endsWith('.json'))
|
|
129
|
-
.map(f => {
|
|
130
|
-
try { return JSON.parse(fs.readFileSync(path.join(paths.approvals, f), 'utf8')); }
|
|
131
|
-
catch { return null; }
|
|
132
|
-
})
|
|
133
|
-
.filter(Boolean);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
module.exports = { processDecision, listApprovals };
|