Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2547 commits
Select commit Hold shift + click to select a range
720f142
Merge pull request #989 from Boise-State-Development/feature/artifact…
philmerrell Sep 7, 2026
233a0d1
fix(mcp-apps): keep tool-result content on app-initiated tools/call
philmerrell Sep 7, 2026
90bf7a1
fix(mcp-apps): revive a torn-down MCP session for app-initiated calls
philmerrell Sep 7, 2026
a0aff73
Merge pull request #993 from Boise-State-Development/fix/mcp-apps-pro…
philmerrell Sep 7, 2026
98d9a5c
Merge pull request #994 from Boise-State-Development/fix/mcp-apps-sta…
philmerrell Sep 7, 2026
a009c08
Merge remote-tracking branch 'origin/main' into backmerge/main-into-d…
philmerrell Sep 7, 2026
d10043d
Merge pull request #996 from Boise-State-Development/backmerge/main-i…
philmerrell Sep 7, 2026
a91ff68
fix(kb): engine-aware managed context cap (8,000) — task 16.1
DerrickF Sep 8, 2026
d680ca6
fix(kb): fail closed when no chunk carries a document_id — task 16.3
DerrickF Sep 8, 2026
7b64a79
docs(kaizen): queue Strands Snapshots + AgentCore workspaces, Unlocks…
philmerrell Sep 8, 2026
dcc7c68
fix: retain MCP App UI resources per conversation
philmerrell Sep 8, 2026
3a20d86
chore: pin the frontend preview to port 4200
philmerrell Sep 8, 2026
d6633da
fix(mcp-apps): resolve the OAuth token for app-initiated tool calls
philmerrell Sep 8, 2026
88c3356
Merge pull request #999 from Boise-State-Development/feature/kaizen-q…
philmerrell Sep 8, 2026
e2587ee
Merge pull request #1000 from Boise-State-Development/feature/mcp-app…
philmerrell Sep 8, 2026
a6dc3bd
Merge pull request #1001 from Boise-State-Development/claude/mcp-app-…
philmerrell Sep 8, 2026
1c1a28b
feat: collapse app-run tool cards behind the App frame's header
philmerrell Sep 8, 2026
42c227c
feat(mcp-apps): revalidate an App's UI resource when the agent is alr…
philmerrell Sep 8, 2026
1a98516
fix(mcp-apps): give an App a real chance to flush before teardown
philmerrell Sep 8, 2026
74919ee
Merge pull request #1002 from Boise-State-Development/feature/mcp-app…
philmerrell Sep 8, 2026
e3afb14
Merge pull request #997 from Boise-State-Development/fix/kb-managed-c…
DerrickF Sep 8, 2026
7b7db8b
Merge pull request #998 from Boise-State-Development/fix/kb-status-fi…
DerrickF Sep 8, 2026
df146e6
docs(kb): mark §5.40 (PR #997) and §5.33 (PR #998) resolved in HANDOFF
DerrickF Sep 8, 2026
25ead2e
Merge pull request #1005 from Boise-State-Development/docs/kb-handoff…
DerrickF Sep 8, 2026
73d9078
feat(kb): dead-letter document reconciler (task 16.5, HANDOFF §5.37)
DerrickF Sep 8, 2026
eb555ef
feat(kb-migration): engine visibility — status vocabulary + Managed/C…
DerrickF Sep 8, 2026
17f6d2e
feat(kb): wire the dead-letter document reconciler Lambda, nightly sc…
DerrickF Sep 8, 2026
800227a
fix(mcp-apps): carry app-tool errors across the AgentCore boundary
philmerrell Sep 9, 2026
afa3531
feat(tools): browse_web — drive a real browser via AgentCore Browser
philmerrell Sep 9, 2026
a2c27ca
fix(tests): derive seeder tool counts from DEFAULT_TOOLS
philmerrell Sep 9, 2026
6f248fb
Merge pull request #1010 from Boise-State-Development/feature/agentco…
philmerrell Sep 9, 2026
c7732a0
chore(deps): strands-agents-tools 0.8.6 → 0.8.8 (calculator sandbox e…
philmerrell Sep 9, 2026
e63c390
Merge pull request #1003 from Boise-State-Development/feature/mcp-app…
philmerrell Sep 9, 2026
a0cdc2c
Merge pull request #1009 from Boise-State-Development/fix/app-tool-er…
philmerrell Sep 9, 2026
0e7e564
fix(mcp-apps): let the consent message reach the toast
philmerrell Sep 9, 2026
edd45f4
Merge pull request #1013 from Boise-State-Development/fix/app-tool-co…
philmerrell Sep 9, 2026
a15c787
Merge pull request #1011 from Boise-State-Development/feature/strands…
philmerrell Sep 9, 2026
161ce6e
chore(deps): upgrade strands-agents 1.51.0 -> 1.55.0
philmerrell Sep 9, 2026
f82f6f2
Merge pull request #1012 from Boise-State-Development/feature/strands…
philmerrell Sep 9, 2026
6f04a0e
feat(fine-tuning): add generative VLM fine-tuning (image-text-to-text)
philmerrell Sep 9, 2026
3c7216a
Merge pull request #1014 from Boise-State-Development/feature/generat…
philmerrell Sep 9, 2026
4c0cb6e
fix(fine-tuning): fit VLM context length to the model's real image cost
philmerrell Sep 9, 2026
7e751c1
Merge pull request #1007 from Boise-State-Development/feat/kb-deadlet…
DerrickF Sep 9, 2026
ff451b9
Merge pull request #1008 from Boise-State-Development/feat/kb-deadlet…
DerrickF Sep 9, 2026
e4c7700
fix(observability): alarm on Bedrock TPM quota per model, not account…
romanmeredith-rgb Sep 9, 2026
9d56cf3
docs(kb): resolve task 16.2 — diagram answer quality understood, no c…
DerrickF Sep 9, 2026
752635f
ci(kb): forward CDK_MANAGED_KB_DOC_RECONCILER_ARMED to the platform d…
DerrickF Sep 9, 2026
f5b9fcd
Merge pull request #1016 from Boise-State-Development/fix/bedrock-tpm…
ramenNoodles1998 Sep 9, 2026
e88274a
Merge pull request #1017 from Boise-State-Development/docs/kb-16.2-di…
DerrickF Sep 9, 2026
f0c5003
Merge pull request #1018 from Boise-State-Development/feat/kb-doc-rec…
DerrickF Sep 9, 2026
6a2a082
feat(kb): enforce managed-KB byte cap at document upload time (Req 12…
DerrickF Sep 9, 2026
de8684d
feat(infra): per-environment app-api Fargate sizing via GitHub Variables
colinmxs Sep 9, 2026
d650e96
Merge pull request #1020 from Boise-State-Development/feature/load-te…
colinmxs Sep 9, 2026
e6ace64
Merge remote-tracking branch 'origin/main' into backmerge/main-into-d…
colinmxs Sep 9, 2026
5ff6d60
Merge pull request #1022 from Boise-State-Development/backmerge/main-…
colinmxs Sep 9, 2026
834c2c9
Merge pull request #1015 from Boise-State-Development/fix/vlm-context…
philmerrell Sep 10, 2026
ae86415
fix(infra): grant app-api sagemaker:CreateModel for Batch Transform
philmerrell Sep 10, 2026
31910ea
Merge pull request #1023 from Boise-State-Development/fix/app-api-sag…
philmerrell Sep 10, 2026
e980eb3
Merge pull request #1019 from Boise-State-Development/feat/kb-upload-…
DerrickF Sep 10, 2026
ad70f40
feat(fine-tuning): checkpoint training jobs and resume on restart
philmerrell Sep 10, 2026
c90d74a
Merge pull request #1024 from Boise-State-Development/feature/fine-tu…
philmerrell Sep 10, 2026
f1e11bd
feat(kb): born-managed knowledge bases — provision on first upload (#…
DerrickF Sep 10, 2026
16b46fb
fix(connectors): allow metadata-only edits on discovery-URL providers
philmerrell Sep 11, 2026
1b12167
docs(specs): Canvas Rubric Agent — design, blockers, draft artifacts …
philmerrell Sep 11, 2026
756b09b
Merge pull request #1029 from Boise-State-Development/feature/connect…
philmerrell Sep 11, 2026
183e032
feat(frontend): drill into tool detail from the tools drawer
philmerrell Sep 10, 2026
817463d
chore(dev): pin app-api and inference-api to their fixed ports
philmerrell Sep 11, 2026
f17c864
feat(frontend): search and category grouping in the tools drawer
philmerrell Sep 11, 2026
7bbc8f9
Merge pull request #1030 from Boise-State-Development/feature/tool-dr…
philmerrell Sep 11, 2026
a63ee17
feat(fine-tuning): opt-in managed spot training
philmerrell Sep 10, 2026
914d533
feat: show OAuth connection state on tools
philmerrell Sep 11, 2026
2852894
feat(backend): discover and persist MCP prompts and resources
philmerrell Sep 11, 2026
6dba54a
chore(frontend): remove dead ToolProgress stream-parser plumbing
philmerrell Sep 11, 2026
ec76259
feat(frontend): show MCP prompts and resources in the tool detail pane
philmerrell Sep 11, 2026
1989d8a
Merge pull request #1036 from Boise-State-Development/chore/remove-de…
philmerrell Sep 11, 2026
899b798
feat(frontend): show a tool's summary, with its docstring on demand
philmerrell Sep 11, 2026
b5da4bb
Merge pull request #1033 from Boise-State-Development/feature/tool-dr…
philmerrell Sep 11, 2026
13b1134
Merge pull request #1032 from Boise-State-Development/feature/tool-dr…
philmerrell Sep 11, 2026
bc74994
Merge pull request #1035 from Boise-State-Development/feature/mcp-cap…
philmerrell Sep 11, 2026
d2ee13e
feat(agent): emit agent_status and tool-batch summaries
philmerrell Sep 11, 2026
02bc76a
feat(chat): condense tool calls into one card per assistant run
philmerrell Sep 11, 2026
68a759f
docs(claude): document agent_status and tool_group_summary in the SSE…
philmerrell Sep 11, 2026
a29e856
feat(chat): render a summary line per tool batch inside a rail
philmerrell Sep 11, 2026
c33352f
feat(chat): fold tool detail behind a compact accordion list
philmerrell Sep 11, 2026
668ffd2
Merge remote-tracking branch 'origin/develop' into feature/tool-detai…
philmerrell Sep 11, 2026
441c1c6
Merge remote-tracking branch 'origin/develop' into feature/readable-t…
philmerrell Sep 11, 2026
6e2ba22
Merge pull request #1034 from Boise-State-Development/claude/agent-to…
philmerrell Sep 11, 2026
bcea95c
Merge pull request #1037 from Boise-State-Development/feature/tool-de…
philmerrell Sep 11, 2026
cacec73
Merge remote-tracking branch 'origin/develop' into feature/readable-t…
philmerrell Sep 11, 2026
ba622ae
Merge pull request #1038 from Boise-State-Development/feature/readabl…
philmerrell Sep 11, 2026
1650b00
fix(tool-summaries): stop eating the closing quote on a summary
philmerrell Sep 11, 2026
9bc9bc6
feat(chat): state the real model state in the loading indicator
philmerrell Sep 11, 2026
5f0cd52
feat(chat): reorder the loading indicator and shimmer the state
philmerrell Sep 11, 2026
b226dd1
Merge pull request #1039 from Boise-State-Development/fix/tool-summar…
philmerrell Sep 11, 2026
8638875
Merge pull request #1040 from Boise-State-Development/feat/loading-in…
philmerrell Sep 11, 2026
3ce1998
docs(specs): correct the prod student-access section — isPublic, not …
philmerrell Sep 11, 2026
ece5b1d
fix(frontend): run the tool row's hover highlight the full drawer width
philmerrell Sep 11, 2026
0fb05d4
fix(chat): scope the tool rail's hover to the rail
philmerrell Sep 11, 2026
ac3f590
Merge pull request #1043 from Boise-State-Development/fix/tool-rail-h…
philmerrell Sep 11, 2026
196084e
Merge pull request #1042 from Boise-State-Development/fix/tool-row-ho…
philmerrell Sep 11, 2026
f9b307e
Merge pull request #1041 from Boise-State-Development/fix/canvas-rubr…
philmerrell Sep 11, 2026
5e12ae3
Merge pull request #1025 from Boise-State-Development/feature/fine-tu…
philmerrell Sep 11, 2026
cddbb0a
fix(chat): drop the prose margin under the tool batch summary
philmerrell Sep 11, 2026
5a0f532
chore(kaizen): weekly research scan 2026-09-11
philmerrell Sep 11, 2026
57335ef
Merge pull request #1044 from Boise-State-Development/claude/remove-b…
philmerrell Sep 11, 2026
219f7df
Merge pull request #1045 from Boise-State-Development/kaizen/research…
philmerrell Sep 11, 2026
525ebc4
chore(kaizen): weekly review prep 2026-09-11
philmerrell Sep 11, 2026
3555106
feat(agents): accept scoped tool ids on Agent tool bindings
philmerrell Sep 11, 2026
825596c
feat(agents): let an author bind a subset of an MCP server's tools
philmerrell Sep 11, 2026
d7090a8
docs(specs): scoped tool bindings shipped, with the measured numbers
philmerrell Sep 11, 2026
c2c7581
Merge pull request #1047 from Boise-State-Development/feature/scoped-…
philmerrell Sep 11, 2026
3b33038
Merge pull request #1046 from Boise-State-Development/kaizen/review-2…
philmerrell Sep 11, 2026
64156b3
fix(ci): anchor filesystem-reading specs to the project root, and let…
philmerrell Sep 11, 2026
69b856c
fix(admin): per-model cache-read, corrected rate provenance, and the …
philmerrell Sep 11, 2026
d019494
build(deps): constrain the transitive `mcp` dependency below 2.x (#1050)
philmerrell Sep 11, 2026
3ea1072
feat(observability): alarm on concurrent AgentCore Runtime sessions (…
philmerrell Sep 11, 2026
3a867c8
docs(kaizen): record the verified blockers on the AgentCore S3 Files …
philmerrell Sep 11, 2026
7ea3651
Merge pull request #1052 from Boise-State-Development/docs/kaizen-s3f…
philmerrell Sep 11, 2026
84d3337
docs(kaizen): conversation-branching Phase-1 spike findings (#1053)
philmerrell Sep 11, 2026
2d4ce20
docs(kaizen): answer the GPT-6 Astra context-tier blocking question (…
philmerrell Sep 11, 2026
27b7564
feat(models): register GPT-6 Astra at the 272K short-context cap (#1055)
philmerrell Sep 11, 2026
07a1e63
docs(kb): refresh the handoff to current state, commit the chunk-insp…
DerrickF Sep 11, 2026
415b13c
feat(kb): chunk inspector — show owners what their knowledge base ext…
DerrickF Sep 11, 2026
48e2b67
fix(kb): deleting a document mid-upload leaked bytes and spammed 404 …
DerrickF Sep 11, 2026
6cf141c
fix(observability): separate real session accumulation from load test…
philmerrell Sep 11, 2026
2dfca5b
fix(agents): run the preview pane on the main chat's services
philmerrell Sep 11, 2026
6723432
feat(ui): trail the live agent state with an ellipsis
philmerrell Sep 11, 2026
fc294a2
Merge pull request #1061 from Boise-State-Development/feature/agent-s…
philmerrell Sep 11, 2026
0c155fa
Merge pull request #1060 from Boise-State-Development/claude/focused-…
philmerrell Sep 11, 2026
017a4e6
feat(admin): refresh a tool's prompts and resources from the tool list
philmerrell Sep 11, 2026
5b06f36
Merge pull request #1062 from Boise-State-Development/feat/refresh-to…
philmerrell Sep 11, 2026
ff91545
feat(ui): restructure the side nav and stop gating its entries
philmerrell Sep 11, 2026
35483b3
fix(agents): correct why bedrock_cache_points_supported() exists
philmerrell Sep 11, 2026
4995d17
feat(scripts): probe which Bedrock families accept an explicit cacheP…
philmerrell Sep 11, 2026
347f758
docs(kaizen): answer the cachePoint-gate question, and widen the cach…
philmerrell Sep 11, 2026
1d15cd9
Merge pull request #1063 from Boise-State-Development/claude/side-nav…
philmerrell Sep 12, 2026
0b05a5f
Merge pull request #1064 from Boise-State-Development/claude/strands-…
philmerrell Sep 12, 2026
8df60a6
feat(models): short descriptions, effort selection and a More models …
philmerrell Sep 12, 2026
db7b8c7
feat(models): declare the measured GPT-5.6 param spec, enabling effor…
philmerrell Sep 12, 2026
8dcd292
fix(spa): read /users/me/settings once per load, not twice
philmerrell Sep 12, 2026
86c83f4
perf(auth): throttle the per-request user-profile upsert
philmerrell Sep 12, 2026
9ad57e0
refactor(models): one-line name + provider in the picker, with room t…
philmerrell Sep 12, 2026
32b45bd
feat(models): curate picker placement in the curated catalog templates
philmerrell Sep 12, 2026
96db991
Merge pull request #1065 from Boise-State-Development/claude/first-lo…
philmerrell Sep 12, 2026
0d2d8eb
feat(models): default GPT-5.6 reasoning effort to medium
philmerrell Sep 12, 2026
9ff8928
Merge pull request #1066 from Boise-State-Development/feat/model-sele…
philmerrell Sep 12, 2026
619677a
fix(spa): stop unit specs opening real sockets, which flaked the cove…
philmerrell Sep 12, 2026
b2c57b3
perf(api): cache the tenant-global config catalogs read on first load
philmerrell Sep 12, 2026
39331b7
Merge pull request #1067 from Boise-State-Development/claude/quizzica…
philmerrell Sep 12, 2026
0d338f0
Merge pull request #1068 from Boise-State-Development/feature/cache-c…
philmerrell Sep 12, 2026
859bcda
feat(tools): add EntityTypeIndex and stamp the tool catalog for it
philmerrell Sep 12, 2026
0cabda1
Merge pull request #1069 from Boise-State-Development/feature/tool-ca…
philmerrell Sep 12, 2026
d446752
fix(seed): stamp EntityTypeIndex keys, and gate releases on backfill …
philmerrell Sep 12, 2026
f12ca77
Merge pull request #1070 from Boise-State-Development/feature/release…
philmerrell Sep 12, 2026
c32bd4e
perf(tools): list the catalog by Query instead of scanning a shared t…
philmerrell Sep 12, 2026
0a49790
Merge pull request #1071 from Boise-State-Development/feature/tool-ca…
philmerrell Sep 12, 2026
526c93a
feat(customize): add the Customize hub with Tools and Skills
philmerrell Sep 12, 2026
05c8fdb
Merge pull request #1072 from Boise-State-Development/feature/customi…
philmerrell Sep 12, 2026
dae2b20
refactor(drawer): drop the model picker and inference-param form
philmerrell Sep 12, 2026
aa4526f
fix(api): keep app-generated redirects on the public HTTPS URL
philmerrell Sep 12, 2026
cd5626b
Merge pull request #1073 from Boise-State-Development/feature/drawer-…
philmerrell Sep 12, 2026
2ef14e5
Merge pull request #1074 from Boise-State-Development/fix/agents-mixe…
philmerrell Sep 12, 2026
2b85bc4
feat(agents): surface what an Agent fixes on the assistant indicator
philmerrell Sep 12, 2026
328b9e4
Merge pull request #1075 from Boise-State-Development/feature/agent-l…
philmerrell Sep 12, 2026
d39b2de
refactor(icons): extract square-icon handling into apis.shared.images
philmerrell Sep 12, 2026
1cc0117
feat(models): give a managed model an icon in the chat picker
philmerrell Sep 12, 2026
0a585f5
feat(customize): fold Connectors in from Settings
philmerrell Sep 12, 2026
279db0e
Merge pull request #1076 from Boise-State-Development/feature/customi…
philmerrell Sep 12, 2026
c7755ee
refactor(agents): drop Max tokens from the Designer's param form
philmerrell Sep 12, 2026
80f7920
Merge pull request #1078 from Boise-State-Development/feature/agent-d…
philmerrell Sep 13, 2026
cccbd26
fix(models): crop the OpenAI logo and correct three things found in p…
philmerrell Sep 13, 2026
3d0961b
Merge pull request #1077 from Boise-State-Development/claude/model-ic…
philmerrell Sep 13, 2026
71a8901
feat(composer): move Conversation Mode to the composer, delete the dr…
philmerrell Sep 13, 2026
b8898c0
Merge pull request #1079 from Boise-State-Development/feature/compose…
philmerrell Sep 13, 2026
32764db
docs: note the silent-disable on system prompts, close out the Custom…
philmerrell Sep 13, 2026
320b0cf
feat(customize): add a tool detail view
philmerrell Sep 13, 2026
8a7ef80
fix(a11y): use the accessible dark token for colored text and icons
philmerrell Sep 13, 2026
07300a7
Merge pull request #1080 from Boise-State-Development/feature/customi…
philmerrell Sep 13, 2026
6eb53f9
Merge pull request #1081 from Boise-State-Development/claude/tool-det…
philmerrell Sep 13, 2026
af84764
Merge pull request #1082 from Boise-State-Development/feature/dark-mo…
philmerrell Sep 13, 2026
dcefe37
docs(tailwind): replace stale Tailwind-blue guidance with the brand t…
philmerrell Sep 13, 2026
d919528
feat(customize): add a skill detail view
philmerrell Sep 13, 2026
a8a88dd
Merge pull request #1084 from Boise-State-Development/claude/doc-bran…
philmerrell Sep 13, 2026
38d66c8
Merge pull request #1085 from Boise-State-Development/feature/customi…
philmerrell Sep 13, 2026
736deed
style(frontend): standardize Agents, Customize and Artifacts buttons
philmerrell Sep 13, 2026
81e48d1
style(frontend): put every primary/secondary button on rounded-2xl
philmerrell Sep 13, 2026
b45f899
fix(customize): drop tool/skill card grid to 2 columns until 2xl
philmerrell Sep 13, 2026
9259244
style(frontend): put secondary/bordered buttons on rounded-2xl too
philmerrell Sep 13, 2026
8d81ce5
Merge pull request #1086 from Boise-State-Development/claude/gracious…
philmerrell Sep 13, 2026
96cc7b4
feat(tools): try an MCP server's prompts from the tool detail page
philmerrell Sep 13, 2026
a7e0a6e
feat(composer): park the Conversation Mode picker
philmerrell Sep 13, 2026
c0136e3
Merge pull request #1087 from Boise-State-Development/feature/mcp-pro…
philmerrell Sep 13, 2026
949f849
Merge pull request #1088 from Boise-State-Development/feature/park-co…
philmerrell Sep 13, 2026
3d16da5
feat(customize): consolidate skills into one surface with Yours/Discover
philmerrell Sep 13, 2026
3c2ea5d
Merge pull request #1089 from Boise-State-Development/feature/consoli…
philmerrell Sep 13, 2026
e20bf14
feat(composer): slash commands to invoke enabled skills
philmerrell Sep 13, 2026
97d8ba9
fix(spa): stop using the primary scale as a light-tint background fill
philmerrell Sep 13, 2026
6ac4e4d
Merge pull request #1090 from Boise-State-Development/feature/skill-s…
philmerrell Sep 13, 2026
9e7c182
Merge pull request #1091 from Boise-State-Development/feature/primary…
philmerrell Sep 13, 2026
c3a7ca7
chore(app-api): remove dead sessions/services/metadata.py duplicate
philmerrell Sep 13, 2026
f7be395
Merge pull request #1092 from Boise-State-Development/chore/remove-de…
philmerrell Sep 13, 2026
bcecacd
feat(admin-costs): content-free per-user conversation list and sessio…
philmerrell Sep 13, 2026
f49fff9
feat(admin-costs): conversations on the user page + session profile, …
philmerrell Sep 13, 2026
d6cde4b
feat(cost-diagnostics): content-free tool census and compaction counter
philmerrell Sep 13, 2026
7fc7be2
test(admin-costs): stub only navigator.clipboard, never the navigator…
philmerrell Sep 13, 2026
ed8e437
fix(cost-diagnostics): ship feature_flags in the scheduled-runs image…
philmerrell Sep 13, 2026
3e19364
feat(spa): cycle discovery hints in the composer placeholder
philmerrell Sep 14, 2026
0c2e4f8
feat(branding): greet by time of day
philmerrell Sep 14, 2026
4e97f37
Merge pull request #1096 from Boise-State-Development/feature/compose…
philmerrell Sep 14, 2026
d8afe2e
fix(security): sanitize the remaining log-injection sinks, guard the …
philmerrell Sep 14, 2026
165d12b
Merge remote-tracking branch 'origin/main' into backmerge/main-into-d…
philmerrell Sep 14, 2026
9bc68d3
Merge pull request #1099 from Boise-State-Development/backmerge/main-…
philmerrell Sep 14, 2026
b1d6d0d
Merge remote-tracking branch 'origin/develop' into fix/log-injection-…
philmerrell Sep 14, 2026
d5e3c5e
docs(backfill): give the venv interpreter, and stop naming ItemCount …
philmerrell Sep 14, 2026
6bf8269
Merge pull request #1093 from Boise-State-Development/feature/admin-c…
philmerrell Sep 14, 2026
1ccc29c
feat: ask_user_question tool with mid-turn interrupt (PR-1)
philmerrell Sep 14, 2026
0d109b7
Merge pull request #1059 from Boise-State-Development/fix/kb-delete-d…
DerrickF Sep 14, 2026
c60b91c
fix: strip model-supplied Other/Skip options; discourage a second round
philmerrell Sep 14, 2026
2e6108f
Merge pull request #1100 from Boise-State-Development/feature/ask-use…
philmerrell Sep 14, 2026
3db20c6
Merge pull request #1095 from Boise-State-Development/feature/cost-di…
philmerrell Sep 14, 2026
4d0e838
fix: make generated-document download links durable
philmerrell Sep 14, 2026
d407de7
feat: clarifying-questions picker in the chat transcript (PR-2)
philmerrell Sep 14, 2026
1419a0a
Merge pull request #1101 from Boise-State-Development/fix/document-do…
philmerrell Sep 14, 2026
2e1f566
Merge pull request #1102 from Boise-State-Development/feature/ask-use…
philmerrell Sep 14, 2026
1790f6f
feat: rehydrate the clarifying-questions picker after a refresh (PR-3)
philmerrell Sep 14, 2026
2507a5f
Merge pull request #1103 from Boise-State-Development/feature/ask-use…
philmerrell Sep 14, 2026
de53f21
docs(kb): close out the KB specs and record NEW_DEFAULT armed in dev …
DerrickF Sep 14, 2026
bd92871
style: full-width, softer clarifying-questions picker
philmerrell Sep 14, 2026
a2d09ea
style: single stroke on a selected option
philmerrell Sep 14, 2026
86edd8a
Merge pull request #1098 from Boise-State-Development/fix/log-injecti…
philmerrell Sep 14, 2026
2a03d33
Merge pull request #1105 from Boise-State-Development/feature/ask-use…
philmerrell Sep 14, 2026
0f36520
Merge pull request #1094 from Boise-State-Development/feature/admin-c…
philmerrell Sep 14, 2026
c48aebf
feat: make the clarifying-questions tool actually fire (PR-4)
philmerrell Sep 14, 2026
a0aa0a9
docs(spec): authenticated web assessment via browser takeover
philmerrell Sep 14, 2026
78df431
Merge pull request #1106 from Boise-State-Development/feature/ask-use…
philmerrell Sep 14, 2026
8fb4f8f
feat(kb): show storage usage bar with byte cap on the KB card
DerrickF Sep 14, 2026
9987469
Merge pull request #1108 from Boise-State-Development/feat/kb-usage-bar
DerrickF Sep 14, 2026
f5b4e61
fix(kb): born-managed must not provision over an established legacy a…
DerrickF Sep 14, 2026
6832929
fix(kb): hide the storage usage bar for legacy (Classic) KBs (#1110)
DerrickF Sep 14, 2026
356e11c
perf(ci): parallelize backend pytest with xdist (#1111)
DerrickF Sep 14, 2026
d26f7ea
perf(ci): infra jest transpile-only + shared tsc type-check (#1113)
DerrickF Sep 15, 2026
51fdbc7
Merge pull request #1107 from Boise-State-Development/feature/authent…
philmerrell Sep 15, 2026
4e2f247
fix(agents): an @-mention binds the conversation instead of borrowing…
philmerrell Sep 15, 2026
72a0d80
feat(chat): use up arrow instead of paper airplane for send button
philmerrell Sep 15, 2026
2052540
Merge pull request #1114 from Boise-State-Development/claude/chat-com…
philmerrell Sep 15, 2026
9eeee27
Merge pull request #1115 from Boise-State-Development/feature/agent-m…
philmerrell Sep 15, 2026
ab29498
fix(branding): keep every greeting on one line in the chat empty state
philmerrell Sep 15, 2026
deeddbf
Merge pull request #1116 from Boise-State-Development/feature/greetin…
philmerrell Sep 15, 2026
0cb2af8
Release/1.22.0
philmerrell Sep 15, 2026
3e30072
fix(security): scrub the KB-usage log sink
philmerrell Sep 15, 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
14 changes: 14 additions & 0 deletions .claude/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,20 @@
"cwd": "backend/src/apis/app_api",
"autoPort": false
},
{
"name": "app-api-branch",
"runtimeExecutable": "/Users/philmerrell/Repos/agentcore-public-stack/backend/.venv/bin/python",
"runtimeArgs": [
"-m",
"uvicorn",
"apis.app_api.main:app",
"--port",
"8010"
],
"port": 8010,
"cwd": "backend/src",
"autoPort": false
},
{
"name": "inference-api",
"runtimeExecutable": "/Users/philmerrell/Repos/agentcore-public-stack/backend/.venv/bin/python",
Expand Down
21 changes: 18 additions & 3 deletions .claude/skills/cutting-a-release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,12 +225,27 @@ required" — that is the note that sends someone digging through `git log`:
> for tool rows written before it existed. Idempotent; dry-run by default.
>
> ```bash
> AWS_PROFILE=<env> python backend/scripts/backfill_tool_catalog_index.py \
> AWS_PROFILE=<env> backend/.venv/bin/python backend/scripts/backfill_tool_catalog_index.py \
> --table <prefix>-app-roles --region us-west-2 --apply
> ```
>
> Verify `skipped=0 failed=0` and that the index item count matches the tool
> count before considering the deploy complete.
> Verify `skipped=0 failed=0`, then confirm with a live Query on the index.

Two details that cost real time on the v1.21.0 prod run, both worth carrying
into whatever backfill note you write:

- **Give the backend venv's interpreter, not a bare `python`.** These scripts
need `boto3`, which is not in the system Python — a bare `python` fails with
`ModuleNotFoundError: No module named 'boto3'` before it does anything. All
six `backfill_*.py` scripts are runnable as
`backend/.venv/bin/python backend/scripts/<script>.py …` from the repo root
(`uv run --project backend python …` works too).
- **Never tell an operator to verify with `describe-table` `ItemCount`.**
DynamoDB refreshes table and index item counts roughly every **six hours**,
so a correct backfill still reports `0` immediately afterwards and reads as a
failure. Name a live `query … --select COUNT` instead, and pair it with a
scan for rows the backfill missed — a *partial* backfill is silent, and is
exactly what a sparse-index read path's fallback does not cover.

### Ordering, when the release also switches a read onto the backfilled data

Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,10 @@
run: uv sync --extra agentcore --extra dev
- name: Run pytest
working-directory: backend
run: uv run pytest tests/ -v
# `-n auto` fans the suite across all runner cores (pytest-xdist).
# Verbosity/--tb live in backend/pytest.ini. The nightly coverage run
# (scripts/backend/test.sh) is deliberately left serial.
run: uv run pytest tests/ -n auto

test-frontend:
if: ${{ inputs.run_frontend }}
Expand Down Expand Up @@ -151,7 +154,13 @@
- name: Install
working-directory: infrastructure
run: npm ci --prefer-offline
- name: Type-check (tsc --noEmit)
working-directory: infrastructure
# Single shared type-check for the whole project. jest now transpiles
# only (isolatedModules), so this is where infra type errors are caught
# on a PR — cheaper once here than re-run inside every jest worker.
run: npm run build
- name: Run tests

Check failure

Code scanning / CodeQL

Cache Poisoning via execution of untrusted code High test

Potential cache poisoning in the context of the default branch due to privilege checkout of untrusted code from
inputs.ref
. (
workflow_dispatch
).
Potential cache poisoning in the context of the default branch due to privilege checkout of untrusted code from
inputs.ref
. (
workflow_dispatch
).
Potential cache poisoning in the context of the default branch due to privilege checkout of untrusted code from
inputs.ref
. (
workflow_dispatch
).
Potential cache poisoning in the context of the default branch due to privilege checkout of untrusted code from
inputs.ref
. (
schedule
).
Potential cache poisoning in the context of the default branch due to privilege checkout of untrusted code from
inputs.ref
. (
workflow_dispatch
).
Potential cache poisoning in the context of the default branch due to privilege checkout of untrusted code from
inputs.ref
. (
workflow_dispatch
).
working-directory: infrastructure
run: npx jest --maxWorkers=2

Expand Down
12 changes: 11 additions & 1 deletion .kiro/specs/kb-chunk-inspector/design.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# KB Chunk Inspector — Design

**Status:** Draft · Reads only. Built entirely on the existing retrieval facade.
**Status:** **BUILT** (PR #1057, live in dev). Reads only. Built entirely on the existing
retrieval facade.

> **AMENDED DURING IMPLEMENTATION — managed only.** §2 below lists
> `backend.search(kb_ref, query, top_k, retrieval_filter=None)` as available on both
> adapters. It is not: `retrieval_filter` exists only on `ManagedKbBackend.search`. The
> legacy adapter is `search(kb_ref, query, top_k)` — no filter, and it ignores `top_k`,
> always returning five results from the whole knowledge base. So on legacy the
> inspector would render *other documents'* chunks under this document's name. As built,
> a legacy document returns `available=false` with a reason, as a 200 rather than an
> error. See the amendment note in `requirements.md` under Requirement 2.

## 1. The one hard constraint

Expand Down
12 changes: 11 additions & 1 deletion .kiro/specs/kb-chunk-inspector/requirements.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# KB Chunk Inspector — Requirements

**Status:** Draft · **Related:** `managed-kb-migration` (§5.41 diagram answer quality, task 16.2)
**Status:** **BUILT AND MERGED** ([PR #1057](https://github.com/Boise-State-Development/agentcore-public-stack/pull/1057), `415b13c8`, 2026-09-11) and **live in dev** — no flag gates it, since it is a read-only view.
Tasks 1–5 complete; task 6 (eyeball it against the real §5.41 corpus) is the remaining
acceptance check and needs a human, not code. Requirement 2 was **amended during
implementation** — see the note under it. ·
**Related:** `managed-kb-migration` (§5.41 diagram answer quality, task 16.2)

> It has already earned its place: the first thing it revealed in dev was that a single
> image's generated description is split across chunks, the second half orphaned from
> the image it describes. That is invisible without this view, and it is a plausible
> contributor to §5.41's wrong answers. See the handoff's "Chunking strategy is not
> configurable" entry.

## Problem

Expand Down
50 changes: 37 additions & 13 deletions .kiro/specs/managed-kb-migration/HANDOFF.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,9 @@ Four things invalidate earlier versions of this document:
| Implementation | **Build phase done.** Groups 1–14 except 14.4 (retry endpoint) and 14.5 (admin surface); all of group 16; born-managed provision-then-ingest. A migration has completed `shadow → verify → promote → retain` in dev and serves from the managed backend |
| Tests | Counts drift with every merge — read the latest `develop` run rather than a number pasted here. CI is green on `develop` (backend pytest, frontend, infra jest, load suite, scan) |
| Deployed | **dev and prod.** In dev: `migrationEnabled` on, everything else off. In prod: **every flag off**, so none of it can fire |
| Open PRs | **none** for this feature. Last merged: **#1027** born-managed (`f1e11bd3`, 2026-09-10), **#1019** upload-time byte cap, **#1018** doc-reconciler flag forwarding, **#1017** task-16.2 docs |
| Open PRs | **none** for this feature. Last merged: **#1059** mid-upload delete fix (`0d109b7c`), **#1057** chunk inspector (`415b13c8`), **#1056** this handoff's previous refresh (`07a1e636`), **#1027** born-managed (`f1e11bd3`), **#1019** upload-time byte cap, **#1018** doc-reconciler flag forwarding, **#1017** task-16.2 docs |
| Uncommitted | none |
| Exercised for real? | **Born-managed: as of 2026-09-14, being exercised in dev for the first time** (see the flag table). The chunk inspector is live in dev and needs no flag. The Upgrade path has completed a real migration in dev. |

**What is left is not build work.** It is (a) the three pre-promotion probes in
group 15, (b) turning flags on in prod, and (c) two deferred surfaces (14.4, 14.5).
Expand All @@ -69,11 +70,25 @@ See §6.
| Flag | development | production |
|---|---|---|
| `CDK_MANAGED_KB_MIGRATION_ENABLED` | `true` | `false` |
| `CDK_MANAGED_KB_NEW_DEFAULT` | `false` | `false` |
| `CDK_MANAGED_KB_NEW_DEFAULT` | **`true`** (armed 2026-09-14) | `false` |
| `CDK_MANAGED_KB_RECONCILER_ARMED` | `false` | `false` |
| `CDK_MANAGED_KB_DOC_RECONCILER_ARMED` | `false` | `false` |
| `CDK_MANAGED_KB_DOC_RECONCILER_ARMED` | unset (= off) | `false` |
| `CDK_TAG_ENVIRONMENT` | `dev` | `prod` |

⚠️ **`NEW_DEFAULT` was armed in dev on 2026-09-14 to exercise born-managed for the
first time.** Until then the feature had been merged, deployed and never once
executed — every test was a unit test against fakes, which cannot tell you that AWS
accepts the `CreateKnowledgeBase` call or that a work key the trigger writes is one the
dispatcher's index actually returns. In dev, therefore, **both rungs 2 and 3 of the
ladder are live at once**; keep that in mind when reading logs, because an agent can
reach the managed backend by either path.

Setting the GitHub variable alone changes nothing: it is read by `platform.yml` and
threaded through CDK, so it takes effect only on the next Platform Stack deploy — which
is what publishes both the dispatcher's schedule state and the app-api task
environment. Flipping the variable without deploying looks exactly like the feature
being broken.

`CDK_MANAGED_KB_DOC_RECONCILER_ARMED` is the fourth flag, added by task 16.5. It was
settable only by hand-editing `cdk.context.json` until PR #1018 added the missing
`platform.yml` line — the wiring existed end to end *except* for forwarding the
Expand Down Expand Up @@ -1020,22 +1035,31 @@ answer than legacy** on a question it retrieves *better*. Both are open.

### Do these first

The build is done. What remains is proving it against prod's constraints and then
turning flags on. In order:
The build is done. What remains is proving it against real AWS and then turning flags
on in prod. In order:

| | |
|---|---|
| **1. Task 15.1 — the live SDK probe** | The only item that can invalidate the whole feature in prod. The *static* half passes (`boto3==1.43.68` carries `MANAGED`, the embedding members, `FLOAT32`, all four document ops, with no `AWS_DATA_PATH`), and a real create → ingest → retrieve → promote has succeeded in dev. What is missing is doing it deliberately, with the checked-in environment and **no** side-loaded service model, and recording the result. If this fails, managed knowledge bases do not work in prod at all |
| **2. Flip `CDK_MANAGED_KB_NEW_DEFAULT` in prod** | Ladder step 2. New agents are born managed on their first document; not one existing knowledge base is touched. Lowest-blast-radius rung: each agent is independent, so a problem affects that agent and no other. Deploy first, confirm the deploy, *then* set the variable — never both in one motion |
| **3. Task 15.2 — the ingestion-concurrency probe** | Gates ladder step 3 (`MIGRATION_ENABLED`), **not** step 2. The quota page lists no account-level ingestion-concurrency limit, which is not evidence there is none. Do not size a wide fleet migration before this is answered |
| **4. Task 14.5 — the admin surface** | Also gates step 3 rather than step 2. The moment existing knowledge bases start migrating you have a mixed fleet and no view of who is on which engine — and "how many are affected?" is the first question anyone asks when something goes wrong |
| **5. Task 15.3 — full matrix in the dev container** | Housekeeping; CI already covers most of it |

⚠️ **Before flipping anything, re-read §5.41.** Managed is *worse* than legacy for
| **1. Observe born-managed actually running in dev** | ⏳ IN PROGRESS — `NEW_DEFAULT` was armed in dev on 2026-09-14. Create an agent, upload one document, and watch the whole chain: the `DOC#` row reads `provisioning`, the dispatcher picks the `born_managed` work key up, `provision_managed_kb` succeeds against real Bedrock, the worker hands the document to ingestion, it reaches `complete`, and the agent answers from it. **The first document will sit on "Provisioning knowledge base…" for up to 15 minutes** before anything starts — that is the known dispatcher-interval latency, not a hang, and it is the thing most likely to be misread as a failure |
| **2. Task 15.1 — the live SDK probe** | Largely SATISFIED BY step 1, which is why step 1 comes first. 15.1 asks for a real create → ingest → retrieve with the checked-in environment and **no** side-loaded service model, and born-managed's happy path is exactly that. Record the result against 15.1 rather than running a separate probe. If it fails, managed knowledge bases do not work in prod at all — which is why nothing below matters until it passes |
| **3. Flip `CDK_MANAGED_KB_NEW_DEFAULT` in prod** | Ladder rung 2. New agents are born managed on their first document; not one existing knowledge base is touched. Lowest blast radius: each agent is independent. Deploy first, confirm the deploy, *then* set the variable — never both in one motion |
| **4. Task 15.2 — the ingestion-concurrency probe** | Gates rung 3 (`MIGRATION_ENABLED`), **not** rung 2. The quota page lists no account-level ingestion-concurrency limit, which is not evidence there is none. Do not size a wide fleet migration before this is answered |
| **5. Task 14.5 — the admin surface** | Also gates rung 3. The moment existing knowledge bases start migrating you have a mixed fleet and no view of who is on which engine — and "how many are affected?" is the first question anyone asks when something goes wrong |
| **6. Task 15.3 — full matrix in the dev container** | Housekeeping; CI already covers most of it |

⚠️ **Before flipping anything in prod, re-read §5.41.** Managed is *worse* than legacy for
column-structured diagrams and two-dimensional tables: legacy returned nothing,
managed returns a confident wrong answer. Born-managed makes managed the default for
every new agent, so that trade stops being opt-in. The agreed mitigation is guidance,
not code — and the `kb-chunk-inspector` spec is the tooling half of that guidance.
not code — and the chunk inspector (now live in dev) is the tooling half of it.

### Known open defects, none blocking the above

| | |
|---|---|
| **Ingestion does not check for a deleted document** | Neither the managed consumer nor the legacy handler checks whether a `DOC#` row is `deleting` before ingesting. If an S3 object lands *after* a delete, the document is indexed and its status overwritten to `complete` — so deleted content becomes answerable again and its vectors are orphaned in the knowledge base past the cleanup that already ran. **Retrieval is not the hole**: `_filter_vectors_by_document_status` serves only `complete` and fails closed, so a `deleting` row is already invisible to queries. The bug is that ingestion *promotes the row back* to a state the filter accepts. Not reachable from a single-tab device upload (the delete control only appears after the S3 PUT resolves) but plainly reachable from a connector import or a web crawl, where rows appear with delete controls while staging is still in flight, and from a page refresh mid-upload |
| **Cancelling a large upload may be impossible** | The delete control appears only once the row joins the document list, which is after the S3 PUT resolves. So there may be no way to abandon a wrong or oversized file mid-flight. Unconfirmed; worth a look |
| **Chunking strategy is not configurable** | Managed KBs accept `DEFAULT` / `FIXED_SIZE` / `NONE` via `vectorIngestionConfiguration` (semantic is refused, hierarchical is not offered), and it is **immutable after the data source is created**. We send no configuration, so every KB gets the default 300 tokens / 20% overlap — which is why a single image's generated description is split across chunks, the second half orphaned from its subject. A per-agent selector at creation time is the natural shape, since creation is the only moment it can be chosen. Deferred by decision, not forgotten |

### Open, in rough order

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# Born-managed: provision-then-ingest on first upload

**Status:** Draft (supersedes the enroll-reuse design in `new-default-wiring.md`) ·
**Part of:** `managed-kb-migration` (rollout ladder step 2) ·
**Supersedes the approach in:** PR #1027 (keeps its flag reader + infra wiring)
**Status:** **BUILT AND MERGED** ([PR #1027](https://github.com/Boise-State-Development/agentcore-public-stack/pull/1027), `f1e11bd3`, 2026-09-10).
Tasks 1–7 complete; task 8 is a turn-on gate, not build work.
**Armed in dev 2026-09-14** — until that date the feature had never executed, in any
environment. Still dark in production. ·
**Part of:** `managed-kb-migration` (rollout ladder rung 2) ·
**Supersedes the approach in:** `new-default-wiring.md` (kept, banner-marked, for the
record of why)

## Decision

Expand Down
Loading