-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsubstrate.json
More file actions
40 lines (40 loc) · 3.71 KB
/
Copy pathsubstrate.json
File metadata and controls
40 lines (40 loc) · 3.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{
"version": 1,
"summary": "Forge cognitive substrate wraps a frozen model with deterministic pre-action gates, repo state, memory, routing, impact simulation, and verification discipline.",
"faculties": [
{ "id": "memory", "forge": "recall + cortex", "status": "partial", "guarantee": "facts and lessons are persisted as auditable files; relevance is advisory" },
{ "id": "learning", "forge": "cortex lessons", "status": "partial", "guarantee": "external outcomes update lesson confidence; no model weights are changed" },
{ "id": "imagination", "forge": "impact graph", "status": "operational-v1", "guarantee": "reverse dependency traversal predicts possible blast radius" },
{ "id": "self-correction", "forge": "verify + doom-loop guard", "status": "partial", "guarantee": "tests/builds are trusted over model claims" },
{ "id": "impact-awareness", "forge": "atlas + impact", "status": "operational-v1", "guarantee": "known symbols/files and likely dependents are surfaced before edits" }
],
"mechanisms": [
{ "id": "M1", "name": "complexity-aware routing", "command": "forge route", "status": "solved-with-transparency-layer" },
{ "id": "M2", "name": "assumption gate", "command": "forge preflight", "status": "operational-v1" },
{ "id": "M3", "name": "task/session decomposition", "command": "forge scope", "status": "solved-with-boundary-helper" },
{ "id": "M4", "name": "goal anchoring", "command": "forge substrate", "status": "partial" },
{ "id": "M5", "name": "scope minimality", "command": "forge substrate", "status": "operational-v1-advisory" },
{ "id": "M6", "name": "inline verification", "command": "forge verify", "status": "partial" }
],
"defaults": { "askThreshold": 0.6, "impactThreshold": 0.1 },
"llm": {
"enabled": false,
"model": "haiku",
"timeoutMs": 20000,
"bidirectional": true,
"minConfidence": 0.8,
"signalFloor": 0.4,
"note": "Opt-in (FORGE_LLM=1). The model PROPOSES; the deterministic rubric + repo grounding + tests VERIFY. Any failure falls back to the deterministic path — never blind, never blocking. `bidirectional` (default true) lets a verified reading also clear a false ask / route a tier down (to the voted band), never past the hard floors (`signalFloor`, repo grounding, no-anchor). Readings are compared verdict to verdict (ask vs proceed, band vs band), and a proposer flips the rubric only when it holds its own verdict with probability >= `minConfidence`. A model vote for a HIGHER tier is never applied (escalate only on a verifier failure); it is reported as an advisory `llm.escalateTo` that nothing acts on automatically. `minConfidence` is an a-priori conservative default, not fit to data - choose it on fresh labelled tasks. Set `bidirectional` false for the conservative mode (the model can only tighten the gate and never moves the tier)."
},
"policies": {
"preAction": "Run substrate before ambiguous, expensive, multi-file, or mutating work.",
"escalation": "Start with the cheapest capable tier and escalate only after an external verifier failure.",
"hookEnforcement": "Block or warn only on deterministic risks; keep research-edge judgments advisory.",
"honesty": "Label memory relevance, routing fit, and minimality as advisory unless verified by tests, graph membership, or explicit user scope."
},
"limits": [
"Graph edges are static and approximate, not conservative: dependents can be missed (dynamic dispatch, generated code, unresolved imports), so an empty impact set means unknown, not safe.",
"Memory and learning are external file-backed lessons, not weight-level learning.",
"Non-hook editors receive advisory MCP/context only; Forge cannot enforce hooks where the host has no hook surface."
]
}