Skip to content

Commit 71d9812

Browse files
committed
Add loop controller runtime
1 parent fd5fa63 commit 71d9812

38 files changed

Lines changed: 13095 additions & 10214 deletions

.agent-context/AGENTS.generated.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ L0 operating rules. Keep this file loaded by default; load deeper context only w
2121
- Entrypoint: `src/cli/index.ts`
2222
- Entrypoint: `src/mcp/server.ts`
2323
- Anchor: `src/outputs/task-harness.ts` - 5 exports, 67 symbols
24-
- Anchor: `src/core/token-estimator.ts` - 7 exports, 15 symbols
2524
- Anchor: `src/core/freshness.ts` - 9 exports, 57 symbols
25+
- Anchor: `src/outputs/contract-validator.ts` - 5 exports, 65 symbols
2626

2727
## Commands
2828
- Run: `npm run dev`

.agent-context/architecture.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ This document is generated from static repository signals. Treat it as a startin
99
- Internal modules: 25
1010

1111
## Important Modules
12-
- `outputs`: outputs contains 20 files and depends on core.
12+
- `outputs`: outputs contains 21 files and depends on core.
13+
- `test`: test contains 25 files and depends on analyzers, benchmarks, cli, config, core, mcp, outputs, retrievers.
1314
- `core`: core contains 17 files and depends on analyzers, config, llm, outputs.
14-
- `test`: test contains 24 files and depends on analyzers, benchmarks, cli, config, core, mcp, outputs, retrievers.
1515
- `retrievers`: retrievers contains 6 files and depends on core, outputs.
1616
- `analyzers`: analyzers contains 6 files and depends on core.
1717
- `benchmarks/fixtures/small-ts-app`: benchmarks/fixtures/small-ts-app contains 9 files.

