Repository navigation
Expand file tree
/
Copy patharchitecture.config.json
More file actions
93 lines (93 loc) · 2.63 KB
/
Copy patharchitecture.config.json
File metadata and controls
93 lines (93 loc) · 2.63 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
"//": "Machine-readable architecture contract for Ollama Code Chat. Mirrors DEFAULT_CONTRACT in src/architecture/architectureRules.ts and ARCHITECTURE.md. The architecture invariant test enforces these; editing this file changes the enforced rules without a rebuild.",
"noCycles": true,
"layers": [
{
"layer": "vscode-edge",
"patterns": [
"extension",
"chatViewProvider",
"chatHtml",
"dashboardPanel",
"dashboardHtml",
"sessionLogger",
"envSnapshot",
"writeGuard",
"tools/vscodeWorkspace",
"state/vscodeFileStore",
"runtime/autonomousService"
]
},
{ "layer": "core", "patterns": ["core/"] },
{ "layer": "infra", "patterns": ["ollamaClient", "commandExec"] },
{
"layer": "engine",
"patterns": [
"tools/",
"verify/",
"repair/",
"context/",
"model/",
"tasks/",
"planning/",
"llm/",
"memory/",
"state/",
"policy/",
"runtime/",
"architecture/",
"agentOrchestrator",
"nativeToolAgent",
"promptAgent",
"agentSanitize",
"chatAgentActivity",
"chatToolRunner",
"safeCommands"
]
}
],
"forbidden": [
{
"id": "core-no-vscode",
"description": "The core layer must not import vscode.",
"fromLayers": ["core"],
"forbiddenExternal": ["vscode"],
"severity": "error"
},
{
"id": "core-no-langchain",
"description": "The core layer must not import LangChain.",
"fromLayers": ["core"],
"forbiddenExternal": ["@langchain", "langchain"],
"severity": "error"
},
{
"id": "no-langchain-anywhere",
"description": "LangChain was removed in Phase 1; nothing should import it.",
"fromLayers": ["core", "engine", "vscode-edge", "infra", "unknown"],
"forbiddenExternal": ["@langchain", "langchain"],
"severity": "error"
},
{
"id": "core-no-inward-deps",
"description": "The core layer must not depend on any higher layer.",
"fromLayers": ["core"],
"forbiddenLayers": ["engine", "vscode-edge", "infra"],
"severity": "error"
},
{
"id": "engine-no-vscode",
"description": "Engine modules must stay vscode-free.",
"fromLayers": ["engine"],
"forbiddenExternal": ["vscode"],
"severity": "error"
},
{
"id": "engine-no-ui",
"description": "Engine modules must not import vscode-edge (UI) modules.",
"fromLayers": ["engine"],
"forbiddenLayers": ["vscode-edge"],
"severity": "error"
}
]
}