Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
254 commits
Select commit Hold shift + click to select a range
8be9419
run-unit: canonicalize TMPDIR so node-logic tests avoid macOS /var sy…
ajonkisz Jun 12, 2026
c59a766
Document Extension-Platform G1.1: pack.yaml schema 2 + provider loade…
ajonkisz Jun 12, 2026
73c4c68
Merge origin/master into goal/pack-schema-v2 (resolve main.ts side-pa…
ajonkisz Jun 15, 2026
bd57750
Fix schema v2 activation compatibility
ajonkisz Jun 15, 2026
de81069
Add lifecycle hub core
ajonkisz Jun 15, 2026
b8ef598
Merge G1.2 Lifecycle Hub core implementation
ajonkisz Jun 15, 2026
6c9f610
Harden remote-agent-outbox ready() against load-induced flake
ajonkisz Jun 15, 2026
7f66f28
Document Lifecycle Hub core (Extension Platform G1.2)
ajonkisz Jun 15, 2026
40481c6
Merge G1.2 Lifecycle Hub documentation
ajonkisz Jun 15, 2026
5331f7d
Add session setup dynamic context
ajonkisz Jun 15, 2026
9da0f04
Merge G1.3 sessionSetup dynamic context implementation
ajonkisz Jun 15, 2026
c363081
Fix test-isolation bug in provider-session-setup E2E spec
ajonkisz Jun 15, 2026
800034c
Merge G1.3 E2E test-isolation fix
ajonkisz Jun 15, 2026
55b931f
De-flake goal-proposal-offscreen-return: wait for session switch befo…
ajonkisz Jun 15, 2026
583893a
Stabilize legacy preview tab e2e assertion
ajonkisz Jun 15, 2026
53aa705
De-flake base-ref-settings e2e: deterministic waits + timeout headroom
ajonkisz Jun 15, 2026
7b5d300
Merge base-ref E2E stability fix
ajonkisz Jun 15, 2026
2970419
Document G1.3 sessionSetup Dynamic Context wiring
ajonkisz Jun 15, 2026
4f2c4c0
Correct G1.3 fixture-loading note in lifecycle-hub doc
ajonkisz Jun 15, 2026
0695032
Merge G1.3 dynamic context documentation
ajonkisz Jun 15, 2026
d7aed26
Merge remote-tracking branch 'origin/master' into goal/sessionsetup-d…
ajonkisz Jun 15, 2026
81e7093
Merge remote-tracking branch 'origin/master' into goal/per-turn-provi…
ajonkisz Jun 17, 2026
63ab8bf
wire provider-bridge extension activation in resolveToolActivation
ajonkisz Jun 17, 2026
18f777a
G1.4: dispatch afterTurn + sessionShutdown lifecycle hooks
ajonkisz Jun 17, 2026
aba5ab3
Merge remote-tracking branch 'origin/goal/per-turn-provi-7f764705' in…
ajonkisz Jun 17, 2026
ce49931
Merge remote-tracking branch 'origin/goal/per-turn-provi-7f764705' in…
ajonkisz Jun 17, 2026
d56a9af
Add provider-bridge extension codegen (G1.4)
ajonkisz Jun 17, 2026
5d81052
Merge branch 'goal/7f764705/coder-ef25' into goal/per-turn-provi-7f76…
ajonkisz Jun 17, 2026
406ed20
Merge remote-tracking branch 'origin/goal/per-turn-provi-7f764705' in…
ajonkisz Jun 17, 2026
9b9fb71
Add provider per-turn hook endpoints (EP G1.4)
ajonkisz Jun 17, 2026
63f048e
Merge branch 'goal/7f764705/coder-3f14' into goal/per-turn-provi-7f76…
ajonkisz Jun 17, 2026
5f160ef
Align provider-bridge exports for session-setup activation
ajonkisz Jun 17, 2026
c3197dd
Merge branch 'goal/7f764705/coder-8034' into goal/per-turn-provi-7f76…
ajonkisz Jun 17, 2026
652f030
test(provider-hooks): add per-turn hook E2E + extend provider-demo fi…
ajonkisz Jun 17, 2026
1339ee0
G1.4: dispatch sessionShutdown on terminateSession archive path
ajonkisz Jun 17, 2026
b7a7792
Merge branch 'goal/7f764705/test-engineer-f579' into goal/per-turn-pr…
ajonkisz Jun 17, 2026
1a36803
Fix provider bridge archive allowlist
ajonkisz Jun 17, 2026
dc1e738
fix(provider-bridge): re-attach bridge on respawn/restore
ajonkisz Jun 17, 2026
f73d344
Remove process-wide TLS downgrade from provider bridge codegen
ajonkisz Jun 17, 2026
2b34f04
docs(G1.4): document per-turn provider hooks, bridge, endpoints
ajonkisz Jun 17, 2026
9ce0537
docs(G1.4): fix stale 'inert/pending' provider wording
ajonkisz Jun 17, 2026
55dde48
Merge remote-tracking branch 'origin/master' into goal/per-turn-provi…
ajonkisz Jun 17, 2026
967c9a0
Merge remote-tracking branch 'origin/master' into goal/per-turn-provi…
ajonkisz Jun 17, 2026
32f32c3
Merge branch 'goal/per-turn-provi-7f764705' into goal/hindsight-pack-…
ajonkisz Jun 18, 2026
5b10a77
docs: design for Hindsight pack external mode (G2.1+G2.2)
ajonkisz Jun 18, 2026
4cfcc91
Clarify Hindsight dormancy design
ajonkisz Jun 18, 2026
f452fcc
test: Hindsight external-mode API E2E + manual-integration suites
ajonkisz Jun 18, 2026
6278a79
feat(hindsight): REST client + deterministic in-process stub
ajonkisz Jun 18, 2026
13df282
Merge branch 'goal/ebfc7e0a/coder-5b9a' into goal/hindsight-pack-ebfc…
ajonkisz Jun 18, 2026
30eba79
Add Hindsight pack provider, routes, manifest & build wiring (externa…
ajonkisz Jun 18, 2026
b93a448
Merge branch 'goal/ebfc7e0a/coder-0b6b' into goal/hindsight-pack-ebfc…
ajonkisz Jun 18, 2026
c82f383
EP: provider host/config activation seams for Hindsight
ajonkisz Jun 18, 2026
9787bff
Merge branch 'goal/ebfc7e0a/coder-8caa' into goal/hindsight-pack-ebfc…
ajonkisz Jun 18, 2026
7bdf8ee
Integrate Hindsight pack wiring
ajonkisz Jun 18, 2026
545d70d
EP: fix Hindsight external-mode code-quality findings
ajonkisz Jun 18, 2026
ed5df12
Add Hindsight memory pack docs (external mode)
ajonkisz Jun 18, 2026
ee7646d
Fix Hindsight docs gate findings: stale provider claims + broken links
ajonkisz Jun 18, 2026
d88c0eb
Merge remote-tracking branch 'origin/master' into goal/hindsight-pack…
ajonkisz Jun 18, 2026
50cc08f
Merge remote-tracking branch 'origin/goal/hindsight-pack-ebfc7e0a' in…
ajonkisz Jun 18, 2026
7939e84
Add Hindsight runtime pack files (P1 manifest layer)
ajonkisz Jun 18, 2026
d812c67
Merge Hindsight runtime pack files
ajonkisz Jun 18, 2026
a3e18b0
P1: runtime manifest parser + pure helper utilities
ajonkisz Jun 18, 2026
27b41ae
Merge runtime manifest helpers
ajonkisz Jun 18, 2026
f11cfeb
Add runtime contribution loader for pack-authored runtimes
ajonkisz Jun 18, 2026
b9e2c95
Merge runtime contribution loader
ajonkisz Jun 18, 2026
77e609b
Merge remote-tracking branches 'origin/goal/876131f8/coder-598c' and …
ajonkisz Jun 18, 2026
ad61937
Fix Hindsight runtime manifest/parser-helper schema mismatch
ajonkisz Jun 18, 2026
a4c8cde
Merge Hindsight runtime schema fix
ajonkisz Jun 18, 2026
869bfa1
Document P1 managed-runtime manifest + pure helper layer
ajonkisz Jun 18, 2026
2d5d59c
Merge runtime manifest documentation
ajonkisz Jun 18, 2026
20f3bd3
Merge runtime implementation after docs
ajonkisz Jun 18, 2026
d921bd9
Merge parent branch for runtime manifest
ajonkisz Jun 18, 2026
55adc25
Merge child goal branch goal/p1-runtime-man-876131f8 into goal/hindsi…
ajonkisz Jun 18, 2026
51dca5e
feat(runtimes): add PackRuntimeSupervisor (Docker-backed, mocked in t…
ajonkisz Jun 18, 2026
4a48eb9
Wire pack-runtime REST routes with injectable supervisor seam
ajonkisz Jun 18, 2026
ee73fa8
Merge remote-tracking branch 'origin/goal/3e0e1c39/coder-36ef' into g…
ajonkisz Jun 18, 2026
a39e7dc
Reconcile pack-runtime REST wiring with merged supervisor module
ajonkisz Jun 18, 2026
18496e4
Fix pack-runtime supervisor review findings: service-scoping, prod co…
ajonkisz Jun 19, 2026
f2d6df9
Fix pack-runtime compose invocation: derive -f/--env-file + service s…
ajonkisz Jun 19, 2026
0934d8b
fix(archive): preserve state/pack-runtimes as gateway-owned
ajonkisz Jun 19, 2026
ce86e43
fix(pack-runtimes): stop port churn on read/control paths; key start …
ajonkisz Jun 19, 2026
807c9b0
fix(pack-runtimes): namespace runtime persistence + harden REST seam/…
ajonkisz Jun 19, 2026
986b362
Document P2 PackRuntimeSupervisor + REST
ajonkisz Jun 19, 2026
1a8883d
Merge child goal branch goal/p2-supervisor-3e0e1c39 into goal/hindsig…
ajonkisz Jun 19, 2026
36a2e3d
test(p3): pin no-auto-start + Hindsight runtime mode→services mapping
ajonkisz Jun 19, 2026
8ffbc3c
Merge P3 runtime test scaffolding
ajonkisz Jun 19, 2026
26b8733
feat(marketplace-ui): managed-runtime consent enable-card + schema-v2…
ajonkisz Jun 19, 2026
853ccbf
Merge marketplace runtime consent UI
ajonkisz Jun 19, 2026
cc9146e
feat(hindsight): P3 deployment modes + managed runtime context
ajonkisz Jun 19, 2026
7e45cd5
Merge Hindsight provider modes
ajonkisz Jun 19, 2026
21b2d99
P3: runtime supervisor down/capabilities + marketplace consent wiring
ajonkisz Jun 19, 2026
9b6de71
Merge runtime supervisor server hooks
ajonkisz Jun 19, 2026
a638c9b
Merge remote-tracking branches 'origin/goal/d984e3aa/coder-7ee7', 'or…
ajonkisz Jun 19, 2026
4d5568c
Merge remote-tracking branch 'origin/goal/d984e3aa/test-engineer-822a…
ajonkisz Jun 19, 2026
7c6ee9c
test(p3): cover down/purge, capabilities, managed-mode provider, runt…
ajonkisz Jun 19, 2026
7288882
Merge P3 runtime test coverage
ajonkisz Jun 19, 2026
68901bc
test: fix concurrent-build flake in client-session-write.spec
ajonkisz Jun 19, 2026
502a09e
Merge client session write fixture fix
ajonkisz Jun 19, 2026
909e257
Re-merge P3 runtime implementation and tests after fixture fix
ajonkisz Jun 19, 2026
21994f3
Fix P3 managed-mode gaps: ctx.runtime injection, activation, uninstal…
ajonkisz Jun 19, 2026
830342f
Merge managed runtime provider activation fixes
ajonkisz Jun 19, 2026
52e76af
fix(p3): resolve runtime consent review blockers
ajonkisz Jun 19, 2026
eb07d88
Merge runtime secret and control fixes
ajonkisz Jun 19, 2026
8528107
fix(p3): honor configured dataDir, roll back activation on runtime fa…
ajonkisz Jun 19, 2026
93f9567
Merge compose dataDir and activation failure fixes
ajonkisz Jun 19, 2026
0b534f0
Fix external-mode runtime side effects in disable/uninstall/capabilities
ajonkisz Jun 19, 2026
e2ed804
Merge external-mode runtime side-effect fixes
ajonkisz Jun 19, 2026
1f69a20
Fix P3 consent review blockers: plumb projectId to route ctx, port di…
ajonkisz Jun 19, 2026
554a35d
Merge route project context and port disclosure fixes
ajonkisz Jun 19, 2026
6aac5ac
Merge origin/master into P3 modes consent branch
ajonkisz Jun 19, 2026
439ff69
Merge master update into P3 branch
ajonkisz Jun 19, 2026
3c46efe
Document P3 Hindsight runtime modes, consent & lifecycle
ajonkisz Jun 19, 2026
5e67830
Merge P3 Hindsight runtime documentation
ajonkisz Jun 19, 2026
890c878
Merge remote-tracking branch 'origin/master' into goal/p3-modes-conse…
ajonkisz Jun 19, 2026
966d20e
Merge child goal branch goal/p3-modes-conse-d984e3aa into goal/hindsi…
ajonkisz Jun 19, 2026
2db8bbd
docs(hindsight): P4 native config/status panel implementation design
ajonkisz Jun 19, 2026
24810cd
Merge implementation design artifact
ajonkisz Jun 19, 2026
06ad5f1
feat(hindsight): native config/status panel + entrypoints (P4)
ajonkisz Jun 19, 2026
2b1a63b
Merge Hindsight panel implementation
ajonkisz Jun 19, 2026
6702898
test(hindsight): browser E2E for P4 native config/status panel
ajonkisz Jun 19, 2026
791609c
Merge Hindsight panel E2E tests
ajonkisz Jun 19, 2026
f87add3
fix(hindsight): gate route client calls on runtime reachability
ajonkisz Jun 19, 2026
9778dfa
Merge Hindsight managed route fix
ajonkisz Jun 19, 2026
be12d01
fix(ext-host): inject managed runtime context into pack route calls
ajonkisz Jun 19, 2026
50cc4a5
Merge managed runtime route injection
ajonkisz Jun 19, 2026
db8d7c4
Document P4 Hindsight native config/status panel & entrypoints
ajonkisz Jun 19, 2026
42986c1
Merge Hindsight panel documentation
ajonkisz Jun 19, 2026
f9f1f18
Merge child goal branch goal/p4-config-pane-82959b5e into goal/hindsi…
ajonkisz Jun 19, 2026
6c9741e
P5: add Hindsight agent tools (recall/retain/reflect)
ajonkisz Jun 19, 2026
420dae5
test(hindsight): API E2E for P5 agent tools (recall/retain/reflect)
ajonkisz Jun 19, 2026
e6feba1
Merge branch 'goal/505a5056/test-engineer-2dd3' into goal/p5-agent-to…
ajonkisz Jun 19, 2026
9cc460e
Keep PR reviewer scoped from Hindsight tools
ajonkisz Jun 19, 2026
7257469
Document P5 Hindsight agent tools
ajonkisz Jun 19, 2026
1bece56
Merge child goal branch goal/p5-agent-tools-505a5056 into goal/hindsi…
ajonkisz Jun 19, 2026
a942784
fix(hindsight-runtime): verified images, data-plane port 8888, HTTP r…
ajonkisz Jun 19, 2026
0b43d50
fix(hindsight): read-only runtime status, start-config remap, healthc…
ajonkisz Jun 19, 2026
127a44c
fix(hindsight): expand managed data dir, resilient teardown/logs, ext…
ajonkisz Jun 19, 2026
d522dd2
fix(test): avoid Node 26 worker-terminate-mid-parse crash in route-di…
ajonkisz Jun 19, 2026
39eb117
fix(test): harden action-dispatcher hung-handler timeouts against Nod…
ajonkisz Jun 19, 2026
346b0e9
Fix runtime stop to use read-only compose target
ajonkisz Jun 19, 2026
157f4f2
fix(hindsight): stable runtime identity, reflect scope, idempotent st…
ajonkisz Jun 19, 2026
8bb19b8
fix(hindsight): unconditional runtime teardown, identity-scoped start…
ajonkisz Jun 19, 2026
ea3f957
Align runtime identity keys and UI capability cache/structural id
ajonkisz Jun 19, 2026
7f9fce9
fix(marketplace): refetch runtime consent on view reload; start provi…
ajonkisz Jun 19, 2026
d0bc435
fix(runtime): deployment-surface = provider carrying mode; no-surface…
ajonkisz Jun 19, 2026
6552422
fix(runtime): derive deployment surface from RAW pack contributions
ajonkisz Jun 19, 2026
083cd31
Finalize Hindsight managed-runtime docs after follow-up fixes
ajonkisz Jun 19, 2026
9b20cda
Merge remote-tracking branch 'origin/master' into goal/hindsight-setu…
ajonkisz Jun 19, 2026
b1a3baa
Merge remote-tracking branch 'origin/master' into goal/hindsight-setu…
ajonkisz Jun 20, 2026
9e5c011
Add Hindsight UX Polish implementation design
ajonkisz Jun 20, 2026
4173b9e
design: Hindsight UX polish — marketplace states, actions, guided set…
ajonkisz Jun 20, 2026
73f7ac9
Merge branch 'goal/a3a5deb4/coder-61ad' into goal/hindsight-ux-p-a3a5…
ajonkisz Jun 20, 2026
424ee7d
hindsight: additive uiUrl config + status fields + git-widget entrypoint
ajonkisz Jun 20, 2026
2ebbae8
fix(hindsight): panel stale-form fix + guided setup, runtime UX (Part…
ajonkisz Jun 20, 2026
5edd455
marketplace: Hindsight built-in row state badge + runtime actions
ajonkisz Jun 20, 2026
8c441a1
Merge branch 'goal/a3a5deb4/coder-cb1c' into goal/hindsight-ux-p-a3a5…
ajonkisz Jun 20, 2026
dfaaed0
Merge branch 'goal/a3a5deb4/coder-082a' into goal/hindsight-ux-p-a3a5…
ajonkisz Jun 20, 2026
17df29f
fix(marketplace): sessionless built-in pack-route read for Hindsight …
ajonkisz Jun 20, 2026
b5e624a
test(hindsight): browser E2E for UX polish panel + marketplace (Parti…
ajonkisz Jun 20, 2026
cef7ecd
fix(hindsight): gate managed Start on saved config, fail-fast pre-sav…
ajonkisz Jun 20, 2026
c36391a
fix(hindsight): touched-field Save body + value-based deploy preset s…
ajonkisz Jun 20, 2026
83da81e
docs(hindsight): document UX polish — marketplace setup, state model,…
ajonkisz Jun 20, 2026
2f4e0e4
Merge remote-tracking branch 'origin/master' into goal/hindsight-ux-p…
ajonkisz Jun 20, 2026
cd0edde
Merge child goal branch goal/hindsight-ux-p-a3a5deb4 into goal/hindsi…
ajonkisz Jun 20, 2026
06e49da
fix(hindsight): clamp recall query + clear sticky lastError
ajonkisz Jun 20, 2026
12b5d0c
Merge remote-tracking branch 'origin/master' into goal/hindsight-setu…
ajonkisz Jun 20, 2026
f32685d
fix(hindsight): raise recall query clamp default to 3000 chars
ajonkisz Jun 20, 2026
e3f3196
feat(hindsight): inline marketplace Configure form + sessionless conf…
ajonkisz Jun 20, 2026
e68904e
Merge remote-tracking branch 'origin/goal/1d1bf725/coder-deef' into g…
ajonkisz Jun 20, 2026
429647d
fix(hindsight): migrate entrypoints to session-menu (command-palette/…
ajonkisz Jun 20, 2026
537b878
test(hindsight): open panel via session-menu launcher (was command-pa…
ajonkisz Jun 20, 2026
8969759
feat(hindsight): guided setup wizard on Marketplace Enable
ajonkisz Jun 20, 2026
9ddfccd
feat(marketplace): default-disable built-in Hindsight pack unless con…
ajonkisz Jun 20, 2026
7d2b051
Merge remote-tracking branch 'origin/goal/1d1bf725/coder-4ac5' into g…
ajonkisz Jun 20, 2026
d7baba2
fix(marketplace): deterministic default-disabled tests + clean defaul…
ajonkisz Jun 20, 2026
0557a9b
Merge remote-tracking branch 'origin/goal/1d1bf725/coder-611e' into g…
ajonkisz Jun 20, 2026
3b0a0fa
Hindsight UI: project+global scope copy and per-project override
ajonkisz Jun 20, 2026
d178884
Merge Hindsight config UI
ajonkisz Jun 20, 2026
d74678c
feat(hindsight): high-signal, cost-efficient memory defaults
ajonkisz Jun 20, 2026
4f95351
Merge core Hindsight memory quality
ajonkisz Jun 20, 2026
740e4c6
build(hindsight): regenerate pack artifacts after memory quality merges
ajonkisz Jun 20, 2026
05c172f
Merge Hindsight generated artifacts
ajonkisz Jun 20, 2026
b1d5a2f
fix: preserve Saved lozenge after Hindsight override reload
ajonkisz Jun 20, 2026
d7ce192
test: stabilize lifecycle-hub timeout flake with generous wall-clock …
ajonkisz Jun 20, 2026
144e764
Merge Hindsight override save fix
ajonkisz Jun 20, 2026
e761a82
Merge lifecycle timing flake fix
ajonkisz Jun 20, 2026
4895165
Update Hindsight memory quality and cost-lever documentation
ajonkisz Jun 20, 2026
5cfe2b0
Merge Hindsight memory docs
ajonkisz Jun 20, 2026
6589996
feat(hindsight): batch auto-retain into a durable pending buffer
ajonkisz Jun 20, 2026
14554b2
Merge Hindsight retain buffering
ajonkisz Jun 20, 2026
64793b0
Align Hindsight memory and features documentation after buffering imp…
ajonkisz Jun 20, 2026
1b39ace
Merge Hindsight buffer docs alignment
ajonkisz Jun 20, 2026
78839d9
fix(marketplace): hydrate global Hindsight Configure form from global…
ajonkisz Jun 20, 2026
45d1a33
Merge Hindsight config hydration fix
ajonkisz Jun 20, 2026
110dcf0
fix(hindsight): narrow optional tags + pin retry-queue bank routing
ajonkisz Jun 20, 2026
0e4943f
Merge Hindsight recall and retry routing fixes
ajonkisz Jun 20, 2026
47bd314
docs: update hindsight memory docs with review fixes
ajonkisz Jun 20, 2026
f75f361
Merge Hindsight review-fix docs
ajonkisz Jun 20, 2026
30686ca
Merge child goal branch goal/hindsight-memo-262d893a into goal/hindsi…
ajonkisz Jun 20, 2026
ec15bc0
fix(hindsight): token-safe recall clamp + soft-skip 'Query too long' 400
ajonkisz Jun 20, 2026
d655d86
Hindsight marketplace: embed dashboard open action + wizard copy fixes
ajonkisz Jun 20, 2026
565771d
feat(hindsight): embedded dashboard panel as the use surface
ajonkisz Jun 20, 2026
3b4470a
test(hindsight): migrate UI E2E to embedded-dashboard surfaces
ajonkisz Jun 20, 2026
c5a7133
Merge branch 'goal/43025d09/coder-49e7' into goal/hindsight-surf-4302…
ajonkisz Jun 20, 2026
16269c1
Merge branch 'goal/43025d09/test-engineer-d00b' into goal/hindsight-s…
ajonkisz Jun 20, 2026
7ed046f
Stabilize Hindsight embedded dashboard routing
ajonkisz Jun 20, 2026
7cfb50a
Document the completed Hindsight surfaces and UI implementation
ajonkisz Jun 20, 2026
3c3f013
Fix documentation accuracy regarding empty uiUrl states and Open Hind…
ajonkisz Jun 20, 2026
8f3fc3d
Clarify Hindsight dashboard documentation
ajonkisz Jun 20, 2026
dc04069
Merge child goal branch goal/hindsight-surf-43025d09 into goal/hindsi…
ajonkisz Jun 20, 2026
ff8342b
test(hindsight): harden embedded-dashboard E2E against mount-time rea…
ajonkisz Jun 20, 2026
cbef9bc
fix(hindsight): embedded dashboard iframe fills full panel height
ajonkisz Jun 20, 2026
0b6aab3
Add Hindsight memory v2 design
ajonkisz Jun 20, 2026
f3264fc
Merge Hindsight memory v2 design doc
ajonkisz Jun 20, 2026
ba3dd65
Merge Hindsight memory v2 design doc
ajonkisz Jun 20, 2026
6380ba1
Merge remote-tracking branch 'origin/goal/hindsight-memo-bd78ebff' in…
ajonkisz Jun 20, 2026
887296e
Implement Hindsight provider memory mechanics
ajonkisz Jun 20, 2026
fa23f65
Add Hindsight v2 routes and tools
ajonkisz Jun 20, 2026
f810bee
Add Hindsight v2 API foundations
ajonkisz Jun 20, 2026
0030156
Add goal completion lifecycle hook
ajonkisz Jun 21, 2026
748b1ca
Merge Hindsight API surface foundations
ajonkisz Jun 21, 2026
7193632
Merge Hindsight provider memory mechanics
ajonkisz Jun 21, 2026
b46647c
Merge Hindsight routes and tools
ajonkisz Jun 21, 2026
5358685
Merge goalCompleted lifecycle hook
ajonkisz Jun 21, 2026
09ed939
Fix Hindsight outcome route name
ajonkisz Jun 21, 2026
abbe2a0
Fix Hindsight reflect empty options
ajonkisz Jun 21, 2026
39dcc92
Fix Hindsight provider review findings
ajonkisz Jun 21, 2026
895c951
Fix Hindsight review gaps
ajonkisz Jun 21, 2026
08f4172
Document Hindsight memory v2 mechanics
ajonkisz Jun 21, 2026
06b741c
Fix Hindsight activation docs
ajonkisz Jun 21, 2026
767ab4f
Merge child goal branch goal/hindsight-memo-bd78ebff into goal/hindsi…
ajonkisz Jun 21, 2026
0a6b73a
Merge remote-tracking branch 'origin/master' into goal/hindsight-setu…
ajonkisz Jun 21, 2026
35ce995
Fix Hindsight memory hook timeouts
ajonkisz Jun 21, 2026
59599bb
Add prompt cache churn reproducing tests
ajonkisz Jun 21, 2026
b269eb4
Merge reproducing prompt-cache tests
ajonkisz Jun 21, 2026
491fdf1
Route dynamic context via custom message
ajonkisz Jun 21, 2026
dfa522f
Merge custom-message dynamic context implementation
ajonkisz Jun 21, 2026
c25ea07
Update beforePrompt E2E assertions
ajonkisz Jun 21, 2026
84c4dbc
Merge beforePrompt E2E content expectations
ajonkisz Jun 21, 2026
54be4a5
Document dynamic context delivery
ajonkisz Jun 21, 2026
96a7def
Merge dynamic-context documentation
ajonkisz Jun 21, 2026
e92130f
Merge remote-tracking branch 'origin/master' into goal/fix-prompt-cac…
ajonkisz Jun 21, 2026
850d1ce
Merge remote-tracking branch 'origin/goal/fix-prompt-cac-710c0df7' in…
ajonkisz Jun 21, 2026
83e279d
Update Hindsight E2E for dynamic-context content
ajonkisz Jun 21, 2026
6b4188c
Harden Hindsight config dirty state
ajonkisz Jun 21, 2026
3615548
Clarify Hindsight tool scope guidance
ajonkisz Jun 21, 2026
44eaceb
Merge Hindsight tool scope guidance
ajonkisz Jun 21, 2026
eba1ee3
Auto-tag Hindsight retain route context
ajonkisz Jun 21, 2026
a084cf3
Merge Hindsight retain auto-tags
ajonkisz Jun 21, 2026
9f1e01a
Merge remote-tracking branch 'origin/master' into goal/hindsight-setu…
ajonkisz Jun 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/design/built-in-first-party-packs.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@ shipped first-party packs directory, and resolve those packs *in place* as a
dedicated band in `buildPackList()`.** They are NOT copied into any scope's
`.bobbit/config/market-packs/`.

"Auto-installed" therefore means **present + active by default**: a built-in pack
is always resolvable; the only opt-out is **disable** via the #734 activation
overrides (default = enabled). Updates ride the app upgrade for free (the shipped
"Auto-installed" therefore means **present in the built-in band**: most built-in packs are
active by default, while a pack that declares `defaultDisabled: true` resolves with all of its
contributions disabled until explicitly enabled or already configured. Updates ride the app upgrade for free (the shipped
dir is replaced on install/upgrade).

### Rejected alternative — copy-install + opt-out ledger
Expand Down
61 changes: 36 additions & 25 deletions docs/design/hindsight-pack-external.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
Status: design / implementation blueprint. Scope is the **external-URL** Hindsight memory pack:
a REST client, an in-process stub harness, the lifecycle provider, pack routes + config surface,
bank/tag derivation, dormancy, and built-in-band registration (dormant). Managed Docker runtime,
Postgres, volumes, deployment-mode selection, the explicit agent tools, and the native panel are
**out of scope** (G2.3 / G3 / G4).
Postgres, volumes, deployment-mode selection, the explicit agent tools, and the native panel were
**out of scope** of this blueprint (G2.3 / G3 / G4) and shipped later: the managed runtime in P3,
the native panel in P4, and the agent tools `hindsight_recall/retain/reflect` in **P5** (see
[hindsight-memory.md → Agent tools](../hindsight-memory.md#agent-tools)).

> Authority notes. This folds the impl-plan's **G2.1 + G2.2** ([extension-platform-implementation-plan.md
> §G2](extension-platform-implementation-plan.md)) and applies two owner overrides recorded for
Expand Down Expand Up @@ -73,7 +75,7 @@ Pack layout (this goal):
```
market-packs/hindsight/
pack.yaml # schema 2; contents.providers: [memory]; routes
providers/memory.yaml # kind: memory; hooks: all five; config surface
providers/memory.yaml # kind: memory; lifecycle hooks; config surface
src/hindsight-client.ts # → lib/hindsight-client.mjs
src/provider.ts # → lib/provider.mjs
src/routes.ts # → lib/routes.mjs
Expand All @@ -89,7 +91,7 @@ schema: 2
name: hindsight
description: >-
Persistent agent memory backed by Hindsight (recall/retain/reflect over a shared,
tag-scoped bank). Dormant until a Hindsight URL is configured. See docs/design/agent-memory.md.
tag-scoped bank). Default-disabled until Marketplace setup enables/configures it. See docs/design/agent-memory.md.
version: 1.0.0
contents:
roles: []
Expand All @@ -114,9 +116,9 @@ routes:
id: memory
kind: memory
module: ../lib/provider.mjs
hooks: [sessionSetup, beforePrompt, afterTurn, beforeCompact, sessionShutdown]
budget: { maxTokens: 1200, timeoutMs: 1500 }
defaultEnabled: true # activation is additionally gated on externalUrl (see below)
hooks: [sessionSetup, beforePrompt, afterTurn, beforeCompact, sessionShutdown, goalCompleted]
budget: { maxTokens: 1200, timeoutMs: 4500 }
defaultEnabled: true # provider default once the pack itself is enabled/configured
config:
mode: { type: enum, values: [external, managed], default: external } # managed reserved for G3
externalUrl: { type: string, optional: true }
Expand All @@ -127,7 +129,7 @@ config:
autoRecall: { type: boolean, default: true }
autoRetain: { type: boolean, default: true }
recallBudget:{ type: number, default: 1200 }
timeoutMs: { type: number, default: 1500 }
timeoutMs: { type: number, default: 4000 }
activation:
requiresConfig: [externalUrl] # host omits the provider entirely until configured
```
Expand All @@ -136,9 +138,11 @@ Loaded via the **pack-contributions path** (`pack-contributions.ts`-style loader
`PackContributionRegistry`, keyed `(packId, contributionId)`), per impl-plan §0.2 — NOT a new
`EntityType`. The provider runs on the Extension Host worker tier exactly like the `provider-demo`
fixture. Per-entity activation still respects `DisabledRefs.providers` / `pack_activation`, but
Hindsight also declares `activation.requiresConfig: [externalUrl]`. The registry/loader omits this
provider until the effective config has a non-empty `externalUrl`; this is what prevents bridge
injection and per-turn hook calls on a fresh install.
Hindsight also declares pack-level `defaultDisabled: true` and provider-level activation gates. On
fresh installs the pack-level overlay disables all contributions; after setup enables/configures the
pack, `activation.requiresConfig: [externalUrl]` (or managed-mode `activeWhenConfig` in the current
pack) keeps the provider omitted until the effective config/runtime is usable. This is what prevents
bridge injection and per-turn hook calls before opt-in.

---

Expand Down Expand Up @@ -172,7 +176,7 @@ export function createClient(cfg: {
baseUrl: string;
apiKey?: string;
namespace?: string; // default "default"
timeoutMs?: number; // default 1500
timeoutMs?: number; // default 4000
}): HindsightClient;
```

Expand All @@ -186,7 +190,7 @@ export class HindsightError extends Error {
```

- Every method wraps its `fetch` in an `AbortController` armed with `cfg.timeoutMs` (default
**1500 ms**). Abort ⇒ `HindsightError{ kind:"timeout" }`, thrown **within budget** (the test
**4000 ms**). Abort ⇒ `HindsightError{ kind:"timeout" }`, thrown **within budget** (the test
asserts elapsed ≤ a small margin over `timeoutMs`).
- Non-2xx ⇒ `HindsightError{ kind:"http", status }`.
- DNS/connection refused/socket error ⇒ `HindsightError{ kind:"network" }`.
Expand Down Expand Up @@ -289,13 +293,14 @@ queue, last error, optional bank-ensured marker) lives in `ctx.host.store`, neve

### 5.1 Dormancy gate (the central invariant)

Before any hook does work it evaluates **`isActive(ctx)`**: `config.mode === "external"` AND
`config.externalUrl` is a non-empty string. If not active, **every hook returns immediately**:
`sessionSetup`/`beforePrompt` ⇒ `{ blocks: [] }`; `afterTurn`/`beforeCompact`/`sessionShutdown`
⇒ no-op. This is a defensive backstop. The primary dormant guarantee is earlier in the host:
`activation.requiresConfig: [externalUrl]` means an unconfigured pack contributes no active
provider, so the provider bridge is not injected and no per-turn hook route is called. No client is
constructed, no Hindsight network is touched, and spawn args/prompt text stay at the no-pack
Before any hook does work it evaluates **`isActive(ctx)`**: external mode requires a non-empty
`externalUrl`, while managed modes require a host-injected running runtime. If not active, **every
hook returns immediately**: `sessionSetup`/`beforePrompt` ⇒ `{ blocks: [] }`;
`afterTurn`/`beforeCompact`/`sessionShutdown`/`goalCompleted` ⇒ no-op. This is a defensive
backstop. The primary dormant guarantee is earlier in the host: `defaultDisabled: true` disables all
pack contributions on a fresh unconfigured install, and provider activation gates keep the provider
omitted until setup/config makes it usable. No client is constructed, no Hindsight network is
touched, and spawn args/prompt text stay at the no-pack
baseline until configured (§9.5).

Health is treated as a runtime condition layered on top of activation: when active but the client
Expand Down Expand Up @@ -415,13 +420,14 @@ The provider must receive a **flat** config object that is **store-over-yaml-def

1. The loader first resolves each `providers/memory.yaml` config schema entry to its `.default`
value (or `undefined` for optional fields), producing values such as `mode: "external"`,
`bank: "bobbit"`, `namespace: "default"`, `autoRecall: true`, and `timeoutMs: 1500` — not raw
`bank: "bobbit"`, `namespace: "default"`, `autoRecall: true`, and `timeoutMs: 4000` — not raw
`{ type, default }` schema objects.
2. The `config` route persists validated overrides to the pack store.
3. The loader overlays persisted store config over the flat defaults before constructing
`ctx.config`.
4. The provider activation filter evaluates `activation.requiresConfig` against this same
effective flat config; absent `externalUrl` means the provider is omitted before bridge injection.
4. The default-disabled pack overlay disables all contributions on fresh unconfigured installs;
after setup enables/configures the pack, provider activation filters evaluate the effective flat
config/runtime before bridge injection.

If G1.1 currently exposes only static yaml, both the default-resolution step and the store-config
overlay are added **in the loader path, not the provider** (so every provider benefits and
Expand Down Expand Up @@ -495,6 +501,11 @@ A separate defensive unit test calls the provider hooks directly with no `extern

## 11. Non-goals (tracked elsewhere)

- Explicit agent tools `hindsight_recall/retain/reflect` + native panel + entrypoints — **G2.3**.
- Managed Docker runtime + Postgres + `~/.hindsight` + deployment-mode selection — **G3**.
- Explicit agent tools `hindsight_recall/retain/reflect` — **G2.3** (shipped in **P5**; see
[hindsight-memory.md → Agent tools](../hindsight-memory.md#agent-tools)). The **native panel +
entrypoints** half of G2.3 shipped in **P4** — see
[hindsight-memory.md → Native config & status panel](../hindsight-memory.md#native-config--status-panel)
and [hindsight-panel-p4-implementation.md](hindsight-panel-p4-implementation.md).
- Managed Docker runtime + Postgres + `~/.hindsight` + deployment-mode selection — **G3** (shipped
in **P3**; see [managed-runtimes.md](../managed-runtimes.md#p3--deployment-modes-consent--lifecycle)).
- Mental-models / reflect UI / cross-engine dedupe / cost surfacing — **G4**.
Loading