.agent-context/contracts/architecture.contract.json

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -113,20 +113,7 @@
113113
"imports": [
114114
"core"
115115
],
116-
"summary": "outputs contains 20 files and depends on core."
117-
},
118-
{
119-
"name": "core",
120-
"owns": [
121-
"src/core/**"
122-
],
123-
"imports": [
124-
"analyzers",
125-
"config",
126-
"llm",
127-
"outputs"
128-
],
129-
"summary": "core contains 17 files and depends on analyzers, config, llm, outputs."
116+
"summary": "outputs contains 21 files and depends on core."
130117
},
131118
{
132119
"name": "test",
@@ -143,7 +130,20 @@
143130
"outputs",
144131
"retrievers"
145132
],
146-
"summary": "test contains 24 files and depends on analyzers, benchmarks, cli, config, core, mcp, outputs, retrievers."
133+
"summary": "test contains 25 files and depends on analyzers, benchmarks, cli, config, core, mcp, outputs, retrievers."
134+
},
135+
{
136+
"name": "core",
137+
"owns": [
138+
"src/core/**"
139+
],
140+
"imports": [
141+
"analyzers",
142+
"config",
143+
"llm",
144+
"outputs"
145+
],
146+
"summary": "core contains 17 files and depends on analyzers, config, llm, outputs."
147147
},
148148
{
149149
"name": "retrievers",
@@ -177,7 +177,8 @@
177177
{
178178
"name": "benchmarks",
179179
"owns": [
180-
"benchmarks/**"
180+
"benchmarks/**",
181+
"src/benchmarks/**"
181182
],
182183
"imports": [
183184
"core",

.agent-context/contracts/module-boundaries.json

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"src/outputs/dependency-graph.ts",
3737
"src/outputs/impact.ts",
3838
"src/outputs/key-files.ts",
39+
"src/outputs/loop-controller.ts",
3940
"src/outputs/markdown.ts",
4041
"src/outputs/module-map.ts",
4142
"src/outputs/onboarding.ts",
@@ -50,18 +51,23 @@
5051
"src/outputs/writer.ts"
5152
]
5253
},
53-
"core": {
54+
"test": {
5455
"owns": [
55-
"src/core/**"
56+
"test/**"
5657
],
5758
"allowedImports": [
59+
"benchmarks/**",
5860
"benchmarks/fixtures/monorepo/packages/config/**",
5961
"benchmarks/fixtures/monorepo/packages/shared/**",
6062
"src/analyzers/**",
63+
"src/benchmarks/**",
64+
"src/cli/**",
6165
"src/config/**",
6266
"src/core/**",
63-
"src/llm/**",
64-
"src/outputs/**"
67+
"src/mcp/**",
68+
"src/outputs/**",
69+
"src/retrievers/**",
70+
"test/**"
6571
],
6672
"forbiddenImports": [
6773
"**/*.generated.*",
@@ -75,46 +81,31 @@
7581
],
7682
"observedImports": [
7783
"analyzers",
84+
"benchmarks",
85+
"cli",
7886
"config",
79-
"llm",
80-
"outputs"
87+
"core",
88+
"mcp",
89+
"outputs",
90+
"retrievers"
8191
],
8292
"publicFiles": [
83-
"src/core/cache.ts",
84-
"src/core/context-builder.ts",
85-
"src/core/file-classifier.ts",
86-
"src/core/freshness.ts",
87-
"src/core/git.ts",
88-
"src/core/graph.ts",
89-
"src/core/indexer.ts",
90-
"src/core/language.ts",
91-
"src/core/path-utils.ts",
92-
"src/core/ranker.ts",
93-
"src/core/readiness.ts",
94-
"src/core/scanner.ts",
95-
"src/core/summarizer.ts",
96-
"src/core/token-estimator.ts",
97-
"src/core/token-savings.ts",
98-
"src/core/types.ts",
99-
"src/core/validator.ts"
93+
"test/fixtures/python-package/src/app/models.py",
94+
"test/fixtures/python-package/src/app/service.py"
10095
]
10196
},
102-
"test": {
97+
"core": {
10398
"owns": [
104-
"test/**"
99+
"src/core/**"
105100
],
106101
"allowedImports": [
107-
"benchmarks/**",
108102
"benchmarks/fixtures/monorepo/packages/config/**",
109103
"benchmarks/fixtures/monorepo/packages/shared/**",
110104
"src/analyzers/**",
111-
"src/cli/**",
112105
"src/config/**",
113106
"src/core/**",
114-
"src/mcp/**",
115-
"src/outputs/**",
116-
"src/retrievers/**",
117-
"test/**"
107+
"src/llm/**",
108+
"src/outputs/**"
118109
],
119110
"forbiddenImports": [
120111
"**/*.generated.*",
@@ -128,17 +119,28 @@
128119
],
129120
"observedImports": [
130121
"analyzers",
131-
"benchmarks",
132-
"cli",
133122
"config",
134-
"core",
135-
"mcp",
136-
"outputs",
137-
"retrievers"
123+
"llm",
124+
"outputs"
138125
],
139126
"publicFiles": [
140-
"test/fixtures/python-package/src/app/models.py",
141-
"test/fixtures/python-package/src/app/service.py"
127+
"src/core/cache.ts",
128+
"src/core/context-builder.ts",
129+
"src/core/file-classifier.ts",
130+
"src/core/freshness.ts",
131+
"src/core/git.ts",
132+
"src/core/graph.ts",
133+
"src/core/indexer.ts",
134+
"src/core/language.ts",
135+
"src/core/path-utils.ts",
136+
"src/core/ranker.ts",
137+
"src/core/readiness.ts",
138+
"src/core/scanner.ts",
139+
"src/core/summarizer.ts",
140+
"src/core/token-estimator.ts",
141+
"src/core/token-savings.ts",
142+
"src/core/types.ts",
143+
"src/core/validator.ts"
142144
]
143145
},
144146
"retrievers": {
@@ -242,12 +244,14 @@
242244
},
243245
"benchmarks": {
244246
"owns": [
245-
"benchmarks/**"
247+
"benchmarks/**",
248+
"src/benchmarks/**"
246249
],
247250
"allowedImports": [
248251
"benchmarks/**",
249252
"benchmarks/fixtures/monorepo/packages/config/**",
250253
"benchmarks/fixtures/monorepo/packages/shared/**",
254+
"src/benchmarks/**",
251255
"src/config/**",
252256
"src/core/**",
253257
"src/outputs/**"
@@ -343,6 +347,7 @@
343347
"benchmarks/**",
344348
"benchmarks/fixtures/monorepo/packages/config/**",
345349
"benchmarks/fixtures/monorepo/packages/shared/**",
350+
"src/benchmarks/**",
346351
"src/cli/**",
347352
"src/config/**",
348353
"src/core/**",

0 commit comments

Comments
 (0)