mindforge-cc 6.6.0 → 7.0.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/.mindforge/bypasses.json +8 -0
- package/.mindforge/celestial.db +0 -0
- package/.mindforge/config.json +26 -0
- package/.mindforge/memory/knowledge-base.jsonl +4 -0
- package/.mindforge/memory/sync-manifest.json +6 -0
- package/.mindforge/remediation-queue.json +47 -0
- package/.planning/AUDIT.jsonl +30 -2
- package/.planning/RISK-AUDIT.jsonl +5 -0
- package/CHANGELOG.md +20 -0
- package/bin/autonomous/auto-runner.js +5 -2
- package/bin/engine/logic-drift-detector.js +4 -2
- package/bin/engine/logic-validator.js +74 -0
- package/bin/engine/nexus-tracer.js +21 -7
- package/bin/engine/remediation-engine.js +17 -8
- package/bin/engine/test-remediation.js +61 -0
- package/bin/engine/test-v7-blueprint.js +44 -0
- package/bin/governance/config-manager.js +59 -0
- package/bin/governance/policies/critical-data.json +1 -0
- package/bin/governance/policy-engine.js +27 -29
- package/bin/governance/policy-gate-hardened.js +78 -0
- package/bin/governance/quantum-crypto.js +25 -4
- package/bin/governance/test-config.js +40 -0
- package/bin/governance/test-crypto-pluggable.js +50 -0
- package/bin/governance/test-hardened-gate.js +71 -0
- package/bin/memory/knowledge-capture.js +47 -0
- package/bin/memory/knowledge-store.js +6 -0
- package/bin/memory/pillar-health-tracker.js +63 -0
- package/bin/memory/semantic-hub.js +9 -4
- package/bin/revops/market-evaluator.js +3 -9
- package/bin/revops/remediation-queue.js +83 -0
- package/docs/commands-skills/DISCOVERED_SKILLS.md +1 -1
- package/package.json +1 -1
|
Binary file
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "7.0.0",
|
|
3
|
+
"environment": "development",
|
|
4
|
+
"governance": {
|
|
5
|
+
"drift_threshold": 0.75,
|
|
6
|
+
"critical_drift_threshold": 0.50,
|
|
7
|
+
"res_threshold": 0.80
|
|
8
|
+
},
|
|
9
|
+
"revops": {
|
|
10
|
+
"market_registry": {
|
|
11
|
+
"gemini-1.5-pro": { "cost_input": 0.0035, "cost_output": 0.0105, "benchmark": 98, "provider": "Google" },
|
|
12
|
+
"claude-3-5-sonnet": { "cost_input": 0.0030, "cost_output": 0.0150, "benchmark": 99, "provider": "Anthropic" },
|
|
13
|
+
"gpt-4o": { "cost_input": 0.0050, "cost_output": 0.0150, "benchmark": 97, "provider": "OpenAI" },
|
|
14
|
+
"llama-3-70b-local": { "cost_input": 0.0001, "cost_output": 0.0001, "benchmark": 92, "provider": "Sovereign" },
|
|
15
|
+
"gemini-1.5-flash": { "cost_input": 0.0003, "cost_output": 0.0003, "benchmark": 85, "provider": "Google" },
|
|
16
|
+
"haiku-3": { "cost_input": 0.0002, "cost_output": 0.0004, "benchmark": 82, "provider": "Anthropic" }
|
|
17
|
+
},
|
|
18
|
+
"default_baseline_model": "gpt-4o",
|
|
19
|
+
"premium_fallback_model": "claude-3-5-sonnet"
|
|
20
|
+
},
|
|
21
|
+
"security": {
|
|
22
|
+
"pqas_enabled": true,
|
|
23
|
+
"enclave_tier": 2,
|
|
24
|
+
"provider": "simulated-lattice"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -9,3 +9,7 @@
|
|
|
9
9
|
{"id":"a9878977-cb7c-4dcf-8161-760ffd5e7de9","timestamp":"2026-03-22T17:25:37.673Z","type":"code_pattern","topic":"React Memo","content":"Use React.memo to prevent re-renders.","source":"manual","project":"[Project Name]","confidence":0.65,"tags":["ui"],"linked_adrs":[],"times_referenced":1,"last_referenced":"2026-03-25T17:42:57.297Z","deprecated":false,"deprecated_by":null}
|
|
10
10
|
{"id":"a2d4b3a6-fdaa-4c9a-b654-286d9ea133e2","timestamp":"2026-03-22T17:25:37.670Z","type":"domain_knowledge","topic":"Auth with JWT","content":"Secure JWT with httpOnly cookies.","source":"manual","project":"[Project Name]","confidence":0.8500000000000001,"tags":["auth"],"linked_adrs":[],"times_referenced":1,"last_referenced":"2026-03-25T17:42:57.298Z","deprecated":false,"deprecated_by":null}
|
|
11
11
|
{"id":"6c1f0f31-3903-4b95-bae8-5473ffbec9eb","timestamp":"2026-03-22T17:25:37.671Z","type":"domain_knowledge","topic":"Database SQL","content":"Use indexed columns for fast queries.","source":"manual","project":"[Project Name]","confidence":0.75,"tags":["db"],"linked_adrs":[],"times_referenced":1,"last_referenced":"2026-03-25T17:42:57.299Z","deprecated":false,"deprecated_by":null}
|
|
12
|
+
{"id":"f3df4851-b705-429d-a3b1-2c90eac2d73c","timestamp":"2026-04-08T19:47:41.444Z","type":"pillar_health","topic":"Phase 99 Architectural Health","content":"RSA Alignment: 0.785\nIDC Upgrades: 1","source":"PillarHealth Analysis (Phase 99)","project":"[Project Name]","confidence":1,"tags":[],"linked_adrs":[],"times_referenced":0,"last_referenced":null,"deprecated":false,"deprecated_by":null,"rsa_avg":0.785,"idc_avg":1}
|
|
13
|
+
{"id":"a24f9667-b90a-49fe-90cd-9fe545ce98fb","timestamp":"2026-04-08T19:47:41.446Z","type":"stability_pattern","topic":"REQ-02 Alignment Recovery","content":"Synthesized refocus instruction: STAY ON TRACK WITH AUTH","source":"SCS Synthesis (Phase 99)","project":"[Project Name]","confidence":0.72,"tags":[],"linked_adrs":[],"times_referenced":0,"last_referenced":null,"deprecated":false,"deprecated_by":null,"req_id":"REQ-02","efficacy_score":0.72}
|
|
14
|
+
{"id":"f3df4851-b705-429d-a3b1-2c90eac2d73c","timestamp":"2026-04-08T19:47:41.444Z","type":"pillar_health","topic":"Phase 99 Architectural Health","content":"RSA Alignment: 0.785\nIDC Upgrades: 1","source":"PillarHealth Analysis (Phase 99)","project":"[Project Name]","confidence":1,"tags":[],"linked_adrs":[],"times_referenced":1,"last_referenced":"2026-04-08T19:48:13.482Z","deprecated":false,"deprecated_by":null,"rsa_avg":0.785,"idc_avg":1}
|
|
15
|
+
{"id":"a24f9667-b90a-49fe-90cd-9fe545ce98fb","timestamp":"2026-04-08T19:47:41.446Z","type":"stability_pattern","topic":"REQ-02 Alignment Recovery","content":"Synthesized refocus instruction: STAY ON TRACK WITH AUTH","source":"SCS Synthesis (Phase 99)","project":"[Project Name]","confidence":0.77,"tags":[],"linked_adrs":[],"times_referenced":1,"last_referenced":"2026-04-08T19:48:13.484Z","deprecated":false,"deprecated_by":null,"req_id":"REQ-02","efficacy_score":0.72}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"span_id": "span_drift",
|
|
4
|
+
"strategy": "GOLDEN_TRACE_INJECTION",
|
|
5
|
+
"remediation_id": "rem_fuk65p",
|
|
6
|
+
"timestamp": "2026-04-11T14:32:03.707Z",
|
|
7
|
+
"effectiveness_prediction": 0.85,
|
|
8
|
+
"enqueued_at": "2026-04-11T14:32:03.707Z",
|
|
9
|
+
"status": "PENDING"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"span_id": "span_drift",
|
|
13
|
+
"strategy": "GOLDEN_TRACE_INJECTION",
|
|
14
|
+
"remediation_id": "rem_1y8xnj",
|
|
15
|
+
"timestamp": "2026-04-11T14:32:20.190Z",
|
|
16
|
+
"effectiveness_prediction": 0.85,
|
|
17
|
+
"enqueued_at": "2026-04-11T14:32:20.190Z",
|
|
18
|
+
"status": "PENDING"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"span_id": "span_drift",
|
|
22
|
+
"strategy": "GOLDEN_TRACE_INJECTION",
|
|
23
|
+
"remediation_id": "rem_9ztj8g",
|
|
24
|
+
"timestamp": "2026-04-11T14:32:52.217Z",
|
|
25
|
+
"effectiveness_prediction": 0.85,
|
|
26
|
+
"enqueued_at": "2026-04-11T14:32:52.217Z",
|
|
27
|
+
"status": "PENDING"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"span_id": "span_drift",
|
|
31
|
+
"strategy": "GOLDEN_TRACE_INJECTION",
|
|
32
|
+
"remediation_id": "rem_904til",
|
|
33
|
+
"timestamp": "2026-04-11T14:33:08.281Z",
|
|
34
|
+
"effectiveness_prediction": 0.85,
|
|
35
|
+
"enqueued_at": "2026-04-11T14:33:08.281Z",
|
|
36
|
+
"status": "PENDING"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"span_id": "span_drift",
|
|
40
|
+
"strategy": "GOLDEN_TRACE_INJECTION",
|
|
41
|
+
"remediation_id": "rem_cv5ovc",
|
|
42
|
+
"timestamp": "2026-04-11T14:33:24.811Z",
|
|
43
|
+
"effectiveness_prediction": 0.85,
|
|
44
|
+
"enqueued_at": "2026-04-11T14:33:24.811Z",
|
|
45
|
+
"status": "PENDING"
|
|
46
|
+
}
|
|
47
|
+
]
|
package/.planning/AUDIT.jsonl
CHANGED
|
@@ -1,2 +1,30 @@
|
|
|
1
|
-
{"
|
|
2
|
-
{"id":"
|
|
1
|
+
{"id":"243b022d-1be6-438c-a94b-23da9c097042","timestamp":"2026-04-11T14:31:41.594Z","event":"span_started","trace_id":null,"span_id":"sp_14e9b069e8a7","parent_span_id":null,"span_name":"span_stable","agent":"mf-researcher"}
|
|
2
|
+
{"id":"8ba8a730-741e-4861-92b2-d0c56de239c4","timestamp":"2026-04-11T14:31:41.595Z","event":"span_started","trace_id":null,"span_id":"sp_128731ffa142","parent_span_id":null,"span_name":"span_drift","agent":"mf-researcher"}
|
|
3
|
+
{"id":"37e94e6a-184a-4915-9a15-803af91d298c","timestamp":"2026-04-11T14:31:41.596Z","event":"reasoning_trace","trace_id":null,"span_id":"span_stable","agent":"mf-researcher","thought":"I will now analyze the dependencies and create a plan.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
4
|
+
{"id":"46caf2ae-00ac-4c76-b0bf-ba14a71fba98","timestamp":"2026-04-11T14:31:41.596Z","event":"drift_remediation_event","trace_id":null,"span_id":"span_drift","score":0.055,"strategy":"NOT_REQUIRED","markers":{"density":0.05,"pattern":0.1,"contradiction":0},"validation":{"is_valid":false,"critique":"Reflection detected minor inconsistencies or self-doubt."}}
|
|
5
|
+
{"id":"0b0a92c5-1742-4404-badf-d2128f14911e","timestamp":"2026-04-11T14:31:41.596Z","event":"reasoning_trace","trace_id":null,"span_id":"span_drift","agent":"mf-researcher","thought":"I am not sure how to proceed, maybe I should wait and check the goal again.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
6
|
+
{"id":"1ca67414-69ff-48c2-a188-cf49277d951c","timestamp":"2026-04-11T14:32:03.705Z","event":"span_started","trace_id":null,"span_id":"sp_85db5e74eabd","parent_span_id":null,"span_name":"span_stable","agent":"mf-researcher"}
|
|
7
|
+
{"id":"8bcf4d54-d141-46e7-99e2-9ccd7fbc32c2","timestamp":"2026-04-11T14:32:03.706Z","event":"span_started","trace_id":null,"span_id":"sp_9c2f90853a18","parent_span_id":null,"span_name":"span_drift","agent":"mf-researcher"}
|
|
8
|
+
{"id":"5c4ae8fb-74a4-4bc4-b328-e727fbf81286","timestamp":"2026-04-11T14:32:03.706Z","event":"reasoning_trace","trace_id":null,"span_id":"span_stable","agent":"mf-researcher","thought":"I will now analyze the dependencies and create a plan.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
9
|
+
{"id":"27f29f84-4f5b-457e-b61a-b922c1c9b143","timestamp":"2026-04-11T14:32:03.707Z","event":"drift_remediation_event","trace_id":null,"span_id":"span_drift","score":0.055,"strategy":"GOLDEN_TRACE_INJECTION","remediation_id":"rem_fuk65p","markers":{"density":0.05,"pattern":0.1,"contradiction":0},"validation":{"is_valid":false,"critique":"Reflection detected minor inconsistencies or self-doubt."}}
|
|
10
|
+
{"id":"cf0160e2-42ab-4345-beb4-501eb117ad49","timestamp":"2026-04-11T14:32:03.707Z","event":"reasoning_trace","trace_id":null,"span_id":"span_drift","agent":"mf-researcher","thought":"I am not sure how to proceed, maybe I should wait and check the goal again.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
11
|
+
{"id":"7fe4e1ee-897f-4084-9fac-ec63ef30573a","timestamp":"2026-04-11T14:32:20.188Z","event":"span_started","trace_id":null,"span_id":"sp_c57ab4324f72","parent_span_id":null,"span_name":"span_stable","agent":"mf-researcher"}
|
|
12
|
+
{"id":"e52a7faa-cd3a-45ff-83b1-63d85ebd1a3b","timestamp":"2026-04-11T14:32:20.189Z","event":"span_started","trace_id":null,"span_id":"sp_81db2eb8f21c","parent_span_id":null,"span_name":"span_drift","agent":"mf-researcher"}
|
|
13
|
+
{"id":"48a9ef82-4385-4b85-afbe-384d8da9bd7e","timestamp":"2026-04-11T14:32:20.189Z","event":"reasoning_trace","trace_id":null,"span_id":"span_stable","agent":"mf-researcher","thought":"I will now analyze the dependencies and create a plan.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
14
|
+
{"id":"20ea33f3-5e3d-4da0-9871-c199ec7689f3","timestamp":"2026-04-11T14:32:20.190Z","event":"drift_remediation_event","trace_id":null,"span_id":"span_drift","score":0.055,"strategy":"GOLDEN_TRACE_INJECTION","remediation_id":"rem_1y8xnj","markers":{"density":0.05,"pattern":0.1,"contradiction":0},"validation":{"is_valid":false,"critique":"Reflection detected minor inconsistencies or self-doubt."}}
|
|
15
|
+
{"id":"a1fc540f-3afb-4a86-8eee-d31dbfe8899f","timestamp":"2026-04-11T14:32:20.190Z","event":"reasoning_trace","trace_id":null,"span_id":"span_drift","agent":"mf-researcher","thought":"I am not sure how to proceed, maybe I should wait and check the goal again.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
16
|
+
{"id":"2ba3c34a-1d69-4847-8236-e770c904b031","timestamp":"2026-04-11T14:32:52.215Z","event":"span_started","trace_id":null,"span_id":"sp_bab2aa708d2e","parent_span_id":null,"span_name":"span_stable","agent":"mf-researcher"}
|
|
17
|
+
{"id":"e7bf437f-5c50-4dfc-bbf7-8270bcaaffff","timestamp":"2026-04-11T14:32:52.216Z","event":"span_started","trace_id":null,"span_id":"sp_37872254b0af","parent_span_id":null,"span_name":"span_drift","agent":"mf-researcher"}
|
|
18
|
+
{"id":"bb2c97e8-0306-4c43-8884-7fc3959c04bc","timestamp":"2026-04-11T14:32:52.216Z","event":"reasoning_trace","trace_id":null,"span_id":"span_stable","agent":"mf-researcher","thought":"I will now analyze the dependencies and create a plan.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
19
|
+
{"id":"47fe4db7-475f-451e-b4d7-4ddeb56d0d3e","timestamp":"2026-04-11T14:32:52.217Z","event":"drift_remediation_event","trace_id":null,"span_id":"span_drift","score":0.055,"strategy":"GOLDEN_TRACE_INJECTION","remediation_id":"rem_9ztj8g","markers":{"density":0.05,"pattern":0.1,"contradiction":0},"validation":{"is_valid":false,"critique":"Reflection detected minor inconsistencies or self-doubt."}}
|
|
20
|
+
{"id":"a8bbaf5b-4185-4fd1-a5ab-7b43e22ca4ce","timestamp":"2026-04-11T14:32:52.217Z","event":"reasoning_trace","trace_id":null,"span_id":"span_drift","agent":"mf-researcher","thought":"I am not sure how to proceed, maybe I should wait and check the goal again.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
21
|
+
{"id":"380b6488-205c-474f-b7df-31dc3647e6c3","timestamp":"2026-04-11T14:33:08.279Z","event":"span_started","trace_id":null,"span_id":"sp_1f7eff8f54c1","parent_span_id":null,"span_name":"span_stable","agent":"mf-researcher"}
|
|
22
|
+
{"id":"06f5a154-a500-4c78-8133-3aed0918514f","timestamp":"2026-04-11T14:33:08.280Z","event":"span_started","trace_id":null,"span_id":"sp_02eca7cd627f","parent_span_id":null,"span_name":"span_drift","agent":"mf-researcher"}
|
|
23
|
+
{"id":"79d95aab-9a1c-4c4c-ad44-3aba37663145","timestamp":"2026-04-11T14:33:08.281Z","event":"reasoning_trace","trace_id":null,"span_id":"span_stable","agent":"mf-researcher","thought":"I will now analyze the dependencies and create a plan.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
24
|
+
{"id":"309bf1aa-89d4-4588-9201-d6e142e3f670","timestamp":"2026-04-11T14:33:08.281Z","event":"drift_remediation_event","trace_id":null,"span_id":"span_drift","score":0.055,"strategy":"GOLDEN_TRACE_INJECTION","remediation_id":"rem_904til","markers":{"density":0.05,"pattern":0.1,"contradiction":0},"validation":{"is_valid":false,"critique":"Reflection detected minor inconsistencies or self-doubt."}}
|
|
25
|
+
{"id":"3db986a7-7905-495c-a732-2d0dde4cef06","timestamp":"2026-04-11T14:33:08.281Z","event":"reasoning_trace","trace_id":null,"span_id":"span_drift","agent":"mf-researcher","thought":"I am not sure how to proceed, maybe I should wait and check the goal again.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
26
|
+
{"id":"6ed5319c-6c50-48cd-ba52-e497bc330031","timestamp":"2026-04-11T14:33:24.808Z","event":"span_started","trace_id":null,"span_id":"sp_74851c254d10","parent_span_id":null,"span_name":"span_stable","agent":"mf-researcher"}
|
|
27
|
+
{"id":"fed8723c-52f3-41b0-8391-287be1864a8b","timestamp":"2026-04-11T14:33:24.809Z","event":"span_started","trace_id":null,"span_id":"sp_84bdb2ffb78e","parent_span_id":null,"span_name":"span_drift","agent":"mf-researcher"}
|
|
28
|
+
{"id":"202f4c47-d26e-45ac-a35b-b864f71f57a5","timestamp":"2026-04-11T14:33:24.811Z","event":"reasoning_trace","trace_id":null,"span_id":"span_stable","agent":"mf-researcher","thought":"I will now analyze the dependencies and create a plan.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
29
|
+
{"id":"6c387954-64c8-4491-9b5a-bfa36d0dc19a","timestamp":"2026-04-11T14:33:24.829Z","event":"drift_remediation_event","trace_id":null,"span_id":"span_drift","score":0.055,"strategy":"GOLDEN_TRACE_INJECTION","remediation_id":"rem_cv5ovc","markers":{"density":0.05,"pattern":0.1,"contradiction":0},"validation":{"is_valid":false,"critique":"Reflection detected minor inconsistencies or self-doubt."}}
|
|
30
|
+
{"id":"184c1014-7ec5-4413-9d1a-30316b718f6a","timestamp":"2026-04-11T14:33:24.851Z","event":"reasoning_trace","trace_id":null,"span_id":"span_drift","agent":"mf-researcher","thought":"I am not sure how to proceed, maybe I should wait and check the goal again.","resolution":"none","entropy":0,"is_stagnant":false,"drift_score":0.055}
|
|
@@ -46,3 +46,8 @@
|
|
|
46
46
|
{"timestamp":"2026-03-29T13:52:55.651Z","requestId":"pol_1774792375650_5r1uz","tier":3,"action":"CRITICAL_MUTATION","impactScore":98,"verdict":"DENY","reason":"No matching PERMIT policy found (Implicit Deny)"}
|
|
47
47
|
{"timestamp":"2026-03-29T13:53:15.940Z","requestId":"pol_1774792395940_f5bo0","tier":3,"impactScore":0,"verdict":"PERMIT","reason":"Authorized by test_policy"}
|
|
48
48
|
{"timestamp":"2026-03-29T13:53:15.944Z","requestId":"pol_1774792395944_86j68","tier":3,"action":"CRITICAL_MUTATION","impactScore":98,"verdict":"DENY","reason":"PQAS Biometric Violation: High-impact mutation (98) requires manual WebAuthn/Biometric steering."}
|
|
49
|
+
{"timestamp":"2026-04-11T14:32:52.311Z","requestId":"pol_1775917972311_hsbzg","did":"did:key:admin","tier":1,"action":"WRITE","resource":"STATE.md","impactScore":100,"verdict":"PERMIT","reason":"Authorized by pol_critical_001"}
|
|
50
|
+
{"timestamp":"2026-04-11T14:33:08.370Z","requestId":"pol_1775917988369_tpp5j","did":"did:key:admin","tier":1,"action":"WRITE","resource":"STATE.md","impactScore":100,"verdict":"DENY","reason":"Biometric steering required for high-impact mutation"}
|
|
51
|
+
{"timestamp":"2026-04-11T14:33:08.372Z","requestId":"pol_1775917988371_9dpq4","did":"did:key:admin","tier":1,"action":"WRITE","resource":"STATE.md","impactScore":100,"verdict":"DENY","reason":"Dynamic Blast Radius Violation: Intent impact (100) exceeds policy limit (100). Upgrade to Tier 3 for bypass."}
|
|
52
|
+
{"timestamp":"2026-04-11T14:33:25.176Z","requestId":"pol_1775918005169_idahh","did":"did:key:admin","tier":1,"action":"WRITE","resource":"STATE.md","impactScore":100,"verdict":"DENY","reason":"Biometric steering required for high-impact mutation"}
|
|
53
|
+
{"timestamp":"2026-04-11T14:33:25.181Z","requestId":"pol_1775918005180_q8u0e","did":"did:key:admin","tier":1,"action":"WRITE","resource":"STATE.md","impactScore":100,"verdict":"PERMIT","reason":"Authorized via Biometric Bypass [SIG_WEBAUTHN_EXECUTIVE_ALPHA]"}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
## [6.7.0] - 2026-04-09
|
|
2
|
+
|
|
3
|
+
### Added (v6.7.0: Federated Intelligence Mesh - FIM Expansion)
|
|
4
|
+
|
|
5
|
+
- **Architectural Health Tracking**: Aggregates RSA and IDC scores into collective project health metrics via `PillarHealthTracker`.
|
|
6
|
+
- **Stability Pattern Extraction**: Captures high-efficacy SCS homing instructions as durable, sharable knowledge entries (`stability_pattern`).
|
|
7
|
+
- **AutoRunner Lifecycle Hooks**: Automated capture at phase completion for organizational sync.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## [6.6.0] - 2026-04-08
|
|
12
|
+
|
|
13
|
+
### Added (v6.6.0: Self-Corrective Synthesis - SCS)
|
|
14
|
+
|
|
15
|
+
- **Autonomous Self-Healing**: Integrated `SelfCorrectiveSynthesizer` into the `AutoRunner` wave loop.
|
|
16
|
+
- **Reasoning Drift Recovery**: Triggered when Mission Fidelity (RSA) drops below 0.50, synthesizing a "Homing Instruction" anchored to specific requirements.
|
|
17
|
+
- **Homing Signal Injection**: Automatically injects high-density refocus signals into the wave context to recover mission fidelity.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
1
21
|
## [6.5.0] - 2026-04-08
|
|
2
22
|
|
|
3
23
|
### Added (v6.5.0: Reason-Source Alignment - RSA)
|
|
@@ -204,8 +204,11 @@ class AutoRunner {
|
|
|
204
204
|
// Auto-capture knowledge from completed phase (ADRs, findings)
|
|
205
205
|
try {
|
|
206
206
|
const captured = KnowledgeCapture.captureFromPhaseCompletion(this.phase);
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
const stability = KnowledgeCapture.captureArchitecturalStability(this.phase);
|
|
208
|
+
|
|
209
|
+
const total = captured.length + stability.length;
|
|
210
|
+
if (total > 0) {
|
|
211
|
+
console.log(`🧠 Knowledge Graph: Captured ${total} new insights (Patterns: ${stability.length}) from phase completion.`);
|
|
209
212
|
}
|
|
210
213
|
} catch (err) {
|
|
211
214
|
console.error('⚠️ Knowledge Capture failed:', err.message);
|
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
*/
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
|
+
const configManager = require('../governance/config-manager');
|
|
11
|
+
|
|
10
12
|
class LogicDriftDetector {
|
|
11
13
|
constructor() {
|
|
12
14
|
this.sessionDriftHistory = new Map(); // spanId -> [scores]
|
|
13
|
-
this.DRIFT_THRESHOLD = 0.75;
|
|
14
|
-
this.CRITICAL_DRIFT_THRESHOLD = 0.50;
|
|
15
|
+
this.DRIFT_THRESHOLD = configManager.get('governance.drift_threshold', 0.75);
|
|
16
|
+
this.CRITICAL_DRIFT_THRESHOLD = configManager.get('governance.critical_drift_threshold', 0.50);
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
/**
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MindForge v7 — Neural Drift Remediation (NDR)
|
|
3
|
+
* Component: Logic Validator
|
|
4
|
+
*
|
|
5
|
+
* Performs high-level semantic validation on agent reasoning traces.
|
|
6
|
+
* Supports Local Model (Ollama) integration and Self-Reflective Heuristics.
|
|
7
|
+
*/
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
const configManager = require('../governance/config-manager');
|
|
11
|
+
|
|
12
|
+
class LogicValidator {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.endpoint = configManager.get('governance.local_model_endpoint', 'localhost:11434');
|
|
15
|
+
this.isModelAvailable = false; // Simulated check result
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Validates a reasoning trace using the best available method.
|
|
20
|
+
* @param {string} thought - The agent's thought string
|
|
21
|
+
* @param {Object} context - Optional metadata (span attributes, etc.)
|
|
22
|
+
*/
|
|
23
|
+
async validate(thought, context = {}) {
|
|
24
|
+
console.log(`[LogicValidator] Validating trace segment (Length: ${thought.length})`);
|
|
25
|
+
|
|
26
|
+
// In a real v7 deployment, we would perform an asynchronous fetch to Ollama/Llama-CPP
|
|
27
|
+
// For this simulation, we simulate a "Reflective Heuristic" analysis.
|
|
28
|
+
|
|
29
|
+
if (this.isModelAvailable) {
|
|
30
|
+
return this._modelValidation(thought, context);
|
|
31
|
+
} else {
|
|
32
|
+
return this._reflectiveHeuristic(thought, context);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Simulated Local Model Validation logic.
|
|
38
|
+
*/
|
|
39
|
+
async _modelValidation(thought, context) {
|
|
40
|
+
// Mocking an LLM callback: "Is this thought logical and grounded?"
|
|
41
|
+
const result = {
|
|
42
|
+
is_valid: true,
|
|
43
|
+
confidence: 0.98,
|
|
44
|
+
critique: 'Logic is consistent with project goals.',
|
|
45
|
+
method: 'Ollama/Llama-3-8B'
|
|
46
|
+
};
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Advanced "Reflective Heuristic" which is more intensive than the DriftDetector.
|
|
52
|
+
*/
|
|
53
|
+
async _reflectiveHeuristic(thought, context) {
|
|
54
|
+
const t = thought.toLowerCase();
|
|
55
|
+
|
|
56
|
+
// Check for "Self-Doubt" markers that might indicate drift
|
|
57
|
+
const doubtMarkers = ['i am not sure', 'maybe i should wait', 'actually, i forgot', 'i will instead try to just'];
|
|
58
|
+
const doubtCount = doubtMarkers.filter(m => t.includes(m)).length;
|
|
59
|
+
|
|
60
|
+
// Check for "Goal Misalignment" (Simulated)
|
|
61
|
+
const goalMismatch = t.includes('ignoring current goal') || t.includes('outside scope');
|
|
62
|
+
|
|
63
|
+
const score = 1.0 - (doubtCount * 0.2) - (goalMismatch ? 0.5 : 0);
|
|
64
|
+
|
|
65
|
+
return {
|
|
66
|
+
is_valid: score > 0.6,
|
|
67
|
+
confidence: parseFloat(score.toFixed(2)),
|
|
68
|
+
critique: score < 0.8 ? 'Reflection detected minor inconsistencies or self-doubt.' : 'Reflective logic is stable.',
|
|
69
|
+
method: 'Self-Reflective-Heuristic'
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
module.exports = new LogicValidator();
|
|
@@ -10,8 +10,10 @@ const path = require('path');
|
|
|
10
10
|
const crypto = require('crypto');
|
|
11
11
|
const ztai = require('../governance/ztai-manager');
|
|
12
12
|
const SREManager = require('./sre-manager');
|
|
13
|
+
const configManager = require('../governance/config-manager');
|
|
13
14
|
const driftDetector = require('./logic-drift-detector'); // v6.1 Pillar X
|
|
14
15
|
const remediationEngine = require('./remediation-engine'); // v6.1 Pillar X
|
|
16
|
+
const logicValidator = require('./logic-validator'); // v7 Pillar X
|
|
15
17
|
|
|
16
18
|
class NexusTracer {
|
|
17
19
|
constructor(config = {}) {
|
|
@@ -23,18 +25,19 @@ class NexusTracer {
|
|
|
23
25
|
this.enableZtai = config.enableZtai !== false;
|
|
24
26
|
this.sreManager = new SREManager();
|
|
25
27
|
|
|
26
|
-
//
|
|
27
|
-
this.RES_THRESHOLD = 0.8;
|
|
28
|
+
// v7: Centralized Thresholds
|
|
29
|
+
this.RES_THRESHOLD = configManager.get('governance.res_threshold', 0.8);
|
|
28
30
|
this.entropyCache = new Map();
|
|
29
31
|
|
|
30
32
|
// v6.1: Neural Drift Remediation (NDR)
|
|
31
33
|
this.DRIFT_SAMPLE_RATE = 1.0;
|
|
32
34
|
|
|
33
|
-
//
|
|
35
|
+
// v7: Agentic SBOM with Arbitrage
|
|
34
36
|
this.sbom = {
|
|
35
|
-
manifest_version: '1.
|
|
37
|
+
manifest_version: '1.1.0',
|
|
36
38
|
models: new Set(),
|
|
37
39
|
skills: new Set(),
|
|
40
|
+
arbitrage_total: 0,
|
|
38
41
|
startTime: new Date().toISOString()
|
|
39
42
|
};
|
|
40
43
|
}
|
|
@@ -148,15 +151,26 @@ class NexusTracer {
|
|
|
148
151
|
|
|
149
152
|
// v6.1 Pillar X: Neural Drift Remediation (NDR)
|
|
150
153
|
const driftReport = driftDetector.analyze(spanId, sanitizedThought);
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
|
|
155
|
+
// v7 Pillar X: Semantic Logic Validation
|
|
156
|
+
const validationResult = await logicValidator.validate(sanitizedThought, { span_id: spanId });
|
|
157
|
+
|
|
158
|
+
if (driftReport.status === 'DRIFT_DETECTED' || !validationResult.is_valid) {
|
|
159
|
+
const remediation = await remediationEngine.trigger(spanId, {
|
|
160
|
+
...driftReport,
|
|
161
|
+
invalid_logic: !validationResult.is_valid
|
|
162
|
+
});
|
|
153
163
|
|
|
154
164
|
await this._recordEvent('drift_remediation_event', {
|
|
155
165
|
span_id: spanId,
|
|
156
166
|
score: driftReport.drift_score,
|
|
157
167
|
strategy: remediation.strategy,
|
|
158
168
|
remediation_id: remediation.remediation_id,
|
|
159
|
-
markers: driftReport.markers
|
|
169
|
+
markers: driftReport.markers,
|
|
170
|
+
validation: {
|
|
171
|
+
is_valid: validationResult.is_valid,
|
|
172
|
+
critique: validationResult.critique
|
|
173
|
+
}
|
|
160
174
|
});
|
|
161
175
|
}
|
|
162
176
|
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
|
-
const
|
|
10
|
+
const remediationQueue = require('../revops/remediation-queue');
|
|
11
|
+
const logicValidator = require('./logic-validator');
|
|
12
|
+
const semanticHub = require('../memory/semantic-hub');
|
|
11
13
|
|
|
12
14
|
class RemediationEngine {
|
|
13
15
|
constructor() {
|
|
@@ -25,7 +27,7 @@ class RemediationEngine {
|
|
|
25
27
|
|
|
26
28
|
// Tiered Remediation Logic
|
|
27
29
|
if (drift_score > 0.9) strategy = 'REASONING_RESTART';
|
|
28
|
-
else if (drift_score > 0.8) strategy = 'GOLDEN_TRACE_INJECTION';
|
|
30
|
+
else if (drift_score > 0.8 || report.invalid_logic) strategy = 'GOLDEN_TRACE_INJECTION';
|
|
29
31
|
else if (drift_score > 0.75) strategy = 'CONTEXT_COMPRESSION';
|
|
30
32
|
|
|
31
33
|
if (strategy === 'NOT_REQUIRED') return { status: 'STABLE', strategy };
|
|
@@ -38,18 +40,19 @@ class RemediationEngine {
|
|
|
38
40
|
effectiveness_prediction: 0.85
|
|
39
41
|
};
|
|
40
42
|
|
|
41
|
-
console.log(`[Remediation] Triggered ${strategy} for ${spanId} (
|
|
43
|
+
console.log(`[Remediation] Triggered ${strategy} for ${spanId} (Score: ${drift_score})`);
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
// v7: Finalize with Stateful Queueing
|
|
46
|
+
await remediationQueue.enqueue(action);
|
|
47
|
+
|
|
48
|
+
// Mock implementation of remediation execution
|
|
46
49
|
this._executeStrategy(strategy, spanId);
|
|
47
50
|
|
|
48
51
|
return action;
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
/**
|
|
52
|
-
*
|
|
55
|
+
* functional implementation of remediation strategies.
|
|
53
56
|
*/
|
|
54
57
|
async _executeStrategy(strategy, spanId) {
|
|
55
58
|
switch(strategy) {
|
|
@@ -59,7 +62,13 @@ class RemediationEngine {
|
|
|
59
62
|
break;
|
|
60
63
|
case 'GOLDEN_TRACE_INJECTION':
|
|
61
64
|
console.log(`[Remediation] Injecting successful trace heuristics into ${spanId}`);
|
|
62
|
-
|
|
65
|
+
const traces = await semanticHub.getGoldenTraces();
|
|
66
|
+
if (traces.length > 0) {
|
|
67
|
+
const bestTrace = traces[0];
|
|
68
|
+
console.log(`[Remediation] Injected Golden Trace: ${bestTrace.id} (Skill: ${bestTrace.skill})`);
|
|
69
|
+
} else {
|
|
70
|
+
console.warn(`[Remediation] No Golden Traces found in SemanticHub for injection.`);
|
|
71
|
+
}
|
|
63
72
|
break;
|
|
64
73
|
}
|
|
65
74
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MindForge v7 — NDR Integration Test
|
|
3
|
+
* Verifies that logic drift triggers remediation and pulls from SemanticHub.
|
|
4
|
+
*/
|
|
5
|
+
'use strict';
|
|
6
|
+
|
|
7
|
+
const fs = require('node:fs');
|
|
8
|
+
const path = require('node:path');
|
|
9
|
+
const os = require('node:os');
|
|
10
|
+
const driftDetector = require('./logic-drift-detector');
|
|
11
|
+
const remediationEngine = require('./remediation-engine');
|
|
12
|
+
const semanticHub = require('../memory/semantic-hub');
|
|
13
|
+
|
|
14
|
+
async function testNDR() {
|
|
15
|
+
console.log('--- NDR Pillar Test ---');
|
|
16
|
+
|
|
17
|
+
// 1. Setup Mock Semantic Hub Data
|
|
18
|
+
const globalPath = path.join(os.homedir(), '.mindforge/memory/global');
|
|
19
|
+
const patternFile = path.join(globalPath, 'pattern-library.jsonl');
|
|
20
|
+
|
|
21
|
+
if (!fs.existsSync(globalPath)) {
|
|
22
|
+
fs.mkdirSync(globalPath, { recursive: true });
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const mockTrace = {
|
|
26
|
+
id: 'gt_test_001',
|
|
27
|
+
type: 'golden-trace',
|
|
28
|
+
skill: 'testing',
|
|
29
|
+
tags: ['success', 'logic-fix'],
|
|
30
|
+
content: 'Always verify before you trust.'
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
fs.appendFileSync(patternFile, JSON.stringify(mockTrace) + '\n');
|
|
34
|
+
console.log('[Test Setup] Injected mock golden trace into global hub.');
|
|
35
|
+
|
|
36
|
+
// 2. Simulate Drift
|
|
37
|
+
const spanId = 'sp_test_drift';
|
|
38
|
+
const ramblingThought = 'I am thinking about the thing and the thing is a thing and I keep repeating the thing because things are things.';
|
|
39
|
+
|
|
40
|
+
const report = driftDetector.analyze(spanId, ramblingThought);
|
|
41
|
+
console.log(`[Drift Detector] Report Status: ${report.status} (Score: ${report.drift_score})`);
|
|
42
|
+
|
|
43
|
+
if (report.status !== 'DRIFT_DETECTED') {
|
|
44
|
+
throw new Error('Drift detector failed to recognize rambling pattern');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// 3. Trigger Remediation
|
|
48
|
+
const action = await remediationEngine.trigger(spanId, report);
|
|
49
|
+
console.log(`[Remediation Engine] Action: ${action.strategy} (ID: ${action.remediation_id})`);
|
|
50
|
+
|
|
51
|
+
if (action.strategy !== 'GOLDEN_TRACE_INJECTION') {
|
|
52
|
+
throw new Error(`Expected GOLDEN_TRACE_INJECTION but got ${action.strategy}`);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
console.log('PASSED');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
testNDR().catch(err => {
|
|
59
|
+
console.error(`FAILED: ${err.message}`);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MindForge v7 — Test Suite
|
|
3
|
+
* Blueprint Verification: NDR Pillar X
|
|
4
|
+
*/
|
|
5
|
+
'use strict';
|
|
6
|
+
|
|
7
|
+
const tracer = require('./nexus-tracer');
|
|
8
|
+
const remediationQueue = require('../revops/remediation-queue');
|
|
9
|
+
const fs = require('node:fs');
|
|
10
|
+
|
|
11
|
+
async function testNDRBlueprint() {
|
|
12
|
+
console.log('--- STARTING NDR BLUEPRINT VERIFICATION ---');
|
|
13
|
+
|
|
14
|
+
// Clear existing queue for clean test
|
|
15
|
+
if (fs.existsSync(remediationQueue.queuePath)) fs.unlinkSync(remediationQueue.queuePath);
|
|
16
|
+
|
|
17
|
+
// We need to create an active span to record reasoning
|
|
18
|
+
await tracer.startSpan('span_stable', { agent: 'mf-researcher' });
|
|
19
|
+
await tracer.startSpan('span_drift', { agent: 'mf-researcher' });
|
|
20
|
+
|
|
21
|
+
// 1. Simulate a Stable Thought (should have high confidence)
|
|
22
|
+
console.log('\n[TEST 1] Testing Stable reasoning...');
|
|
23
|
+
await tracer.recordReasoning('span_stable', 'mf-researcher', 'I will now analyze the dependencies and create a plan.');
|
|
24
|
+
|
|
25
|
+
// 2. Simulate a Drifting Thought (should trigger validator critique)
|
|
26
|
+
console.log('\n[TEST 2] Testing Drifting reasoning (Self-Doubt)...');
|
|
27
|
+
await tracer.recordReasoning('span_drift', 'mf-researcher', 'I am not sure how to proceed, maybe I should wait and check the goal again.');
|
|
28
|
+
|
|
29
|
+
// 3. Verify Queue Persistence
|
|
30
|
+
const pending = remediationQueue.getPending();
|
|
31
|
+
console.log(`\n[RESULT] Pending Remediations in Queue: ${pending.length}`);
|
|
32
|
+
|
|
33
|
+
if (pending.length > 0) {
|
|
34
|
+
console.log('--- NDR BLUEPRINT VERIFICATION PASSED ---');
|
|
35
|
+
} else {
|
|
36
|
+
console.error('--- NDR BLUEPRINT VERIFICATION FAILED: No remediation queued ---');
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
testNDRBlueprint().catch(err => {
|
|
42
|
+
console.error(err);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
});
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MindForge v7 — Core Governance
|
|
3
|
+
* Component: Config Manager
|
|
4
|
+
*
|
|
5
|
+
* Centralized configuration loader for MindForge system parameters.
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
const fs = require('node:fs');
|
|
10
|
+
const path = require('node:path');
|
|
11
|
+
|
|
12
|
+
class ConfigManager {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.configPath = path.join(process.cwd(), '.mindforge', 'config.json');
|
|
15
|
+
this.config = null;
|
|
16
|
+
this._loadConfig();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_loadConfig() {
|
|
20
|
+
try {
|
|
21
|
+
if (fs.existsSync(this.configPath)) {
|
|
22
|
+
const raw = fs.readFileSync(this.configPath, 'utf8');
|
|
23
|
+
this.config = JSON.parse(raw);
|
|
24
|
+
console.log(`[ConfigManager] Loaded configuration from ${this.configPath}`);
|
|
25
|
+
} else {
|
|
26
|
+
console.warn(`[ConfigManager] Config file not found at ${this.configPath}. Using defaults.`);
|
|
27
|
+
this.config = { env: 'default' };
|
|
28
|
+
}
|
|
29
|
+
} catch (err) {
|
|
30
|
+
console.error(`[ConfigManager] Failed to load config: ${err.message}`);
|
|
31
|
+
this.config = { error: err.message };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
get(key, defaultValue = null) {
|
|
36
|
+
const keys = key.split('.');
|
|
37
|
+
let value = this.config;
|
|
38
|
+
|
|
39
|
+
for (const k of keys) {
|
|
40
|
+
if (value && Object.prototype.hasOwnProperty.call(value, k)) {
|
|
41
|
+
value = value[k];
|
|
42
|
+
} else {
|
|
43
|
+
return defaultValue;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
getAll() {
|
|
50
|
+
return this.config;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
reload() {
|
|
54
|
+
this._loadConfig();
|
|
55
|
+
return this.config;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
module.exports = new ConfigManager();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"pol_critical_001","effect":"PERMIT","max_impact":100,"conditions":{"resource":"STATE.md"}}
|