Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
259 commits
Select commit Hold shift + click to select a range
133bb4a
refactor(src): trim verbose comments and drop stale ticket refs
Gustav-Simonsson Oct 7, 2026
c47fcd2
refactor(subagent): trim verbose comments and drop stale ticket refs
Gustav-Simonsson Oct 7, 2026
4f2e8ec
refactor(src): trim verbose comments and drop stale ticket refs in ro…
Gustav-Simonsson Oct 7, 2026
5ac872b
refactor(scripts): trim verbose comments and drop stale ticket refs
Gustav-Simonsson Oct 7, 2026
983771b
refactor(e2e): trim verbose comments and drop stale ticket refs
Gustav-Simonsson Oct 7, 2026
8b82b20
refactor(shell): trim verbose comments
Gustav-Simonsson Oct 7, 2026
3010871
refactor(evals): trim verbose comments and drop stale ticket refs
Gustav-Simonsson Oct 7, 2026
5f38a9f
refactor(subagent): trim verbose comments in remaining files
Gustav-Simonsson Oct 7, 2026
010aeaa
refactor(tui): trim verbose comments in remaining files
Gustav-Simonsson Oct 7, 2026
3b79fa5
refactor(packages): trim verbose comments and drop stale ticket refs
Gustav-Simonsson Oct 7, 2026
270727f
refactor(tui): trim verbose comments in untouched files
Gustav-Simonsson Oct 7, 2026
0d6ab86
refactor(comments): trim verbose comments in the last untrimmed files
Gustav-Simonsson Oct 7, 2026
c7a2add
refactor(tui): compress the largest remaining comment pools
Gustav-Simonsson Oct 7, 2026
df1b9de
refactor(tui): compress the deepest remaining comment pool
Gustav-Simonsson Oct 7, 2026
d12b0ca
refactor(tui): compress the last shallow-pass comment pools
Gustav-Simonsson Oct 7, 2026
d239b27
refactor(plugins): trim verbose comments in remaining files
Gustav-Simonsson Oct 7, 2026
8489ab1
refactor(comments): trim verbose comments in the last untouched files
Gustav-Simonsson Oct 7, 2026
7a672fe
refactor(tui): compress the largest shallow-pass comment pools
Gustav-Simonsson Oct 7, 2026
232d4a7
refactor(subagent): compress verbose session and fleet comments
Gustav-Simonsson Oct 7, 2026
462e26e
refactor(tui): compress the last shallow-pass comment pools
Gustav-Simonsson Oct 7, 2026
b3aa023
refactor(comments): compress the most verbose remaining comment pools
Gustav-Simonsson Oct 7, 2026
3b8fb30
refactor(comments): compress the last high-verbosity comment pools
Gustav-Simonsson Oct 7, 2026
da8593f
refactor(tui): compress the largest remaining comment pool
Gustav-Simonsson Oct 7, 2026
b21ea40
refactor(config): compress verbose comments in settings and catalog
Gustav-Simonsson Oct 7, 2026
612e78d
refactor(tui): compress verbose comments in shell internals
Gustav-Simonsson Oct 7, 2026
c9f38f6
refactor(tui): compress verbose comments in shell chrome
Gustav-Simonsson Oct 7, 2026
f8bad09
refactor(agent): compress verbose comments in the chat director
Gustav-Simonsson Oct 7, 2026
1bba6b3
refactor(permission): compress verbose comments in the permission gate
Gustav-Simonsson Oct 7, 2026
3a1993a
refactor(plugins): compress verbose comments in the plugin loader
Gustav-Simonsson Oct 7, 2026
9471a1e
refactor(session): compress verbose comments in the compactor
Gustav-Simonsson Oct 7, 2026
51d4bba
refactor(permission): compress verbose comments in the permission test
Gustav-Simonsson Oct 7, 2026
8723d97
refactor(agent): compress verbose comments in the agent toolset
Gustav-Simonsson Oct 7, 2026
4161402
refactor(tui): compress verbose comments in the runner lifecycle
Gustav-Simonsson Oct 7, 2026
4616be9
refactor(subagent): compress verbose comments in the session store
Gustav-Simonsson Oct 7, 2026
e8d180f
refactor(session): compress verbose comments in runtime assembly
Gustav-Simonsson Oct 7, 2026
4cc097f
refactor(tui): compress verbose comments in the runtime bridge
Gustav-Simonsson Oct 7, 2026
d05ff60
refactor(permission): compress verbose comments in the classifier
Gustav-Simonsson Oct 7, 2026
7fe396f
refactor(subagent): compress verbose comments in the run lifecycle
Gustav-Simonsson Oct 7, 2026
ba7b9d7
refactor(tui): compress verbose comments in the chrome state
Gustav-Simonsson Oct 7, 2026
20b7eea
refactor(subagent): compress verbose doc comments in shared types
Gustav-Simonsson Oct 7, 2026
53b8563
refactor(exec): compress verbose comments in the exec runner
Gustav-Simonsson Oct 7, 2026
0d04993
refactor(auth): compress verbose comments in the credential store
Gustav-Simonsson Oct 7, 2026
2941c7a
refactor(permission): compress verbose comments in the security class…
Gustav-Simonsson Oct 7, 2026
e346d35
refactor(agent): compress verbose comments in the codex apply patch p…
Gustav-Simonsson Oct 7, 2026
84cbe69
refactor(tui): deepen comment compression in shell internals
Gustav-Simonsson Oct 7, 2026
468ab8b
refactor(mcp): compress verbose comments in the oauth provider and au…
Gustav-Simonsson Oct 7, 2026
71abead
refactor(tui): compress verbose comments in the stream row model
Gustav-Simonsson Oct 7, 2026
64d15fe
refactor(shell): compress verbose comments in the shell authz policy
Gustav-Simonsson Oct 7, 2026
d3f5f52
refactor(subagent): compress verbose comments in the fleet dispatch
Gustav-Simonsson Oct 7, 2026
74aadc7
refactor(agent): compress verbose comments in the compaction governor
Gustav-Simonsson Oct 7, 2026
f85f343
refactor(telemetry): compress verbose comments in the telemetry module
Gustav-Simonsson Oct 7, 2026
dc12958
refactor(tui): compress verbose comments in the shell prompt
Gustav-Simonsson Oct 7, 2026
36dd799
refactor(provider): compress verbose comments in the provider module
Gustav-Simonsson Oct 7, 2026
d5f3c84
refactor(subagent): compress verbose comments in the nudge director
Gustav-Simonsson Oct 7, 2026
c76a832
refactor(tui): compress verbose comments in the shell palette
Gustav-Simonsson Oct 7, 2026
4d091e2
refactor(tui): compress verbose comments in the shell key routing
Gustav-Simonsson Oct 7, 2026
c088927
refactor(tui): deepen comment compression in the shell chrome
Gustav-Simonsson Oct 7, 2026
be25cca
refactor(agent): compress verbose comments in tool search and landing…
Gustav-Simonsson Oct 7, 2026
734ec8e
refactor(tui): compress verbose comments in the product host
Gustav-Simonsson Oct 7, 2026
9dbcabe
refactor(tui): compress verbose comments in the geometry zone registry
Gustav-Simonsson Oct 7, 2026
0f049ec
refactor(plugins): compress verbose comments in the data-only agent l…
Gustav-Simonsson Oct 7, 2026
be93204
refactor(workflows): compress verbose comments in the workflow host
Gustav-Simonsson Oct 7, 2026
121238f
refactor(tui): compress verbose comments in the transcript
Gustav-Simonsson Oct 7, 2026
b1aa438
refactor(plugins): deepen comment compression in the secret guard plugin
Gustav-Simonsson Oct 7, 2026
f7425be
refactor(tui): deepen comment compression in the turn state
Gustav-Simonsson Oct 7, 2026
21be19e
refactor(subagent): deepen comment compression in the session store
Gustav-Simonsson Oct 7, 2026
9590c81
refactor(tui): deepen comment compression in the markdown parser
Gustav-Simonsson Oct 7, 2026
15324d8
refactor(config): deepen comment compression in the settings catalog
Gustav-Simonsson Oct 7, 2026
3a90912
refactor(tui): deepen comment compression in the gate wire
Gustav-Simonsson Oct 7, 2026
558acb2
refactor(subagent): deepen comment compression in the run lifecycle
Gustav-Simonsson Oct 7, 2026
33d8eac
refactor(tui): compress verbose comments in the runner wiring
Gustav-Simonsson Oct 7, 2026
2896c5d
refactor(agent): compress verbose comments in the director test
Gustav-Simonsson Oct 7, 2026
51f0cab
refactor(permission): compress verbose comments in the module leftovers
Gustav-Simonsson Oct 7, 2026
e5f85a5
refactor(permission): compress verbose comments in the permission gate
Gustav-Simonsson Oct 7, 2026
a6022ec
refactor(tui): compress verbose comments in the command surfaces
Gustav-Simonsson Oct 7, 2026
0ac7e5b
refactor(perf): compress verbose comments in the module leftovers
Gustav-Simonsson Oct 7, 2026
ca8929c
refactor(trust): compress verbose comments in the project trust store
Gustav-Simonsson Oct 7, 2026
14f7ede
refactor(tui): compress verbose comments in the last untouched files
Gustav-Simonsson Oct 7, 2026
3d40b43
refactor(tui): deepen comment compression in the shell chrome
Gustav-Simonsson Oct 7, 2026
6ce99ec
refactor(agent): compress verbose comments in the module leftovers
Gustav-Simonsson Oct 7, 2026
2e05e34
refactor(subagent): deepen comment compression in the session store
Gustav-Simonsson Oct 7, 2026
f592d00
refactor(src): compress verbose comments in the gateway error module
Gustav-Simonsson Oct 7, 2026
c8e0a63
refactor(tui): compress verbose comments in the diff module
Gustav-Simonsson Oct 7, 2026
b38bfaa
refactor(tui): deepen comment compression in the shell internals
Gustav-Simonsson Oct 7, 2026
0a594a3
refactor(tui): compress verbose comments in the session start
Gustav-Simonsson Oct 7, 2026
c0c152e
refactor(subagent): deepen comment compression in the fleet dispatch
Gustav-Simonsson Oct 7, 2026
0e2a27f
refactor(permission): compress verbose comments in the worker grant m…
Gustav-Simonsson Oct 7, 2026
1431b5e
refactor(session): compress verbose comments in the compaction handoff
Gustav-Simonsson Oct 7, 2026
e5d3765
refactor(tools): compress verbose comments in the ssrf guard
Gustav-Simonsson Oct 7, 2026
c0abc36
refactor(tui): deepen comment compression in the shell chrome
Gustav-Simonsson Oct 7, 2026
ca00d54
refactor(session): compress verbose comments in the summarizer
Gustav-Simonsson Oct 7, 2026
309a27e
refactor(tui): compress verbose comments in the provider setup module
Gustav-Simonsson Oct 7, 2026
52999af
refactor(evals): compress verbose comments in the capability eval suite
Gustav-Simonsson Oct 7, 2026
45e2989
refactor(agent): deepen comment compression in the chat director
Gustav-Simonsson Oct 7, 2026
afd083c
refactor(tui): compress verbose comments in the shell key routing
Gustav-Simonsson Oct 7, 2026
1f08d84
refactor(tui): compress verbose comments in the runner module
Gustav-Simonsson Oct 7, 2026
9fcaa25
refactor(scripts): compress verbose comments in the dev tooling
Gustav-Simonsson Oct 7, 2026
bc07c79
refactor(tui): compress verbose comments in the theme palette
Gustav-Simonsson Oct 7, 2026
0240448
refactor(agent): deepen comment compression in the compaction governor
Gustav-Simonsson Oct 7, 2026
ac8c256
refactor(tui): compress verbose comments in the remaining test files
Gustav-Simonsson Oct 7, 2026
f311d3f
refactor(plugins): compress verbose comments in the remaining files
Gustav-Simonsson Oct 7, 2026
36d5161
refactor(subagent): compress verbose comments in the remaining files
Gustav-Simonsson Oct 7, 2026
003ba26
refactor(session): compress verbose comments in the remaining files
Gustav-Simonsson Oct 7, 2026
6cb1bee
refactor(tui): compress verbose comments in the overlay host
Gustav-Simonsson Oct 7, 2026
f14dd94
refactor(tui): compress verbose comments in the shell internals
Gustav-Simonsson Oct 7, 2026
1992b16
refactor(plugins): deepen comment compression in the plugin loader
Gustav-Simonsson Oct 7, 2026
02de63c
refactor(session): compress verbose comments in the runtime assembly
Gustav-Simonsson Oct 7, 2026
56e1cd0
refactor(tui): compress verbose comments in the tool lane renderers
Gustav-Simonsson Oct 7, 2026
18d62de
refactor(tui): compress verbose comments in the stall watchdog
Gustav-Simonsson Oct 7, 2026
c56a84d
refactor(agent): compress verbose comments in the model family policy
Gustav-Simonsson Oct 7, 2026
3c555d8
refactor(subagent): deepen comment compression in the shared types
Gustav-Simonsson Oct 7, 2026
14ba231
refactor(permission): compress verbose comments in the command and pa…
Gustav-Simonsson Oct 7, 2026
f1ec9da
refactor(permission): compress verbose comments in the auto-mode shel…
Gustav-Simonsson Oct 7, 2026
6671bf9
refactor(testkit): compress verbose comments in the shared test helpers
Gustav-Simonsson Oct 7, 2026
abc59f5
refactor(tui): compress the last shallow-trimmed comment pools
Gustav-Simonsson Oct 7, 2026
86d6b17
refactor(plugins): compress verbose comments in the shell-guard plugin
Gustav-Simonsson Oct 8, 2026
01f186a
refactor(comments): wrap overlong comment lines to standard width
Gustav-Simonsson Oct 8, 2026
041530f
refactor(tui): compress verbose comments in the transcript row pipeline
Gustav-Simonsson Oct 8, 2026
866f43d
refactor(tui): compress verbose comments in the tool execution watchdog
Gustav-Simonsson Oct 8, 2026
cab2ad6
refactor(tui): compress verbose comments in the landing-animation pri…
Gustav-Simonsson Oct 8, 2026
fec82b0
refactor(tui): compress verbose comments in the app shell assembly
Gustav-Simonsson Oct 8, 2026
bc1c7e8
refactor(tui): compress verbose comments in the transcript stream rows
Gustav-Simonsson Oct 8, 2026
cd6a102
refactor(tui): compress verbose comments in the agent progress lanes
Gustav-Simonsson Oct 8, 2026
a7296e4
refactor(permission): compress verbose comments in the approval store…
Gustav-Simonsson Oct 8, 2026
5aeb741
refactor(tui): compress verbose comments in the url link cluster
Gustav-Simonsson Oct 8, 2026
232e9ca
refactor(tui): compress verbose comments in the turn state
Gustav-Simonsson Oct 8, 2026
02bbe63
refactor(plugins): compress verbose comments in the truncation cluster
Gustav-Simonsson Oct 8, 2026
bd61d24
refactor(subagent): compress verbose comments in the fleet lifecycle
Gustav-Simonsson Oct 8, 2026
39201b7
refactor(provider): compress verbose comments in the reasoning effort…
Gustav-Simonsson Oct 8, 2026
98e2bd1
refactor(tui): deepen comment compression in the shell internals and …
Gustav-Simonsson Oct 8, 2026
d8e539e
refactor(session): compress verbose comments in the sink and verify l…
Gustav-Simonsson Oct 8, 2026
aa25923
refactor(config): compress verbose comments in the provider catalog a…
Gustav-Simonsson Oct 8, 2026
5de32e9
refactor(perf): compress verbose comments in the perf trace cluster
Gustav-Simonsson Oct 8, 2026
038c7d3
refactor(tui): deepen comment compression in the provider setup cluster
Gustav-Simonsson Oct 8, 2026
24a23a9
refactor(tui): compress verbose comments in the shallow-trimmed pools
Gustav-Simonsson Oct 8, 2026
44820b8
refactor(auth): compress verbose comments in the callback and refresh…
Gustav-Simonsson Oct 8, 2026
1e1b92c
refactor(workflows): compress verbose comments in the workflow cluster
Gustav-Simonsson Oct 8, 2026
490a795
refactor(tui): deepen comment compression in the runner module
Gustav-Simonsson Oct 8, 2026
550cf72
refactor(agent): compress verbose comments in the toolset cluster
Gustav-Simonsson Oct 8, 2026
5dac34e
refactor(tui): deepen comment compression in the runner host
Gustav-Simonsson Oct 8, 2026
0b6353b
refactor(subagent): deepen comment compression in the fleet cluster
Gustav-Simonsson Oct 8, 2026
dadbe3b
refactor(tui): compress verbose comments in the chrome state
Gustav-Simonsson Oct 8, 2026
1b16bf6
refactor(tui): deepen comment compression in the turn state
Gustav-Simonsson Oct 8, 2026
049e50d
refactor(tui): compress verbose comments in the zone registry
Gustav-Simonsson Oct 8, 2026
b062290
refactor(session): compress verbose comments in the shallow-trimmed p…
Gustav-Simonsson Oct 8, 2026
9a406f4
refactor(plugins): compress verbose comments in the diagnostics cluster
Gustav-Simonsson Oct 8, 2026
c218444
refactor(tui): compress the largest remaining comment blocks
Gustav-Simonsson Oct 8, 2026
a11ddb7
refactor(tui): compress the last never-compressed files
Gustav-Simonsson Oct 8, 2026
5b2366a
refactor: compress verbose comments in shell and session state
Gustav-Simonsson Oct 8, 2026
a151805
refactor(agent): compress verbose comments in the tool taxonomy cluster
Gustav-Simonsson Oct 8, 2026
e820bca
refactor(tui): compress verbose comments in the shell prompt box
Gustav-Simonsson Oct 8, 2026
ada8dc6
refactor(tui): compress verbose comments in the decision overlay body
Gustav-Simonsson Oct 8, 2026
ad62194
refactor(tui): compress verbose comments in the landing cluster
Gustav-Simonsson Oct 8, 2026
6b25abf
refactor(trust): compress verbose comments in the path trust cluster
Gustav-Simonsson Oct 8, 2026
dd01374
refactor(tui): compress verbose comments in the shell chrome
Gustav-Simonsson Oct 8, 2026
88c7bd8
refactor(src): compress verbose comments in the gateway error module
Gustav-Simonsson Oct 8, 2026
e2abef2
refactor(config): compress verbose comments in the settings catalog c…
Gustav-Simonsson Oct 8, 2026
a8a791a
refactor(tui): compress verbose comments in the tool lane cluster
Gustav-Simonsson Oct 8, 2026
cefee0c
refactor(tui): compress verbose comments in the overlay view
Gustav-Simonsson Oct 8, 2026
36849bc
refactor(subagent): compress verbose comments in the run lifecycle
Gustav-Simonsson Oct 8, 2026
f5afe11
refactor(permission): compress verbose comments in the authz cluster
Gustav-Simonsson Oct 8, 2026
1eb1fa7
refactor(tui): deepen comment compression in the shell palette
Gustav-Simonsson Oct 8, 2026
a44719f
refactor(tui): compress verbose comments in the session bridge
Gustav-Simonsson Oct 8, 2026
c47b42d
refactor(tui): deepen comment compression in the product host
Gustav-Simonsson Oct 8, 2026
e7ecba0
refactor(subagent): compress verbose comments in the session store
Gustav-Simonsson Oct 8, 2026
c6fdd60
refactor(tui): compress verbose comments in the prompt border
Gustav-Simonsson Oct 8, 2026
40e02a3
refactor(tui): compress verbose comments in the delivery queue
Gustav-Simonsson Oct 8, 2026
cc85070
refactor(tui): compress verbose comments in the overlay host cluster
Gustav-Simonsson Oct 8, 2026
dcd8a81
refactor(session): compress verbose comments in the runtime assembly …
Gustav-Simonsson Oct 8, 2026
244d883
refactor(tui): compress verbose comments in the shell internals
Gustav-Simonsson Oct 8, 2026
ea7a8a3
refactor(tui): compress verbose comments in the shell chrome
Gustav-Simonsson Oct 8, 2026
ce875ad
refactor(tui): deepen comment compression in the session bridge
Gustav-Simonsson Oct 8, 2026
29e65b0
refactor(tui): compress verbose comments in the chrome state
Gustav-Simonsson Oct 8, 2026
3ea83b1
refactor(tui): compress verbose comments in the markdown parser
Gustav-Simonsson Oct 8, 2026
3646ac9
refactor(tui): deepen comment compression in the mark animation primi…
Gustav-Simonsson Oct 8, 2026
99ff457
refactor(trust): deepen comment compression in the trust stores
Gustav-Simonsson Oct 8, 2026
27fe302
refactor(tui): compress verbose comments in the url link cluster
Gustav-Simonsson Oct 8, 2026
d508652
refactor(subagent): compress verbose comments in the fleet dispatch c…
Gustav-Simonsson Oct 8, 2026
551bf1f
refactor(session): compress verbose comments in the compaction persis…
Gustav-Simonsson Oct 8, 2026
1c1a442
refactor(tui): deepen comment compression in the agent progress lanes
Gustav-Simonsson Oct 8, 2026
92eac19
refactor(tui): deepen comment compression in the wrapped link splitter
Gustav-Simonsson Oct 8, 2026
5068732
refactor(subagent): compress verbose comments in the shell child reap…
Gustav-Simonsson Oct 8, 2026
c4a0cf6
refactor(tui): compress verbose comments in the chrome state
Gustav-Simonsson Oct 8, 2026
67b5aa9
refactor(tui): deepen comment compression in the tool execution watchdog
Gustav-Simonsson Oct 8, 2026
0e88758
refactor(mcp): compress verbose comments in the client and its teleme…
Gustav-Simonsson Oct 8, 2026
46a1a53
refactor(tui): compress verbose comments in the theme cluster
Gustav-Simonsson Oct 8, 2026
3b80776
refactor(tui): compress verbose comments in the prompt keybinding clu…
Gustav-Simonsson Oct 8, 2026
02d1312
refactor: compress the largest remaining comment blocks
Gustav-Simonsson Oct 8, 2026
c3b0e2e
refactor(tui): deepen comment compression in the tool result renderin…
Gustav-Simonsson Oct 8, 2026
867b3f3
refactor(tui): deepen comment compression in the runner exit lifecycle
Gustav-Simonsson Oct 8, 2026
b81bb79
refactor(subagent): deepen comment compression in the fleet dispatch …
Gustav-Simonsson Oct 8, 2026
2dc182c
refactor(tui): compress verbose comments in the shell chrome
Gustav-Simonsson Oct 8, 2026
bf242ed
refactor(tui): compress verbose comments in the provider setup cluster
Gustav-Simonsson Oct 8, 2026
20576d3
refactor(exec): compress verbose comments in the exec runner cluster
Gustav-Simonsson Oct 8, 2026
ec7f9bb
refactor(plugins): compress verbose comments in the plugin loader clu…
Gustav-Simonsson Oct 8, 2026
abc718c
refactor(tui): deepen comment compression in the turn state cluster
Gustav-Simonsson Oct 8, 2026
8bfeda5
refactor(comments): compress the last 100+ word comment blocks
Gustav-Simonsson Oct 8, 2026
33a86a4
refactor(tui): deepen comment compression in the chrome state
Gustav-Simonsson Oct 8, 2026
8d54588
refactor(subagent): deepen comment compression in the run lifecycle
Gustav-Simonsson Oct 8, 2026
bd917c8
refactor(tui): compress verbose comments in the shell chrome
Gustav-Simonsson Oct 8, 2026
1e0dc02
refactor(session): compress verbose comments in the runtime assembly …
Gustav-Simonsson Oct 8, 2026
3d7c69e
refactor(tui): compress verbose comments in the agent progress lanes
Gustav-Simonsson Oct 8, 2026
6a2720b
refactor(tui): compress verbose comments in the geometry zone registry
Gustav-Simonsson Oct 8, 2026
adc8492
refactor(src): compress verbose comments in the gateway error module
Gustav-Simonsson Oct 8, 2026
7dbc8c9
refactor(tui): compress verbose comments in the product host
Gustav-Simonsson Oct 8, 2026
32829a4
refactor(tui): compress verbose comments in the shell palette
Gustav-Simonsson Oct 8, 2026
6e80089
refactor(tui): compress verbose comments in the shell internals
Gustav-Simonsson Oct 8, 2026
89dde3c
refactor(subagent): compress verbose comments in the session store
Gustav-Simonsson Oct 8, 2026
358485d
refactor(tui): compress verbose comments in the diff module
Gustav-Simonsson Oct 8, 2026
6feec4d
refactor(tui): compress verbose comments in the landing cluster
Gustav-Simonsson Oct 8, 2026
01e53cf
refactor(tui): compress verbose comments in the shell prompt
Gustav-Simonsson Oct 8, 2026
e896443
refactor(tui): compress verbose comments in the command surfaces
Gustav-Simonsson Oct 8, 2026
6fb98f4
refactor(config): compress verbose comments in the config cluster
Gustav-Simonsson Oct 8, 2026
5415a02
refactor(tui): compress verbose comments in the transcript
Gustav-Simonsson Oct 8, 2026
b92dfd3
refactor(tui): compress verbose comments in the overlay host and view
Gustav-Simonsson Oct 8, 2026
3752569
refactor(tui): compress verbose comments in the tool result cluster
Gustav-Simonsson Oct 8, 2026
add3a36
refactor(tui): compress verbose comments in the wave6 test
Gustav-Simonsson Oct 8, 2026
04a491f
refactor(permission): compress verbose comments in the worker grant c…
Gustav-Simonsson Oct 8, 2026
98b3ebe
refactor(tui): compress verbose comments in the gate and stream event…
Gustav-Simonsson Oct 8, 2026
6ad579e
refactor(perf): compress verbose comments in the attribution report
Gustav-Simonsson Oct 8, 2026
7b7b749
refactor(tui): compress verbose comments in the history hydrate module
Gustav-Simonsson Oct 8, 2026
1405e0f
refactor(agent): compress verbose comments in the tool aliases module
Gustav-Simonsson Oct 8, 2026
f152404
refactor(tui): compress verbose comments in the pending column
Gustav-Simonsson Oct 8, 2026
c862c50
refactor(e2e): compress verbose comments in the scenario harness
Gustav-Simonsson Oct 8, 2026
e789b48
refactor(tui): compress verbose comments in the stall watchdog
Gustav-Simonsson Oct 8, 2026
2abecd1
refactor(plugins): compress verbose comments in the read file guard
Gustav-Simonsson Oct 8, 2026
b6e1558
refactor(tui): compress verbose comments in the tool execution watchdog
Gustav-Simonsson Oct 8, 2026
670b835
refactor(tui): compress verbose comments in the stream row model
Gustav-Simonsson Oct 8, 2026
16190af
refactor(tui): compress verbose comments in the tool args module
Gustav-Simonsson Oct 8, 2026
29ca8fa
refactor(tui): compress verbose comments in the ramp module
Gustav-Simonsson Oct 8, 2026
cec2c36
refactor(tui): deepen comment compression in the mark animation module
Gustav-Simonsson Oct 8, 2026
8188cb4
refactor(tui): deepen comment compression in the theme module
Gustav-Simonsson Oct 8, 2026
a3dd345
refactor(tui): compress verbose comments in the long-log retention mo…
Gustav-Simonsson Oct 8, 2026
2f0c78d
refactor(agent): compress verbose comments in the tool classification…
Gustav-Simonsson Oct 8, 2026
bb90fbc
refactor(perf): compress verbose comments in the otel config module
Gustav-Simonsson Oct 8, 2026
1680be1
refactor(tui): compress verbose comments in the prompt kill ring module
Gustav-Simonsson Oct 8, 2026
9283df2
refactor(agent): compress verbose comments in the tool schema normali…
Gustav-Simonsson Oct 8, 2026
45fc812
refactor(tui): deepen comment compression in the shell chrome
Gustav-Simonsson Oct 8, 2026
bfd69ad
refactor(provider): compress verbose comments in the reasoning effort…
Gustav-Simonsson Oct 8, 2026
5925d02
refactor(tui): compress verbose comments in the thinking reveal module
Gustav-Simonsson Oct 8, 2026
6d3d9b9
refactor(plugins): compress verbose comments in the diagnostics module
Gustav-Simonsson Oct 8, 2026
d09eff5
refactor(tui): compress verbose comments in the allow-once reprompt test
Gustav-Simonsson Oct 8, 2026
6da50f5
refactor(tui): deepen comment compression in the agent progress module
Gustav-Simonsson Oct 8, 2026
ac0af9f
refactor(tui): deepen comment compression in the shell layout module
Gustav-Simonsson Oct 8, 2026
b81d509
refactor(agent): deepen comment compression in the toolset cluster
Gustav-Simonsson Oct 8, 2026
abe4c91
refactor(session): deepen comment compression in the runtime assembly…
Gustav-Simonsson Oct 8, 2026
2374a1f
refactor(session): deepen comment compression in the session compactor
Gustav-Simonsson Oct 8, 2026
e113998
Fix formatting with bunx oxfmt .
Gustav-Simonsson Oct 8, 2026
7d9a0bc
refactor(tui): restore inference.done case in parentCycleLive comment
TheGreatAxios Oct 11, 2026
7064344
style: format runtime-bridge.ts after rebase
TheGreatAxios Oct 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 3 additions & 5 deletions e2e/compaction-atomicity.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ function mapArchive(dir: string) {
});
}

