Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2857 commits
Select commit Hold shift + click to select a range
da122dd
Merge pull request #1135 from Boise-State-Development/claude/katex-ma…
philmerrell Sep 16, 2026
ef9dad9
Merge pull request #1136 from Boise-State-Development/docs/kaizen-com…
philmerrell Sep 16, 2026
aa8a999
feat(documents): DocumentDigest built at upload and persisted on File…
philmerrell Sep 16, 2026
54e18b9
feat(documents): restore rehydrates stripped documents as digests (of…
philmerrell Sep 16, 2026
dfdd67b
feat(documents): offload unpinned documents to their digests when the…
philmerrell Sep 16, 2026
f9983d1
feat(compaction): record the truncation anchor's cache gap on the led…
philmerrell Sep 16, 2026
d8afd0f
feat(feedback): content-free thumbs on assistant messages joined to c…
philmerrell Sep 16, 2026
8d5739c
test(admin): profile dataCoverage now carries feedback
philmerrell Sep 16, 2026
5c21406
feat(attachments): hold a turn's inline attachments to the Memory eve…
philmerrell Sep 16, 2026
be1c186
feat(spa): share artifacts from the library and the owner view page
philmerrell Sep 16, 2026
5992539
feat(feedback): align with response-feedback spec — flag name, six re…
philmerrell Sep 16, 2026
c7dda9b
feat(feedback): retry-with-correction — the consequence behind a thum…
philmerrell Sep 17, 2026
38faabc
fix(admin-costs): expect formatGap's minute-only form in the offload …
philmerrell Sep 17, 2026
cdc70c7
Merge pull request #1137 from Boise-State-Development/feature/documen…
philmerrell Sep 17, 2026
ef34aca
Merge pull request #1138 from Boise-State-Development/feature/documen…
philmerrell Sep 17, 2026
73ca66e
Merge pull request #1139 from Boise-State-Development/feature/documen…
philmerrell Sep 17, 2026
2b9d381
Merge pull request #1140 from Boise-State-Development/feature/documen…
philmerrell Sep 17, 2026
8409a2e
Merge pull request #1141 from Boise-State-Development/feature/documen…
philmerrell Sep 17, 2026
b577d29
Merge pull request #1143 from Boise-State-Development/feature/documen…
philmerrell Sep 17, 2026
d3c21f5
Merge develop into feature/message-feedback-pr7
philmerrell Sep 17, 2026
9f51443
fix(admin-costs): keep DataCoverage.documents on DataCoverage
philmerrell Sep 17, 2026
69eeabb
Merge pull request #1142 from Boise-State-Development/feature/message…
philmerrell Sep 17, 2026
8c7056f
Merge remote-tracking branch 'origin/develop' into sync1145
philmerrell Sep 17, 2026
8911d85
Merge pull request #1145 from Boise-State-Development/feature/feedbac…
philmerrell Sep 17, 2026
0e39fbe
feat(feedback): implicit signals — copy and continue (response-feedba…
philmerrell Sep 17, 2026
82e0587
fix(documents): count PDF pages, not bytes, in documentTokens
philmerrell Sep 17, 2026
10e511e
fix(documents): couple DOCUMENT_READ_ENABLED to the paths that promis…
philmerrell Sep 17, 2026
98e1291
feat(feedback): eval sampling — down-thumbs feed AgentCore Evaluation…
philmerrell Sep 17, 2026
c72e46e
Agent Templates: create-form prefill + admin-managed backend (#1149)
DerrickF Sep 17, 2026
85226ab
Merge pull request #1144 from Boise-State-Development/feature/artifac…
philmerrell Sep 18, 2026
c92f0c8
docs(kaizen): queue the document-offload prod readout, and mark the e…
philmerrell Sep 18, 2026
7cea180
docs(kaizen): correct the rollout-percent entry — the bucket gates PR…
philmerrell Sep 18, 2026
d941a4f
chore(kaizen): weekly research scan 2026-09-18
philmerrell Sep 18, 2026
80aff47
chore(kaizen): weekly review prep 2026-09-18
philmerrell Sep 18, 2026
71b0fdf
fix(documents): bound document_read pattern mode against ReDoS
philmerrell Sep 18, 2026
1b855ad
docs(kaizen): mark the document_read ReDoS fixed, and record what is …
philmerrell Sep 18, 2026
e196a00
fix(documents): close the last three findings from the offload valida…
philmerrell Sep 18, 2026
bcd6022
docs(kaizen): mark the last three offload findings fixed
philmerrell Sep 18, 2026
c7d4456
Merge pull request #1146 from Boise-State-Development/feature/feedbac…
philmerrell Sep 18, 2026
d4b718e
Merge pull request #1147 from Boise-State-Development/claude/document…
philmerrell Sep 18, 2026
02f3b79
Merge remote-tracking branch 'origin/develop' into kaizen/research-20…
philmerrell Sep 18, 2026
564f02c
feat(feedback): fleet-level attribution — down-thumb rate by config a…
philmerrell Sep 18, 2026
82568a4
Merge pull request #1150 from Boise-State-Development/kaizen/research…
philmerrell Sep 18, 2026
fc5ee7f
Merge remote-tracking branch 'origin/develop' into kaizen/review-2026…
philmerrell Sep 18, 2026
cf162a1
Merge pull request #1151 from Boise-State-Development/kaizen/review-2…
philmerrell Sep 18, 2026
9ae962e
Merge remote-tracking branch 'origin/develop' into feature/feedback-e…
philmerrell Sep 18, 2026
ea0c8a8
Merge pull request #1148 from Boise-State-Development/feature/feedbac…
philmerrell Sep 18, 2026
a4c7fee
Merge remote-tracking branch 'origin/develop' into feature/feedback-f…
philmerrell Sep 18, 2026
ca3e8d2
Merge pull request #1152 from Boise-State-Development/feature/feedbac…
philmerrell Sep 18, 2026
cbd12d0
feat(admin-costs): down-thumb reason split on the per-session profile
philmerrell Sep 18, 2026
d9ad3ee
docs(kaizen): diagnose the live-AWS test calls — 25 cases, hidden by …
philmerrell Sep 18, 2026
76bedf0
test: block off-box sockets, and fix the tests that were calling real…
philmerrell Sep 18, 2026
3d0c5cd
docs(kaizen): guard landed; record the burn-down list and the two traps
philmerrell Sep 18, 2026
195f70e
docs(specs): assess the AuraX load-test A/B and plan the fixes
philmerrell Sep 18, 2026
32a990a
fix(infra): fail synth when the uploads bucket would have no CORS rule
philmerrell Sep 18, 2026
8ec2f3a
perf(inference-api): precompile bytecode and warm the first turn at s…
philmerrell Sep 18, 2026
949b0bc
perf(agents): bound CountTokens on the reply path, stop swapping the …
philmerrell Sep 18, 2026
b290b2d
perf(agents): memoise the attribution split per session; cache four m…
philmerrell Sep 18, 2026
6dad15e
test(admin-costs): pin the cache-bypass diagnosis to fixed sets, not …
philmerrell Sep 18, 2026
f17ac9f
Merge pull request #1154 from Boise-State-Development/claude/load-tes…
philmerrell Sep 18, 2026
b342b8c
perf(agents): cache spreadsheet-analysis sessions by carrying assista…
philmerrell Sep 18, 2026
9c5124b
Merge pull request #1155 from Boise-State-Development/feature/spreads…
philmerrell Sep 18, 2026
f15b237
test: burn down the off-box quarantine — no test reaches AWS, and the…
philmerrell Sep 18, 2026
99fa698
docs(kaizen): close the live-AWS entry — quarantine burned down, suit…
philmerrell Sep 18, 2026
7205027
test: warm tiktoken before the guard arms, and write the rule into CL…
philmerrell Sep 18, 2026
22e0dae
docs(spec): plan the agent state feedback refinement
philmerrell Sep 18, 2026
22b60f4
feat(chat): report how long the model spent thinking
philmerrell Sep 18, 2026
bf8002e
Merge pull request #1153 from Boise-State-Development/feature/fleet-f…
philmerrell Sep 18, 2026
a3e8f02
feat(attachments): auto-enable Spreadsheet Analysis for a session tha…
philmerrell Sep 18, 2026
18df1d8
fix(agents): count the system prompt against a probe message, not an …
philmerrell Sep 18, 2026
1ee9f7f
perf(memory): retrieve long-term memory through a bounded client, and…
philmerrell Sep 18, 2026
da9abca
Merge pull request #1159 from Boise-State-Development/feature/reasoni…
philmerrell Sep 19, 2026
a6a616f
feat(agents): drain agent_status while the agent stream is silent
philmerrell Sep 18, 2026
f945088
docs(spec): mark PR-1 shipped and record the loader-mount finding
philmerrell Sep 19, 2026
7d58b20
Merge pull request #1156 from Boise-State-Development/feature/attribu…
philmerrell Sep 19, 2026
bef554b
Merge pull request #1157 from Boise-State-Development/feature/memory-…
philmerrell Sep 19, 2026
7dd2375
Merge pull request #1158 from Boise-State-Development/feature/attachm…
philmerrell Sep 19, 2026
0dc343d
Merge pull request #1160 from Boise-State-Development/feature/agent-s…
philmerrell Sep 19, 2026
16ca9c5
docs: respond to the AuraX load-test report, finding by finding
philmerrell Sep 19, 2026
cb0ebd7
docs: scope the deployment claim to what is verified in dev
philmerrell Sep 19, 2026
03858a4
fix(files): start the pattern-scan budget after the document is opened
philmerrell Sep 19, 2026
9310640
fix(chat): remove the parallel-batch count as dead code
philmerrell Sep 19, 2026
f23953e
feat(browser): hand the browser to the user so they can sign in
philmerrell Sep 19, 2026
c09aed4
Merge pull request #1161 from Boise-State-Development/docs/load-test-…
philmerrell Sep 19, 2026
d192aa1
feat(inference-api): measure where the pre-stream time goes
philmerrell Sep 19, 2026
8dda0d1
Merge pull request #1162 from Boise-State-Development/feature/pattern…
philmerrell Sep 19, 2026
dccf1c8
Merge pull request #1163 from Boise-State-Development/feature/agent-s…
philmerrell Sep 19, 2026
ac692db
docs(spec): rescope PR-3 from the dev measurement
philmerrell Sep 19, 2026
6f97116
feat(inference-api): narrate the cold agent build
philmerrell Sep 19, 2026
67ca5e2
feat(browser): mint a live view for a browser takeover
philmerrell Sep 19, 2026
dd775fa
Merge pull request #1165 from Boise-State-Development/feature/agent-s…
philmerrell Sep 19, 2026
75a46cb
fix(chat): move the preparing-phase delay to the client
philmerrell Sep 19, 2026
39fe649
Merge pull request #1167 from Boise-State-Development/feature/prepari…
philmerrell Sep 19, 2026
8969f3b
fix(spa): wait for the tool/skill lists before assembling a chat turn
philmerrell Sep 18, 2026
19552a1
Merge pull request #1168 from Boise-State-Development/feature/spa-fir…
philmerrell Sep 19, 2026
5a311be
perf(backend): precompile bytecode in the app-api and Lambda images
philmerrell Sep 19, 2026
624d8ef
perf(app-api): stop shipping /app twice by moving ownership into the …
philmerrell Sep 19, 2026
76948e4
fix(chat): stop the preparing label stepping backwards on exit
philmerrell Sep 19, 2026
1a1664b
docs(spec): block institutional sites per session, not a second browser
philmerrell Sep 19, 2026
2e47b23
Merge pull request #1164 from Boise-State-Development/feature/browser…
philmerrell Sep 19, 2026
2799c8f
fix(infra): gate the uploads CORS guard on the filtered origin list
philmerrell Sep 19, 2026
f9eb626
feat(browser): block institutional sites with a MANAGED Chromium policy
philmerrell Sep 19, 2026
394e2b9
Merge remote-tracking branch 'origin/develop' into feature/browser-li…
philmerrell Sep 19, 2026
ea1f3f5
Merge branch 'feature/browser-live-view-route' into feature/browser-e…
philmerrell Sep 19, 2026
6f6363e
Merge pull request #1172 from Boise-State-Development/feature/cors-gu…
philmerrell Sep 19, 2026
3e200f2
Merge pull request #1169 from Boise-State-Development/feature/precomp…
philmerrell Sep 19, 2026
1a537ce
feat(chat): show how long a finished turn took
philmerrell Sep 19, 2026
c554b25
Merge pull request #1166 from Boise-State-Development/feature/browser…
philmerrell Sep 19, 2026
726b9ab
Merge remote-tracking branch 'origin/develop' into feature/browser-en…
philmerrell Sep 19, 2026
7c5f7c1
Merge pull request #1170 from Boise-State-Development/fix/preparing-p…
philmerrell Sep 19, 2026
d7284a4
Merge pull request #1173 from Boise-State-Development/feature/turn-recap
philmerrell Sep 19, 2026
39c268b
Merge pull request #1174 from Boise-State-Development/feature/browser…
philmerrell Sep 19, 2026
f68ac9e
fix(chat): measure the turn recap from the turn, not the stream
philmerrell Sep 19, 2026
0ad1e75
Merge pull request #1176 from Boise-State-Development/fix/turn-durati…
philmerrell Sep 19, 2026
573e766
refactor(backend): delete the dead local-output mechanism
philmerrell Sep 19, 2026
ecc7e7a
perf(images): ship app-api and inference-api code root-owned
philmerrell Sep 19, 2026
2ac548f
chore(infra): retire the dead directory env vars and refresh the cap …
philmerrell Sep 19, 2026
5aa0ab2
feat(browser): add the sign-in viewer, with no third-party code
philmerrell Sep 19, 2026
55d172d
Merge pull request #1175 from Boise-State-Development/feature/read-on…
philmerrell Sep 19, 2026
c1b0a4e
Merge pull request #1177 from Boise-State-Development/feature/browser…
philmerrell Sep 19, 2026
e9bc17d
fix(browser): stop sending MANAGED at session level, which broke ever…
philmerrell Sep 19, 2026
9cefdd8
Merge pull request #1179 from Boise-State-Development/fix/browser-ses…
philmerrell Sep 19, 2026
9142608
fix(chat): end the preparing phase explicitly
philmerrell Sep 19, 2026
a2e59fd
fix(browser): stop double-prefixing the browser policy object key
philmerrell Sep 19, 2026
3d3d559
Merge pull request #1181 from Boise-State-Development/fix/browser-pol…
philmerrell Sep 19, 2026
bbe2027
Merge pull request #1180 from Boise-State-Development/fix/preparing-p…
philmerrell Sep 19, 2026
9ed753d
docs(spec): correct the turn-recap shortfall, and record the validation
philmerrell Sep 19, 2026
df4ba34
Merge pull request #1178 from Boise-State-Development/docs/turn-recap…
philmerrell Sep 19, 2026
c3d6eb3
docs(spec): close the agent state feedback epic
philmerrell Sep 19, 2026
4ed9fc3
fix(browser): grant the CALLER read on the policy object, not just th…
philmerrell Sep 19, 2026
616e9fc
feat(session): reveal copy and thumbs on response hover
philmerrell Sep 19, 2026
c6e327e
Merge pull request #1185 from Boise-State-Development/feature/respons…
philmerrell Sep 19, 2026
f89bd70
fix(browser): connect the live view once, not once per postMessage (#…
philmerrell Sep 19, 2026
9e6cf82
feat(ui): give the agent-state orb a halo, and settle it on finished …
philmerrell Sep 19, 2026
d2e3eb0
Merge pull request #1188 from Boise-State-Development/claude/tool-sta…
philmerrell Sep 19, 2026
d9fab05
fix(ci): trigger the Platform Stack deploy on the assets it deploys (…
philmerrell Sep 19, 2026
2fda1dd
fix(browser): stop sending every SigV4 parameter twice to the live vi…
philmerrell Sep 19, 2026
d6910cb
perf(inference-api): open the preamble stage, and make a fix to it pr…
philmerrell Sep 19, 2026
734a8a7
fix(browser): sign the live-view stream socket, not just the auth soc…
philmerrell Sep 19, 2026
7bd2745
perf(inference-api): read the session row once, not eight times (#1191)
philmerrell Sep 19, 2026
d4712ef
fix(sandbox): allow data:/blob: in connect-src so DCV can load its de…
philmerrell Sep 19, 2026
aff4c26
perf(quota): take the session cost from the row the preamble already …
philmerrell Sep 19, 2026
09fa893
fix(browser): grant ConnectBrowserLiveViewStream on *, as AWS require…
philmerrell Sep 19, 2026
1fe4d79
fix(ui): show the turn recap only on the latest turn, in the loader's…
philmerrell Sep 19, 2026
0281c04
Merge pull request #1195 from Boise-State-Development/fix/turn-recap-…
philmerrell Sep 19, 2026
d97c229
fix(frontend): send Cache-Control on deploy so a new build is actuall…
philmerrell Sep 19, 2026
7232975
Merge pull request #1197 from Boise-State-Development/fix/spa-index-c…
philmerrell Sep 19, 2026
8d784c4
fix(browser): size the display on firstFrame, not when connect resolv…
philmerrell Sep 19, 2026
ed3f85e
perf(aws): cache the boto3 clients the session path rebuilds per call…
philmerrell Sep 19, 2026
966b381
fix(browser): mint one live-view URL per open, not two (#1199)
philmerrell Sep 19, 2026
6cf58d2
fix(browser): don't paint an error over a live stream (#1200)
philmerrell Sep 19, 2026
7b3c877
perf(observability): decompose the agent build, and correct what PR-3…
philmerrell Sep 19, 2026
6088af1
fix(browser): broaden the Canvas blocklist entry to instructure.com (…
philmerrell Sep 20, 2026
81b920f
feat(browser): full-screen the sign-in viewer, and say it can be driv…
philmerrell Sep 20, 2026
0c8f3c1
docs(spec): record what the agent-build decomposition found
philmerrell Sep 20, 2026
facd329
Merge pull request #1182 from Boise-State-Development/docs/agent-stat…
philmerrell Sep 20, 2026
c172c6e
Merge pull request #1204 from Boise-State-Development/docs/turn-laten…
philmerrell Sep 20, 2026
8f189aa
fix(infrastructure): make the browser URL blocklist configurable per …
philmerrell Sep 20, 2026
93bc597
fix(seed): add the spreadsheet analysis tools to the bootstrap catalog
philmerrell Sep 20, 2026
56afff4
Merge pull request #1205 from Boise-State-Development/feature/fork-ne…
philmerrell Sep 20, 2026
8c165c9
Merge remote-tracking branch 'origin/main' into backmerge/main-into-d…
philmerrell Sep 20, 2026
ef35920
Merge pull request #1207 from Boise-State-Development/backmerge/main-…
philmerrell Sep 20, 2026
37a7d8e
fix(browser): reconnect the CDP socket after a sign-in handback
philmerrell Sep 21, 2026
5b6aa69
Merge pull request #1208 from Boise-State-Development/feature/browser…
philmerrell Sep 21, 2026
5e49ef1
feat(usage): surface total quota alongside usage and spend (#1210)
DerrickF Sep 21, 2026
cea042b
feat(cognito): close self-signup by default via config
philmerrell Sep 21, 2026
de141f3
refactor(app-api): drop the runtime self-signup disable from first-boot
philmerrell Sep 21, 2026
86e7700
docs: correct the Bedrock Price List API guidance
philmerrell Sep 21, 2026
a27c0c1
feat(models): curate Kimi K3 on bedrock-responses with per-model expl…
philmerrell Sep 21, 2026
3ea2df7
Merge pull request #1211 from Boise-State-Development/feature/remove-…
philmerrell Sep 21, 2026
f92c651
fix(tests): replace deprecated get_event_loop with pytest-asyncio marker
philmerrell Sep 21, 2026
ddc4044
test: pin Kimi K3's measured param spec to the inference-param guard
philmerrell Sep 21, 2026
cd19dfa
fix(agents): guard external-MCP loop probe against the 3.12 raise
philmerrell Sep 21, 2026
6b995b9
docs(cache): record that a second breakpoint loses on Kimi K3
philmerrell Sep 21, 2026
ed81df6
fix(files): build Content-Disposition headers that survive non-ASCII …
philmerrell Sep 21, 2026
3220955
Merge pull request #1212 from Boise-State-Development/feature/kimi-k3…
philmerrell Sep 21, 2026
7d303b8
docs: spec admin-managed always-on tools
philmerrell Sep 21, 2026
f65783e
Merge pull request #1213 from Boise-State-Development/fix/asyncio-eve…
philmerrell Sep 21, 2026
171d7e5
fix(attribution): only compute the context split where the token coun…
philmerrell Sep 21, 2026
47c89c8
Merge pull request #1214 from Boise-State-Development/feature/content…
philmerrell Sep 21, 2026
5a92664
Merge pull request #1216 from Boise-State-Development/feature/context…
philmerrell Sep 21, 2026
103b35b
Merge pull request #1215 from Boise-State-Development/feature/admin-a…
philmerrell Sep 21, 2026
7639adb
docs: state backward compatibility as a requirement for always-on tools
philmerrell Sep 21, 2026
3c113dc
fix(documents): classify the turn's uploads before injecting document…
philmerrell Sep 21, 2026
1525646
Merge pull request #1218 from Boise-State-Development/feature/documen…
philmerrell Sep 21, 2026
1b262cf
Merge pull request #1217 from Boise-State-Development/feature/always-…
philmerrell Sep 21, 2026
65b01f1
test(csp): pin the /api/* sandbox omission and artifact CSP parity
philmerrell Sep 21, 2026
2601a87
Merge pull request #1219 from Boise-State-Development/feature/api-csp…
philmerrell Sep 21, 2026
8388fd8
feat(tools): add the always-on catalog flag (admin surface only)
philmerrell Sep 21, 2026
9bc2e8a
chore(kaizen): retire the POC-comment loop, log four standing declines
philmerrell Sep 21, 2026
34b38d7
docs(kaizen): the cheap quality veto has no substrate — measured
philmerrell Sep 21, 2026
c2fd663
docs(specs): waive the two quality vetoes in writing
philmerrell Sep 21, 2026
4555e5d
fix(costs): drop a prefixTokens split larger than the prompt it sits …
philmerrell Sep 21, 2026
a2df7dc
docs(kaizen): queue a fleet-scale anatomy sweep; recommend DECLINE on…
philmerrell Sep 21, 2026
d87f5cf
Merge pull request #1220 from Boise-State-Development/feature/always-…
philmerrell Sep 21, 2026
93cecb1
feat(tools): enforce admin always-on tools on the invocation path
philmerrell Sep 21, 2026
c5cb902
fix(ci): recover deploy runs evicted from the shared concurrency group
philmerrell Sep 21, 2026
daae3d0
Merge pull request #1223 from Boise-State-Development/feature/always-…
philmerrell Sep 21, 2026
4ec03c5
docs(kaizen): scope the quality-veto harness
philmerrell Sep 21, 2026
066af0d
feat(tools): lock admin-pinned tools in the user's tool picker
philmerrell Sep 21, 2026
24485b9
fix(quota): stop assignment edit 400 on tier change (#718) (#1225)
DerrickF Sep 21, 2026
dbda49b
docs(kaizen): standing watch on Strands' first-party ContextManager
philmerrell Sep 21, 2026
d3b3609
fix(models): reconcile the context window against Strands' table (#267)
philmerrell Sep 21, 2026
1498b9e
Merge pull request #1222 from Boise-State-Development/feature/prefix-…
philmerrell Sep 21, 2026
71b930a
Merge pull request #1226 from Boise-State-Development/feature/always-…
philmerrell Sep 21, 2026
9c04c3d
Merge pull request #1224 from Boise-State-Development/feature/deploy-…
philmerrell Sep 21, 2026
a158e1f
Merge origin/develop into claude/kaizen-review-candidates-c82043
philmerrell Sep 21, 2026
b0112a2
Merge pull request #1221 from Boise-State-Development/claude/kaizen-r…
philmerrell Sep 21, 2026
f4ec26f
fix(admin): don't gate a single-tool server behind the always-on ack
philmerrell Sep 21, 2026
50af3ee
feat(composer): remember unsent composer state per conversation
philmerrell Sep 21, 2026
9ea6cfa
Merge pull request #1227 from Boise-State-Development/feature/always-…
philmerrell Sep 21, 2026
bfaaa00
docs: record the live D4 validation, both sides
philmerrell Sep 21, 2026
13c3b34
Merge pull request #1229 from Boise-State-Development/feature/always-…
philmerrell Sep 21, 2026
eaa76a9
docs: runbook for retiring an MCP server that Agents already bind
philmerrell Sep 21, 2026
b495727
fix(tools): re-validate tool updates and share the union helper
philmerrell Sep 21, 2026
9fc427c
feat(tools): gate new adoption of a retiring tool in every picker
philmerrell Sep 21, 2026
e6e9c50
refactor(admin): give the console the sidenav body and the full conte…
philmerrell Sep 22, 2026
71d18d0
docs: record the app shell chrome contract
philmerrell Sep 22, 2026
3ec60ed
feat(agents): replace the Agent Composer tool chips with a searchable…
philmerrell Sep 22, 2026
15bcd7d
Merge pull request #1228 from Boise-State-Development/claude/composer…
philmerrell Sep 22, 2026
8f5180d
Merge pull request #1230 from Boise-State-Development/feature/mcp-ser…
philmerrell Sep 22, 2026
3b51308
Merge pull request #1231 from Boise-State-Development/feature/always-…
philmerrell Sep 22, 2026
e140f17
Merge pull request #1232 from Boise-State-Development/claude/admin-vi…
philmerrell Sep 22, 2026
44b7faf
Merge remote-tracking branch 'origin/develop' into pr1233
philmerrell Sep 22, 2026
b9dd377
test(agents): pin the retiring-tool affordances that now live only in…
philmerrell Sep 22, 2026
72e0f0a
Merge pull request #1233 from Boise-State-Development/claude/agent-co…
philmerrell Sep 22, 2026
dec64ea
feat(admin): split cost analytics into tabs and give the charts full …
philmerrell Sep 22, 2026
4e1b3b6
feat(spa): count the session cost badge up to each turn's new total
philmerrell Sep 22, 2026
6b84d38
Merge pull request #1234 from Boise-State-Development/claude/cost-bad…
philmerrell Sep 22, 2026
e06c881
feat(admin): bring the AWS infrastructure bill into cost analytics
philmerrell Sep 22, 2026
34e1781
feat(admin): scope platform cost to this deployment, not the whole ac…
philmerrell Sep 22, 2026
b31690c
fix(admin): lead the unscoped-cost panel with the fix, not the symptom
philmerrell Sep 22, 2026
934f095
docs: record the live dev verification of the §7 picker guards
philmerrell Sep 22, 2026
2e93f1f
feat(tools): tell users what replaces a retiring tool, and when it stops
philmerrell Sep 22, 2026
021a4ad
feat(spa): prefer model-family logos, falling back to company marks
philmerrell Sep 22, 2026
6d6528e
Merge pull request #1235 from Boise-State-Development/claude/cost-ana…
philmerrell Sep 22, 2026
6989f63
Merge pull request #1238 from Boise-State-Development/claude/kimi-log…
philmerrell Sep 22, 2026
aa757f2
Merge pull request #1237 from Boise-State-Development/feature/tool-re…
philmerrell Sep 22, 2026
f202dee
fix(agents): register the tool-result offload hook
philmerrell Sep 22, 2026
33ccb37
feat(agents): configurable source citations & document download (#111…
DerrickF Sep 22, 2026
dbaee2c
fix(rag): de-duplicate managed-KB retrieval chunks (#1236) (#1241)
DerrickF Sep 22, 2026
152e28b
Merge pull request #1239 from Boise-State-Development/feature/offload…
philmerrell Sep 22, 2026
d61b5a8
docs(specs): shared projects implementation plan
philmerrell Sep 22, 2026
0cac069
fix(spa): share one row for quota tab and cost badge; keep dismissals…
philmerrell Sep 22, 2026
504a4f2
Merge pull request #1243 from Boise-State-Development/claude/cost-quo…
philmerrell Sep 22, 2026
846ef28
Merge pull request #1242 from Boise-State-Development/claude/projects…
philmerrell Sep 22, 2026
643a9bd
Release/1.24.0
philmerrell Sep 23, 2026
07f041e
fix(ci): forward CDK_PLATFORM_COSTS_ENABLED to the platform deploy
philmerrell Sep 23, 2026
aceda19
docs(release): platform cost sync can be enabled via CDK_PLATFORM_COS…
philmerrell Sep 23, 2026
52eb54f
docs(release): name the platform cost variable in the changelog entry
philmerrell Sep 23, 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
7 changes: 3 additions & 4 deletions .claude/skills/kaizen-research/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: kaizen-research
description: Weekly Friday early-morning external + internal scan for emerging functionality, agentic trends, tools, and feature/UX improvements in the AgentCore Public Stack repo. Tracks AWS Bedrock + AgentCore announcements, Strands Agents releases, FastMCP (used by externally hosted MCP servers), the aws-samples/sample-strands-agent-with-agentcore reference repo, the MCP ecosystem (including MCP Apps + extensions), frontier model announcements, agent-harness patterns (including opencode (anomalyco/opencode) as an open-source coding-agent harness reference scanned through tooling, cost-effectiveness, and context-engineering lenses — releases-first, light touch), agentic UI/UX patterns (MCP Apps, Vercel AI SDK, assistant-ui, NN/g AI research, Linear/Cursor/Anthropic product blogs), and LibreChat as a parallel open-source agentic-platform reference (releases-first, light touch). Audits internal signals (recent commits, open PRs, CI failures, version-pin lag, dormant skills). Outputs a dated research doc + queues ideas in `docs/kaizen/review-queue.md` for that same morning's `kaizen-review-prep` (runs ~2 hours later) to rank into decisions. Opens a PR into `develop`. **Out of scope**: security advisories / Dependabot / CodeQL — those have dedicated tooling and don't need a weekly kaizen lens. Triggers: "kaizen research", "weekly research scan", "external scan", "what should we look at this week".
description: Weekly Friday early-morning external + internal scan for emerging functionality, agentic trends, tools, and feature/UX improvements in the AgentCore Public Stack repo. Tracks AWS Bedrock + AgentCore announcements, Strands Agents releases, FastMCP (used by externally hosted MCP servers), the aws-samples/sample-strands-agent-with-agentcore reference repo, the MCP ecosystem (including MCP Apps + extensions), frontier model announcements, agent-harness patterns (including opencode (anomalyco/opencode) as an open-source coding-agent harness reference scanned through tooling, cost-effectiveness, and context-engineering lenses — releases-first, light touch), agentic UI/UX patterns (MCP Apps, Vercel AI SDK, assistant-ui, NN/g AI research, Linear/Cursor/Anthropic product blogs), and LibreChat as a parallel open-source agentic-platform reference (releases-first, light touch). Audits internal signals (recent commits, open PRs, CI failures, version-pin lag, dormant skills). Outputs a dated research doc + queues ideas in `docs/kaizen/review-queue.md` for that same morning's `kaizen-review-prep` (runs ~4 hours later) to rank into decisions. Opens a PR into `develop`. **Out of scope**: security advisories / Dependabot / CodeQL — those have dedicated tooling and don't need a weekly kaizen lens. Triggers: "kaizen research", "weekly research scan", "external scan", "what should we look at this week".
---

# Kaizen Research
Expand All @@ -18,7 +18,7 @@ Friday early morning. The "what's the rest of the world learning that we should

## When to run

Friday early morning (~6am MT). `kaizen-review-prep` runs ~2 hours later (~8am MT) so both docs are waiting when Phil sits down Friday morning. Phil reviews, picks 1–3 to ship over the coming week, and POCs additional items over the weekend. Last weekend's POC findings surface in *this* run's review-prep as Carried Over items (lifted from comments on the previous week's research PR).
Friday early morning (~6am MT). `kaizen-review-prep` runs ~4 hours later (~10am MT), a gap sized to this scan's own runtime (2h18m on 2026-09-11) rather than to the 2 hours the two skills used to claim — on 2026-09-18 the prep ran 18 minutes after this scan started and produced a review with no research doc. Both docs are waiting when Phil sits down Friday late morning; he reviews, picks 1–3 to ship over the coming week, and the *outcomes* of those picks are what review-prep reads the following Friday.

## Sources

Expand Down Expand Up @@ -436,8 +436,7 @@ gh pr create --base develop --head "$BRANCH" \

## Review
- Read the research doc.
- Comment on the PR with reactions and any weekend POC findings — these become first-class signal for *next* Friday's `kaizen-review-prep`.
- POC promising ideas over the weekend.
- Ship, decline or defer individual ideas in their own PRs — a merged PR is the signal `kaizen-review-prep` reads next Friday. Deep analysis belongs in a `docs/kaizen/review-queue.md` entry on the PR branch that produced it, where the next review will find it.

## Decision
Ship the doc to `develop`. Ranking into decisions happens in the kaizen-review-prep PR opened later this morning. Action on individual ideas happens in separate PRs the following week.
Expand Down
27 changes: 15 additions & 12 deletions .claude/skills/kaizen-review-prep/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,34 @@
---
name: kaizen-review-prep
description: Friday late-morning synthesis. Runs ~2 hours after `kaizen-research` the same morning. Consumes this week's research doc, open items in `docs/kaizen/review-queue.md`, last weekend's POC findings (from comments on the previous week's research PR), and recent merges/reverts/CI signal — produces a ranked, decision-oriented agenda. Every item has a Ship / Decline / Defer recommendation. Opens a PR into `develop`. Triggers: "kaizen review prep", "weekly review prep", "friday review", "rank kaizen ideas".
description: Friday late-morning synthesis. Runs ~4 hours after `kaizen-research` the same morning. Consumes this week's research doc, open items in `docs/kaizen/review-queue.md`, the outcomes of the prior review's proposals (read from merged PRs and from open PR branches), and recent merges/reverts/CI signal — produces a ranked, decision-oriented agenda. Every item has a Ship / Decline / Defer recommendation. Opens a PR into `develop`. Triggers: "kaizen review prep", "weekly review prep", "friday review", "rank kaizen ideas".
---

# Kaizen Review Prep

Friday late morning, after `kaizen-research` ran earlier the same morning. This skill consolidates this week's research + open queue items + last weekend's POC findings (lifted from PR comments on the previous week's research PR) + recent repo state into a ranked decision agenda. Phil reviews Friday morning, marks ✅/❌/⏸ on each item, ships 1–3 the following week, and POCs the next batch over the weekend.
Friday late morning, after `kaizen-research` ran earlier the same morning. This skill consolidates this week's research + open queue items + the outcomes of the *prior* review's proposals + recent repo state into a ranked decision agenda. Phil reviews Friday morning, marks ✅/❌/⏸ on each item, and ships 1–3 the following week. What those 1–3 did is the feedback signal the next run opens with.

## Philosophy

- **Review is a decision forum, not a status update.** Everything that lands in the output should be either: (a) actionable this week, (b) explicitly deferred with a reason and revisit date, or (c) declined. Nothing is "noted." Noted-and-forgotten is how systems accumulate friction.
- **Subtraction first.** Every proposal ranks against "do nothing" and "retire something instead." If a proposal adds anything, it must explain what existing thing it either replaces or simplifies.
- **Dual lens — impact + capability-unlock.** Rank proposals through *two* lenses, not one: (a) **impact on existing code** (does this change, simplify, or obsolete something we already have?) and (b) **capability unlock** (what *new* product capability or UX enhancement does this enable that we couldn't easily build before?). Subtraction-first applies to lens (a). But proposals that genuinely unlock new product surface — code-interpreter sandboxes, persistent agent state, multi-agent UI attribution, new SSE event types that enable inline UI, etc. — must be evaluated on their strategic merit, *not* auto-deferred because they don't intersect existing code. A proposal with no `Subtracts` value but a substantive `Unlocks` value can rank above a low-impact dep-bump. Don't penalize net-new capability for not being a cleanup.
- **Multiple cycles.** Kaizen is small changes, weekly, compounding. If this week's review touches 3 things, next week's will touch 3 different things. Phil doesn't need a grand plan — he needs a reliable weekly cadence.
- **One-week feedback lag is intentional.** Phil reviews Friday → POCs over the weekend → those POC findings surface in the *next* Friday's review-prep as Carried Over items. Don't try to fold same-day POC findings in — they don't exist yet.
- **Outcomes are the feedback channel, not comments.** Open every run with a scorecard of the prior review's proposals: which shipped, which didn't, and what the merged PRs found. Shipping a proposal is the only reaction that has ever been recorded — see `decisions.md` [2026-09-21]. Do not ask for, wait on, or rank by PR comments.
- **Read open PR branches, not just `develop`.** This repo's deepest analysis is written as `docs/kaizen/review-queue.md` entries *inside the feature PR that produced it*. A review that reads only `develop` misses them, re-derives them worse, and gets corrected by a branch that was sitting there the whole time. Before ranking, `gh pr list --state open` and diff each against `develop` for `docs/kaizen/` and any spec the review cites. Those entries are authoritative over anything re-derived; cite them rather than restating them, and flag the merge order when two PRs touch the top of `## Open`.
- **No edits outside `docs/kaizen/`.** This skill writes one Markdown file under `docs/kaizen/reviews/` and updates `docs/kaizen/review-queue.md` (moves Open → Resolved post-review). It never touches source code, `CLAUDE.md`, or skill files. Those changes happen in separate PRs after the review.

## When to run

Friday late morning (~8am MT), ~2 hours after `kaizen-research` runs. Phil reviews both docs Friday morning, picks 1–3 to ship over the coming week, and POCs additional items over the weekend. POC findings from last weekend's POC session surface here as Carried Over items (lifted from PR comments on the *previous* week's research PR — not this week's, which Phil hasn't seen yet).
Friday late morning (~10am MT), ~4 hours after `kaizen-research` runs. Phil reviews both docs Friday, picks 1–3 to ship over the coming week; what those picks did is the scorecard this skill opens with the following Friday.

**Preflight — check that this morning's research doc exists before doing anything else.** The gap is sized to the scan's runtime (2h18m on 2026-09-11), not guaranteed by it. If `docs/kaizen/research/<today>.md` is absent or the `kaizen-research` run is still in flight, say so **in the review doc's header** and proceed queue-first — the `## Open` entries are the primary source and research is one input. Degrading is fine; degrading silently is not. This failed on 2026-09-18, when prep ran 18 minutes after the scan started.

## Inputs

1. **Most recent `docs/kaizen/research/YYYY-MM-DD.md`** — Friday's scan. Its Top 5 ideas are the primary candidate list.
2. **`docs/kaizen/review-queue.md`** — `## Open` entries. Includes both this week's ideas (just appended by `kaizen-research`) and any prior-week items that weren't resolved.
3. **Last 1–2 `docs/kaizen/reviews/*.md`** — what was proposed before, what was decided, anything deferred to "revisit by [date]".
4. **PR comments on the *previous* week's kaizen-research PR.** `gh pr view <n> --comments` — Phil's reactions and weekend POC findings are first-class signal. The PR opened *this* morning by `kaizen-research` is too fresh; comments accumulate over the week as Phil POCs ideas. Pick the research PR from one week ago (or the most recent merged/closed kaizen-research PR), not today's.
4. **Outcomes of the prior review's proposals.** For each proposal in the most recent `docs/kaizen/reviews/*.md`, establish on disk or in git what happened: shipped (name the commit/PR), not started, or superseded. This is the feedback channel — see the Philosophy bullet. Include **open PR branches**, which routinely carry queue entries that refute or narrow what `develop` alone would suggest.
5. **`docs/kaizen/decisions.md`** (if it exists) — declined items with reasons. Don't re-propose without materially new context.
6. **Recent activity since last review:**
- `git log develop --since="<last review date>" --oneline --no-merges` — what shipped.
Expand Down Expand Up @@ -78,7 +81,7 @@ check before decisions.]
- **Unlocks** (if applicable): [net-new product capability, UX pattern, or enhancement this enables — bulleted if multiple. Required for proposals where `Subtracts: no — addition only`; the unlock is the justification. Omit when purely a cleanup/dep-bump and not applicable.]
- **Effort**: Low / Med / High
- **Impact**: Low / Med / High
- **POC findings (if Phil tried it)**: [summary or "not POCed"]
- **Evidence**: [measured — cite the number and where it came from | verified on disk — cite file:line | asserted — say so plainly]
- **Ship means**: [specific action — "open PR updating X to do Y" or "retire skill Z"]
- **Decline means**: [what happens instead — usually "keep current behavior, revisit in N weeks"]
- **Recommendation**: Ship / Decline / Defer N weeks — [one-sentence why]
Expand Down Expand Up @@ -158,12 +161,12 @@ After Phil reviews and the decisions are logged in the review doc, this skill (o
- Last ~14 days of `CHANGELOG.md` and `RELEASE_NOTES.md`
- `CLAUDE.md` (read-only — for context, not edits)

3. **Pull PR comments on the latest research PR** (parallel with step 4):
3. **Score the prior review's proposals, and read open PR branches** (parallel with step 4):
```
gh pr list --base develop --state all --search "kaizen/research" --limit 1 --json number,url
gh pr view <number> --comments
gh pr list --state open --json number,title,headRefName
git fetch origin && git diff origin/develop...origin/<branch> -- docs/kaizen/
```
Capture Phil's reactions. POC findings he mentions get folded into proposal entries.
For each proposal in the last review doc, resolve shipped / not started / superseded against git and disk — that scorecard opens the new review. Queue entries found on open branches are authoritative over anything re-derived here.

4. **Pull recent activity** (parallel Bash):
- `git log develop --since="<last review date>" --oneline --no-merges`
Expand All @@ -183,7 +186,7 @@ After Phil reviews and the decisions are logged in the review doc, this skill (o
- Low-effort × High-impact first.
- **Retirement candidates** get a +1 boost (subtraction bias).
- **Capability-unlock items** (proposals with a substantive `Unlocks` field — new product capability, UX surface, or platform primitive adoption) rank on their strategic merit. Do not auto-defer just because `Subtracts: no`. A High-impact unlock can rank above a Low-impact subtraction.
- Items with **POC findings** rank above untested items at the same effort/impact.
- Items with **measured evidence** rank above asserted ones at the same effort/impact.

8. **Cap the proposal count at 10.** If more than 10 candidates, defer the lowest-ranked to next week with a note. The review is supposed to take 10-15 minutes, not be exhaustive.

Expand Down Expand Up @@ -213,7 +216,7 @@ gh pr create --base develop --head "$BRANCH" \
- N proposals ranked Effort × Impact (retirement candidates boosted).
- Friction patterns from the week's commits, PRs, and CI surfaced.
- Carried-over deferred items now due for re-decision.
- POC findings (from kaizen-research PR comments) folded into proposals where Phil tried something.
- Scorecard of the prior review's proposals: what shipped, what didn't, and what the merged PRs found.

## Review
1. Read Friction (2 min).
Expand Down
51 changes: 50 additions & 1 deletion .github/workflows/backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
paths:
- 'backend/**'
- 'scripts/build/**'
# recover-evicted-deploy.sh runs in THIS workflow. A change to the
# guard that re-dispatches an evicted peer deploy must itself be
# exercised by a real run.
- 'scripts/ci/**'
- '.github/workflows/backend.yml'

permissions:
Expand All @@ -19,7 +23,13 @@ env:

# Shared "deploy-<ref>" group with platform.yml so a CFN deploy and these
# API-driven code deploys never mutate the same ECS service / AgentCore
# Runtime / Lambda concurrently — they queue instead.
# Runtime / Lambda concurrently.
#
# ⚠️ The group does NOT queue — it is a latch with a queue depth of one, so
# a third run entering it cancels whichever run was pending, before that run
# executes a job. See the longer note in platform.yml and the
# `recover-evicted-peer` job below, which re-dispatches a peer deploy this
# run evicted. Enforced by backend/tests/supply_chain/test_concurrency_config.py.
concurrency:
group: deploy-${{ github.ref }}
cancel-in-progress: false
Expand All @@ -40,6 +50,45 @@ concurrency:
# ------------------------------------------------------------

jobs:
# Recover a peer deploy that GitHub silently evicted from the shared
# "deploy-<ref>" concurrency group when THIS run claimed the pending slot.
# A concurrency group is a latch with a queue depth of ONE, not a queue:
# "any existing pending job or workflow in the same concurrency group will
# be canceled and the new queued job or workflow will take its place." So a
# third run entering an occupied group kills whichever run was waiting,
# before it executes a single job, leaving a `cancelled` conclusion that is
# indistinguishable from a human pressing Cancel.
#
# That is harmless when the evicted run is superseded by a LATER run of the
# SAME workflow (both deploy the tree at HEAD, and git is cumulative). It is
# destructive across workflows: a Platform Stack run does not ship
# container images or Lambda code, so when it evicts a pending Backend
# Deploy run that code is simply never shipped and CI stays green.
#
# No `needs`, so the recovery dispatch goes out at the top of the run rather
# than behind the deploy it is unrelated to. The re-dispatched run queues
# behind this one, so the concurrency guarantee is preserved.
# See scripts/ci/recover-evicted-deploy.sh.
# Enforced by backend/tests/supply_chain/test_concurrency_config.py.
recover-evicted-peer:
name: Recover evicted peer deploy
runs-on: ubuntu-24.04

permissions:
contents: read
# `gh workflow run` re-dispatches the peer workflow.
actions: write

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- name: Detect and recover an evicted Platform Stack run
env:
GH_TOKEN: ${{ github.token }}
run: bash scripts/ci/recover-evicted-deploy.sh platform.yml

test-infra:
name: Test infrastructure (jest)
permissions:
Expand Down
Loading
Loading