// A turn sequence carrying one tool_call/tool_result pair — the shape the
// completeness gate checks for evidence coverage.
// One tool_call/tool_result pair — the shape the completeness gate checks for coverage.
function toolExchangeHistory(): ConversationTurn[] {
return [
turn("fact-a"),
Expand Down Expand Up @@ -182,9 +181,8 @@ describe("compaction atomicity", () => {
const adopted1 = await first.apply(history1, ctx);
expect(adopted1.record.reason).toBe("compact");

// The new spine never passes through inbound admission, so adoption must
// leave it in the archive — otherwise the next fold rejects it as
// uncovered (a repaired spine is never echoed verbatim).
// The new spine never passes inbound admission, so adoption must leave
// it in the archive.
const handoffs = (await archive.listOccurrences()).filter(
(occurrence) => occurrence.provenance === "compaction-handoff",
);
Expand Down
24 changes: 9 additions & 15 deletions e2e/compaction-baseline.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,9 @@ async function snapshot(session: IntegrationSession) {
return { hash: createHash("sha256").update(raw).digest("hex"), turns };
}

// CL-8744: folded-away evidence lives in the fat handoff file, not the live
// prompt. Every fold overwrites the same stable latest key (a per-fold key
// would make each spine novel, which the completeness gate must reject), so
// one read behind the spine's pointer recovers the whole cumulative record.
// Folded-away evidence lives in the handoff file behind the spine's pointer:
// every fold overwrites the same latest key, so one read recovers the whole
// cumulative record.
async function readHandoffFile(
session: IntegrationSession,
key: string,
Expand Down Expand Up @@ -265,8 +264,7 @@ describe("integration — compaction mechanics baseline", () => {
skipPermissions: true,
reactorGated: false,
}),
// CL-9007: pin a tiny tail budget so the calibrated growth volumes
// still fold instead of fitting the default live tail.
// Pin a tiny tail budget so the calibrated growth volumes still fold.
compactionShape: { tailBudgetTokens: 10 },
compactionCompletion: async (turns) => {
const context = turns
Expand Down Expand Up @@ -384,14 +382,11 @@ describe("integration — compaction mechanics baseline", () => {
folds.push(observation);
expect(qualifyingFold(observation)).toBe(true);
expect(summaryInputs.length).toBe(fold + 1);
// CL-8744: the live prompt carries only the thin spine plus its
// pointer — the spine's cumulative evidence echo keeps every
// required marker inference-visible, so the responder still
// recovers the full set from the reply itself.
// The live prompt carries only the thin spine plus its pointer; the
// cumulative evidence echo keeps markers recoverable from the reply.
const recovered = recoverEvidence(reply);
expect(recovered).toEqual([...REQUIRED_EVIDENCE]);
// The full structured record lives in the fat handoff file behind
// the spine's pointer: every section present, every marker verbatim.
// The full record lives in the handoff file behind the spine's pointer.
const handoffKey = spineHandoffKey(after.turns);
expect(handoffKey).toBe(HANDOFF_LATEST_KEY);
const fileText = await readHandoffFile(session, handoffKey as string);
Expand All @@ -414,9 +409,8 @@ describe("integration — compaction mechanics baseline", () => {
.map((fact) => fact.id)
.sort(),
).toEqual(REQUIRED_EVIDENCE.map((fact) => fact.id).sort());
// The live spine may grow with newly discovered tokens; dropped prior
// spines are adopted into the evidence archive so the completeness
// gate still certifies the fold (qualifyingFold above).
// Dropped prior spines are adopted into the archive so the
// completeness gate still certifies the fold.
spineTexts.push(spineText(after.turns));
expect(spineTexts[fold]?.startsWith(COMPACTED_PREFIX)).toBe(true);
expect(spineTexts[fold]).toContain("Handoff:");
Expand Down
34 changes: 12 additions & 22 deletions e2e/compaction-read-paging.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ const WireRequest = type({
messages: type({ role: "string", content: "unknown" }).array(),
});

// claude-integration resolves a 200k context window, so a 200k-token usage
// frame reports over the 120k auto-compaction threshold.
// A 200k-token usage frame clears the 120k auto-compaction threshold.
const TRIGGER_USAGE = {
input: 200_000,
output: 1,
Expand All @@ -41,16 +40,12 @@ function logLines(count: number): string {
async function openFoldSession(): Promise<E2ESession> {
const session = await openE2ESession({
permissionGate: e2ePermissionGate(),
// A tiny tail budget keeps the fold honest: the default 2500-token
// budget would absorb this small scenario into the live tail and the
// compactor would correctly no-op.
// Budget fits the paged read windows in the live tail but not the bulky
// pad turns, so the fold still fires.
// A tiny tail budget keeps this small scenario from fitting the live tail;
// the budget fits the read windows but not the bulky pad turns, so the
// fold fires.
compactionShape: { tailBudgetTokens: 500 },
// A short handoff, not a prompt echo: complete() receives the summarizer
// prompt turns, and a 4k echo gets truncated off the verify-repair tail
// so the fold aborts. This scenario asserts on kept live bodies, not the
// summary text.
// A short handoff keeps the fold from aborting on a 4k echo; assertions
// target the kept live bodies, not the summary text.
compactionCompletion: async () =>
"Goal: page through var/log/big.log. Next: keep reading remaining windows.",
});
Expand Down Expand Up @@ -84,12 +79,9 @@ async function padTurns(session: E2ESession, count: number): Promise<void> {
}

/**
* One user turn that pages through the log and folds mid-turn: each scripted
* read reply reports low usage so the governor stays disarmed until the
* final call, whose 200k usage frame arms the tool.done intercept — the
* compact+emit batch runs, the delivered continuation re-enters inference,
* and the last scripted reply answers the post-fold request. Keeping every
* read inside this turn is what lands the kept windows in the live tail.
* One user turn that pages through the log and folds mid-turn: reads report
* low usage until the final 200k frame arms the compact+emit batch; keeping
* every read in this turn lands the kept windows in the live tail.
*/
async function readChainThenFold(
session: E2ESession,
Expand Down Expand Up @@ -130,9 +122,8 @@ describe("e2e — automatic compaction keeps the read resume recipe", () => {
);
expect(spines).toHaveLength(1);

// Each kept window still carries its own body and resume recipe —
// the summary echoed turn text only, so these strings can only come
// from the live kept results.
// Each kept window still carries its own body and resume recipe — the
// summary echoed turn text only, so these strings come from the live results.
expect(body).toContain("Use offset=40 to continue");
expect(body).toContain("Use offset=60 to continue");
expect(body).toContain("log line 25");
Expand Down Expand Up @@ -160,8 +151,7 @@ describe("e2e — automatic compaction keeps the read resume recipe", () => {

const body = await lastRequestBody(session);
expect(body).toContain(COMPACTED_PREFIX);
// The newest copy of the identical window keeps its body and notice;
// exactly one older duplicate renders as a stub.
// The newest duplicate stays whole; exactly one older one renders as a stub.
expect(body).toContain("Use offset=40 to continue");
const stubs = body.match(/omitted from context/g) ?? [];
expect(stubs).toHaveLength(1);
Expand Down
28 changes: 7 additions & 21 deletions e2e/crash-finalize.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,8 @@ describe("integration — crash finalizes run.json", () => {
const raw = readFileSync(runJsonPath, "utf8");
const state = JSON.parse(raw) as RunState;

// The fixture also parks two unawaited straggler "running" snapshot
// writes behind a test-only gate (setTestWriteGate) that it releases
// only after the crash handler has flipped isCrashed(), guaranteeing
// both are still queued — not dispatched to the kernel — at that
// moment. Without the isCrashed() guard in saveState
// (src/session/state.ts), one of those would win the rename() race
// once released and this would read back "running".
// The fixture parks two "running" writes behind setTestWriteGate until
// isCrashed() flips, so no straggler rename() wins over "crashed".
expect(state.status).toBe("crashed");
expect(state.finishedAt).toBeGreaterThan(0);
expect(state.error).toContain("simulated crash");
Expand Down Expand Up @@ -89,10 +84,7 @@ describe("integration — crash finalizes run.json", () => {
expect(exitCode).toBe(1);
expect(stderr).toContain("uncaughtException: Error: simulated crash");

// The bug this pins: the outgoing session's terminal "done" write must
// not clear the active-run handle, or the crash below finds it null
// and never writes a crashed record for the session actually running
// at the time of the crash.
// The terminal "done" write must not clear the active-run handle, or the crash writes no record.
const outgoingRunJsonPath = join(
sessionDir(cwd, sessionId, home),
"run.json",
Expand Down Expand Up @@ -143,16 +135,10 @@ describe("integration — crash finalizes run.json", () => {
"uncaughtException: Error: simulated crash during run-end write",
);

// The bug this pins: finalizeRunState used to clear the active-run
// handle only after its own saveState write resolved. With the
// run-end write parked mid-flight (this fixture's gate never
// releases), the handle stayed live for the entire window, so the
// crash handler saw a live run and wrote a "crashed" record via
// saveCrashState — which bypasses the gate — clobbering what should
// have been a clean finish. Clearing the handle before the await
// closes that window: the crash handler finds no active run and
// writes nothing, so the last write to land is the one from the
// initial saveState above ("running"), never "crashed".
// finalizeRunState used to clear the active-run handle only after its
// saveState write resolved; the crash handler then saw a live run and
// wrote "crashed" via saveCrashState, clobbering the clean finish.
// Clearing the handle before the await closes that window.
const runJsonPath = join(stdout.trim(), "run.json");
const raw = readFileSync(runJsonPath, "utf8");
const state = JSON.parse(raw) as RunState;
Expand Down
14 changes: 5 additions & 9 deletions e2e/credential-recovery.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,8 @@ describe("e2e — credential recovery switches the live source", () => {
material: { secret: "backup-key" },
},
},
// The production Corbits policy with a stubbed OAuth refresh —
// the refresh succeeds, the retry is armed, the second 401 is
// terminal. A real scheduler lets the zero-delay retry actually
// elapse; the harness scheduler is inert.
// Production retry policy with a stubbed OAuth refresh; a real
// scheduler lets the zero-delay retry actually elapse.
retryPolicy: createCorbitsRetryPolicy({
providerId: PRIMARY.id,
refreshCredential: async () => undefined,
Expand Down Expand Up @@ -145,9 +143,8 @@ describe("e2e — credential recovery switches the live source", () => {
"no backup alternative offered",
);

// Phase 2: the real switch path — setSources on the live agent,
// arm on the real director, deliver the continuation, then pump
// the replayed turn through the backup provider.
// Phase 2: switch sources on the live agent, arm the continuation,
// deliver, and pump the replayed turn through the backup provider.
const pump = session.harness.run({ wallClockBudgetMs: Infinity });
const acceptance = applyCredentialRecoverySelection({
state: recovery,
Expand Down Expand Up @@ -180,8 +177,7 @@ describe("e2e — credential recovery switches the live source", () => {
const backupHits = requests.filter((r) =>
RequestURL.assert(r).url.includes(BACKUP_HOST),
);
// Two primary hits prove the refresh→retry path ran: an inert or
// api-key provenance would terminal-fail after the first 401.
// Two primary hits prove the refresh→retry path ran.
expect(primaryHits).toHaveLength(2);
expect(backupHits).toHaveLength(1);
// The replay carries the original operator message, not a synthetic
Expand Down
16 changes: 6 additions & 10 deletions e2e/git-push-scoped.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
/**
* `bin/git-push-scoped` must never write to global git config: not on a
* normal push, not when two pushes race, and not when one is killed
* mid-flight. Every test runs against an isolated HOME/GIT_CONFIG_GLOBAL
* so a bug here can never touch the real machine's config.
* bin/git-push-scoped must never write global git config, even under races
* or mid-flight kills; every test runs with an isolated HOME so a bug can
* never touch the real machine's config.
*/

import { spawn } from "node:child_process";
Expand Down Expand Up @@ -71,8 +70,7 @@ beforeEach(() => {
"[user]\n\tname = Sentinel\n\temail = sentinel@example.com\n",
);

// Stub `gh` on PATH so the script's `command -v gh` check passes without
// depending on a real GitHub CLI install or credentials.
// Stub gh on PATH so the command -v gh check passes without a real install.
fakeBinDir = join(root, "fakebin");
mkdirSync(fakeBinDir);
const ghStub = join(fakeBinDir, "gh");
Expand Down Expand Up @@ -126,8 +124,7 @@ describe("git-push-scoped", () => {
const remote = initBareRemote("remote-slow.git");
const work = initWorkingRepo("work-slow", remote);

// A pre-receive hook that sleeps gives us a reliable window to kill the
// push while it is in flight.
// A sleeping pre-receive hook gives a reliable window to kill the push in flight.
const hookPath = join(remote, "hooks", "pre-receive");
writeFileSync(hookPath, "#!/usr/bin/env bash\nsleep 5\n");
chmodSync(hookPath, 0o755);
Expand All @@ -144,8 +141,7 @@ describe("git-push-scoped", () => {
child.on("exit", (code, signal) => resolve({ code, signal }));
});

// The pre-receive hook sleeps 5s, so the push is still in flight here;
// kill it well inside that window.
// The hook sleeps 5s, so the push is still in flight; kill it inside that window.
await new Promise((resolve) => setTimeout(resolve, 30));
child.kill("SIGKILL");
const { signal } = await exited;
Expand Down
49 changes: 22 additions & 27 deletions e2e/harness.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
/**
* End-to-end scenario harness: full agent-loop runs against the production
* stack — live tool dispatch, chat director, posix tools plus permission
* middleware, git-backed context store, production compactor — with only
* inference scripted by @intx/inference-testing. `e2e/integration-harness.ts` owns
* the assembly; this layer adds fixture-repo seeding and small scenario
* conveniences so e2e files stay declarative.
* stack (tools, director, permissions, context store, compactor) with only
* inference scripted by @intx/inference-testing.
*
* Deliberate boundary: no TUI and no process spawn here — a scenario drives
* `agent.send` through the same seam the runners use. PTY-level coverage is
* a separate layer and out of scope for this harness.
* Layer split: `integration-harness.ts` owns the assembly; this file adds
* fixture-repo seeding and scenario conveniences so e2e files stay
* declarative. No TUI or process spawn: scenarios drive `agent.send` through
* the seam the runners use.
*/

import { cpSync, mkdirSync, writeFileSync } from "node:fs";
Expand Down Expand Up @@ -46,15 +44,14 @@ export type E2ESession = IntegrationSession;

export interface OpenE2ESessionOpts extends OpenIntegrationSessionOpts {
/**
* Name of a `fixtures/<name>` directory copied into the session cwd
* before the scenario runs. `node_modules` and `.git` are skipped: fixture
* deps install into the real repo, and the repo marker belongs to the
* `git` option, not to whatever the fixture happens to contain.
* Name of a `fixtures/<name>` directory copied into the session cwd.
* `node_modules` and `.git` are skipped: fixture deps install into the
* real repo, and the repo marker belongs to the `git` option.
*/
fixture?: string;
/**
* Initialize the session cwd as a git repository. Defaults to true — a
* "fixture-repo run" should look like one to worktree-aware permission
* Initialize the session cwd as a git repository; defaults to true.
* A fixture-repo run should look like one to worktree-aware permission
* and trust checks. Pass false only when the scenario asserts on
* non-repo behavior.
*/
Expand Down Expand Up @@ -85,7 +82,7 @@ export function e2ePermissionGate(): PermissionGate {
});
}

/** Write (or overwrite) a file inside the session cwd mid-scenario. */
/** Write a file inside the session cwd mid-scenario. */
export function seedFile(
session: E2ESession,
relativePath: string,
Expand All @@ -100,16 +97,15 @@ export interface OperatorTurn {
/** The exact message sent — recovery flows key on its identity. */
message: InboundMessage;
events: ReactorEmittedEvent[];
/** The raw send result — a terminally-failed turn is not asserted here. */
/** The raw send result; failures are returned, not thrown. */
outcome: SendOutcome | unknown;
}

/**
* Send one operator message and pump the harness until the send settles,
* whatever the outcome. Unlike runUntilDone this never asserts a reply —
* scenarios that script a terminal failure (credential recovery, provider
* outage) need the failure's event stream plus the send outcome, not a
* thrown expectation.
* whatever the outcome. Never asserts a reply (unlike `runUntilDone`):
* terminal-failure scenarios need the failure's event stream plus the send
* outcome.
*/
export async function sendOperatorTurn(
session: E2ESession,
Expand All @@ -130,10 +126,9 @@ export async function sendOperatorTurn(
};
const events: ReactorEmittedEvent[] = [];
const continuationGate = createContinuationGate();
// The collector outlives the send: recovery scenarios deliver a follow-up
// turn after this returns, and its events keep appending to `events`. The
// catch mirrors runUntilSuspended — a stream error must not become an
// unhandled rejection in the shared test process.
// The collector outlives the send so recovery follow-up events keep
// appending; the catch keeps stream errors from becoming unhandled
// rejections in the shared test process.
void (async () => {
for await (const event of session.agent.stream()) {
events.push(event);
Expand Down Expand Up @@ -161,9 +156,9 @@ export interface ScriptedReply {

/**
* Queue one model response per inference request, in order — the common
* "model calls tools, then answers" scenario spine. Thin sugar over
* `scenario.replyOnce`; reach for `whenRequestBodyMatches`/`createStream`
* directly when a reply must key on request content or timing.
* "model calls tools, then answers" spine. Use
* `whenRequestBodyMatches`/`createStream` directly when a reply must key on
* request content or timing.
*/
export function scriptReplies(
session: E2ESession,
Expand Down
Loading
Loading