Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
464 commits
Select commit Hold shift + click to select a range
6a57a1e
fix(webapp): ask-ai hover is a pale brand-green tint
kathiekiwi Aug 3, 2026
0924f77
fix(webapp): markdown table headers and borders follow the theme
kathiekiwi Aug 3, 2026
c5fd259
fix(webapp): the composer placeholder goes quiet while the watch card…
kathiekiwi Aug 3, 2026
f1503f8
fix(webapp): hero prompt buttons drop a size — less width jumping und…
kathiekiwi Aug 3, 2026
5c16d19
fix(webapp): stage the per-queue Redis depth; stop seeders full-reloa…
kathiekiwi Aug 3, 2026
ae0ebe3
feat(webapp): showcase chat — one morning with every card type
kathiekiwi Aug 3, 2026
c9abfad
fix(webapp): ask-ai hover lifts grey on dark themes, pale green stays…
kathiekiwi Aug 3, 2026
263183b
fix(webapp): queue watch recommendation must be a future condition; e…
kathiekiwi Aug 3, 2026
833e370
fix(dashboard-agent): wake self-heals a missing chat session
kathiekiwi Aug 4, 2026
8c897ad
fix(dashboard-agent): wake narration appends to the transcript instea…
kathiekiwi Aug 4, 2026
39eb60a
fix(webapp): blank-state watch card matches the hero composer width
kathiekiwi Aug 4, 2026
1ebf9de
fix(webapp): schedule_watch proposes a watch instead of creating one
kathiekiwi Aug 4, 2026
124b911
docs(webapp): watches create endpoint is kept for MCP, card owns dash…
kathiekiwi Aug 4, 2026
ce3da49
fix(webapp): blank-state polish (TRI-12870)
kathiekiwi Aug 4, 2026
5458cff
fix(webapp): composer send/stop back to items-end, 28px buttons
kathiekiwi Aug 4, 2026
607734a
fix(webapp): watch confirmation must not leak into a later-mounted chat
kathiekiwi Aug 4, 2026
a3faea8
fix(webapp,dashboard-agent): wake quotes the right note and links its…
kathiekiwi Aug 4, 2026
8e71546
fix(webapp): wake toast and unread dot show with the panel open too
kathiekiwi Aug 4, 2026
4802e81
fix(webapp): the unread dot skips the chat that's on screen
kathiekiwi Aug 4, 2026
a8ed165
fix(webapp): Investigate button wears the chat's magnifier; queue pag…
kathiekiwi Aug 4, 2026
e69e13e
fix(webapp): queue page button order Period-Investigate-Watch-Overrid…
kathiekiwi Aug 4, 2026
a9fe736
fix(webapp): Watch button tooltip defaults to the recommendation's note
kathiekiwi Aug 4, 2026
a65c460
fix(webapp): Watch tooltip in the Investigate form — 'Get notified wh…
kathiekiwi Aug 4, 2026
4e392c3
fix(dashboard-agent): prompt pins TRQL columns to snake_case for char…
kathiekiwi Aug 4, 2026
767b754
fix(dashboard-agent): the runs time column is triggered_at — correct …
kathiekiwi Aug 4, 2026
1417064
fix(webapp): settle investigation cards left in progress between turns
kathiekiwi Aug 4, 2026
52cb895
chore(webapp): drop unused import flagged by lint
kathiekiwi Aug 4, 2026
7a70045
feat(dashboard-agent): validate chart queries when render_view runs
kathiekiwi Aug 4, 2026
c858b25
fix(webapp): trigger:// links in prose resolve to dashboard paths
kathiekiwi Aug 4, 2026
f20eef3
feat(dashboard-agent): the agent offers a watch when its answer point…
kathiekiwi Aug 4, 2026
f22310a
fix(dashboard-agent): the watch offer is mandatory when the answer's …
kathiekiwi Aug 4, 2026
2030c33
fix(webapp): agent badges keep their tone colour on system themes
kathiekiwi Aug 4, 2026
97a8e16
feat(dashboard-agent): the watch offer becomes a button
kathiekiwi Aug 4, 2026
39e9ed3
fix(webapp): the agent callout (wake toast) dresses like the Ask Trig…
kathiekiwi Aug 4, 2026
f928fb0
feat(webapp): agent status for the standard toast; wake toast uses it
kathiekiwi Aug 4, 2026
0a05d3a
chore(webapp): storybook button to fire the agent toast
kathiekiwi Aug 4, 2026
d5ec3d4
chore(webapp): drop the unused agent callout variant; fix a renamed g…
kathiekiwi Aug 4, 2026
6172c7f
fix(webapp): storybook toast page double-mounted a second Toaster
kathiekiwi Aug 4, 2026
e19049b
fix(webapp): Toaster inherits the app theme
kathiekiwi Aug 4, 2026
12cdc67
fix(webapp): closing the agent panel drops fullscreen — reopen is alw…
kathiekiwi Aug 4, 2026
6c8e5ef
fix(webapp): watch card confirms with one Watch button, no Done colla…
kathiekiwi Aug 4, 2026
0c39e7a
fix(webapp): run inspector Watch button goes primary, matching Invest…
kathiekiwi Aug 4, 2026
4aa9abc
fix(webapp): wake toasts fire on delivery, not unread state; agent to…
kathiekiwi Aug 4, 2026
93c4a02
feat(webapp): a consented watch investigation conducts itself
kathiekiwi Aug 4, 2026
d5d821d
fix(webapp): chat access is organization-scoped everywhere
kathiekiwi Aug 4, 2026
6650b94
fix(webapp): switching organizations resets the open panel
kathiekiwi Aug 4, 2026
555b77e
refactor(webapp): split the agent gallery into pages and prune its st…
kathiekiwi Aug 4, 2026
17758f7
chore(webapp): drop the section-id label from gallery tiles
kathiekiwi Aug 4, 2026
70559be
fix(webapp): attribute env-authed API calls to the acting user (TRI-1…
kathiekiwi Aug 4, 2026
b9033f3
fix(webapp): the wake-toast dedupe survives reloads
kathiekiwi Aug 4, 2026
2e01a49
fix(webapp): primary popover trigger keeps white ink on the light theme
kathiekiwi Aug 4, 2026
3ed1c1f
fix(webapp): name the tenant on the dashboard agent routes' failure p…
kathiekiwi Aug 4, 2026
cca0d53
chore(webapp): drop the seeder's --heartbeat stand mode
kathiekiwi Aug 4, 2026
7b16385
feat(webapp): a scenario kit for the Watch and Investigate flows
kathiekiwi Aug 4, 2026
331f80e
fix(webapp): watches container tests follow the org-scoped chat queri…
kathiekiwi Aug 4, 2026
2b5a705
fix(webapp): the tick re-authorization user read moves off the replica
kathiekiwi Aug 4, 2026
e740c16
fix(webapp): give the remix build the same heap headroom as typecheck
kathiekiwi Aug 4, 2026
ef65f46
chore: one release note for the dashboard agent, one short changeset
kathiekiwi Aug 5, 2026
75aba7f
feat(webapp): the scenario kit runs against any local project and env…
kathiekiwi Aug 5, 2026
95fa1b6
chore(webapp): drop the agent-examples review seeder
kathiekiwi Aug 5, 2026
814b527
docs(dashboard-agent): one guidebook replaces the playbook and scenarios
kathiekiwi Aug 5, 2026
1bc6a01
perf(webapp): the wake feed reads a tenant-scoped partial index
kathiekiwi Aug 5, 2026
0045062
perf(webapp): the wake poll sleeps in hidden tabs and no longer runs …
kathiekiwi Aug 5, 2026
0b66440
perf(webapp): a finished report is reusable for 90s
kathiekiwi Aug 5, 2026
4606b94
feat(webapp): the watch sweep retires watches that ended a week ago
kathiekiwi Aug 5, 2026
37e4c23
fix(webapp): the chat name is on the row before the turn settles
kathiekiwi Aug 5, 2026
d3d33a6
chore: oxfmt the generated drizzle snapshot and the presenter test im…
kathiekiwi Aug 5, 2026
ac1fdfd
chore(dashboard-agent): say why the title gate is the transcript length
kathiekiwi Aug 5, 2026
4dedd60
chore: drop the working notes and the stray diff from the repo root
kathiekiwi Aug 5, 2026
cbeee67
feat(dashboard-agent): a batch chain registry, one per environment an…
kathiekiwi Aug 5, 2026
e16320b
feat(dashboard-agent): one tick run per environment and cadence, not …
kathiekiwi Aug 5, 2026
5d90eb1
feat(webapp): the batch check answers a whole environment's watches a…
kathiekiwi Aug 5, 2026
3993381
test(dashboard-agent): the batch tick isolates, bounds, and never dou…
kathiekiwi Aug 5, 2026
93c5344
test(webapp): the batch check shares one authorization and one report…
kathiekiwi Aug 5, 2026
1989336
fix(dashboard-agent): a dead chain is re-armed on its own cadence, an…
kathiekiwi Aug 5, 2026
a4cd475
chore(webapp): drop the unused stale-window import from the watch sweep
kathiekiwi Aug 5, 2026
f428759
chore(dashboard-agent): drop the M0 verdicts file, inline its reasons…
kathiekiwi Aug 5, 2026
8349bf4
chore(webapp): shorten the agent logo, spinner and scenario-kit comments
kathiekiwi Aug 5, 2026
27a9263
chore(webapp): tighten the chat-prose theme comments
kathiekiwi Aug 5, 2026
16682d5
chore(webapp): the page-context comments say only what the handle doe…
kathiekiwi Aug 5, 2026
5247a00
chore(dashboard-agent-db): shorten the query-layer and schema comments
kathiekiwi Aug 5, 2026
398e8c5
chore(dashboard-agent): shorten the watch-tick comments to their inva…
kathiekiwi Aug 5, 2026
0357d79
chore(dashboard-agent-contracts): cut the wire-contract comments to t…
kathiekiwi Aug 5, 2026
d1fff9c
chore(webapp): shorten the agent panel and view comments
kathiekiwi Aug 5, 2026
6ac4214
chore(webapp): shorten the suggested-prompt and demo-fixture comments
kathiekiwi Aug 5, 2026
a5dd3f1
chore(webapp): shorten the report, waiting-run and agent route comments
kathiekiwi Aug 5, 2026
c331843
chore(webapp): shorten the watch service and test comments
kathiekiwi Aug 5, 2026
d70bcfc
chore(dashboard-agent): shorten the agent and tool-layer comments
kathiekiwi Aug 5, 2026
0468776
chore: oxfmt the blank lines left by the removed comments
kathiekiwi Aug 5, 2026
a303cb0
refactor(webapp): one presenter for all watch and view-block wording
kathiekiwi Aug 5, 2026
1af895b
fix(dashboard-agent): keep a failed turn in the conversation
kathiekiwi Aug 5, 2026
5aef047
fix(webapp): cap the query API's scope at the credential's environment
kathiekiwi Aug 5, 2026
547ec71
feat(webapp): declare the report layout once, shared by the card and …
kathiekiwi Aug 5, 2026
f6865d5
feat(webapp): render the markdown and ANSI report from the shared layout
kathiekiwi Aug 5, 2026
880d94a
feat(webapp): build the report card from the shared layout
kathiekiwi Aug 5, 2026
78aea57
test(webapp): assert the card and the text report stay one report
kathiekiwi Aug 5, 2026
b062490
chore: add a server-changes note for the report layout parity
kathiekiwi Aug 5, 2026
f3237de
chore(webapp): drop the unused demo report card
kathiekiwi Aug 5, 2026
17e11c7
chore(webapp): cut the chat-layout header and stop the test asserting…
kathiekiwi Aug 5, 2026
bd6835f
chore(webapp): drop the page-context notes from the route files
kathiekiwi Aug 5, 2026
cb70b83
chore(webapp): drop the prose from the chat markdown css rules
kathiekiwi Aug 5, 2026
0d415c0
chore(webapp): strip the step narration from the agent and report tests
kathiekiwi Aug 5, 2026
93bc6c1
chore(webapp): clear the demo fixture and storybook commentary
kathiekiwi Aug 5, 2026
0739337
chore: cut the report, waiting-run and package comments to their facts
kathiekiwi Aug 5, 2026
a4f8ed1
chore(webapp): trim the seed-script narration
kathiekiwi Aug 5, 2026
e6ec1d2
chore(webapp): delete the agent panel and view rationale comments
kathiekiwi Aug 5, 2026
9b7ca8c
chore: bring the last three-line comments down to two
kathiekiwi Aug 5, 2026
5153cca
chore: restore the comments an off-by-one over-trimmed
kathiekiwi Aug 5, 2026
42749c9
chore(dashboard-agent): cut the agent, tool and watch-tick comments t…
kathiekiwi Aug 5, 2026
9270caf
chore(webapp): cut the watch service and route comments to their inva…
kathiekiwi Aug 5, 2026
f9eb9c0
chore(dashboard-agent-db,contracts): cut the query and wire-contract …
kathiekiwi Aug 5, 2026
8d3676a
chore: oxfmt the lines the removed comments let collapse
kathiekiwi Aug 5, 2026
5800e89
chore: drop the unrendered demo cards and fold the release notes back…
kathiekiwi Aug 5, 2026
3773f31
fix(webapp): route the report's stale-data badge through AgentBadge
kathiekiwi Aug 5, 2026
fd83288
fix(webapp): drop the metric sparkline to its own line on a narrow panel
kathiekiwi Aug 5, 2026
9b32bfd
fix(webapp): let agent chips follow the interface-contrast control
kathiekiwi Aug 5, 2026
5a80876
fix(webapp): ring the unread dot against the navbar surface
kathiekiwi Aug 5, 2026
3f85acc
fix(webapp): give the diagnosis card links a focus ring via a TextLin…
kathiekiwi Aug 5, 2026
0760f1b
refactor(webapp): give the agent cards one card primitive
kathiekiwi Aug 5, 2026
a7a29f3
chore: add a server-changes note for the report card fixes
kathiekiwi Aug 5, 2026
d4f0357
chore(webapp): move the gallery's transcripts into the storybook fixt…
kathiekiwi Aug 5, 2026
6a6fa1f
chore: keep the release notes as one
kathiekiwi Aug 5, 2026
02debc6
perf(dashboard-agent): sample a tenth of turns for the judge by default
kathiekiwi Aug 5, 2026
dd1f309
perf(dashboard-agent): cap the judge's tool payload and stop pretty-p…
kathiekiwi Aug 5, 2026
7850289
perf(dashboard-agent): stop echoing the panel's view model back to th…
kathiekiwi Aug 5, 2026
e8d35fa
perf(dashboard-agent): cap read_file at 48KB / 1500 lines
kathiekiwi Aug 5, 2026
893b9e8
chore(dashboard-agent): oxfmt
kathiekiwi Aug 5, 2026
9b4e473
perf(dashboard-agent): share one 1h-TTL prompt cache between head sta…
kathiekiwi Aug 5, 2026
fc4381d
fix(webapp): keep the agent wake poll to one chain per tab
kathiekiwi Aug 5, 2026
e109a24
fix(webapp): read the alert channel and the watch target on the primary
kathiekiwi Aug 5, 2026
d26a28b
perf(webapp): only poll the wake feed for a browser that knows a watc…
kathiekiwi Aug 5, 2026
1dd8536
perf(webapp): answer the wake poll with one narrow read per database
kathiekiwi Aug 5, 2026
8b042be
perf(webapp): skip the admin read on the watch authorization path
kathiekiwi Aug 5, 2026
be1cb04
perf(dashboard-agent-db): index the open investigations the sweep scans
kathiekiwi Aug 5, 2026
cafd920
chore: keep the release notes as one
kathiekiwi Aug 5, 2026
a88228c
chore(webapp): move the agent storybook gallery out to a follow-up
kathiekiwi Aug 5, 2026
b6ebe55
fix(dashboard-agent): escape the prefix separator so the file reviews…
kathiekiwi Aug 5, 2026
5b5a258
fix(webapp): scope a delegated user-actor token to the environment it…
kathiekiwi Aug 5, 2026
d6debe8
test(webapp): cover the user-actor token's environment scope on every…
kathiekiwi Aug 5, 2026
30ec754
refactor(dashboard-agent-db): move the watch queries into their own m…
kathiekiwi Aug 5, 2026
2ed5d52
refactor(dashboard-agent-db): move the watch tables into their own sc…
kathiekiwi Aug 5, 2026
46290d1
refactor(dashboard-agent): move the watch wake and investigate lanes …
kathiekiwi Aug 5, 2026
18dffa6
refactor(dashboard-agent): give the watch tests their own file
kathiekiwi Aug 5, 2026
a0d06e4
fix(webapp): send the agent wake signal to a browser that has never o…
kathiekiwi Aug 5, 2026
ebad471
fix(webapp): cap the size of a message to the agent
kathiekiwi Aug 5, 2026
c3ee6a4
perf(webapp): resolve the agent card's links in one request
kathiekiwi Aug 5, 2026
08dc7ba
fix(webapp): keep the watch card in step with its draft, and frozen w…
kathiekiwi Aug 5, 2026
7f13add
feat(webapp): retire judged-turn rows after 30 days
kathiekiwi Aug 5, 2026
42ddcff
feat(dashboard-agent): keep customer data out of the judged-turn row …
kathiekiwi Aug 6, 2026
3c5b2d5
feat(dashboard-agent): never judge a turn that read source
kathiekiwi Aug 6, 2026
a4b4ef1
feat(webapp): let an organization turn off judging of its agent turns
kathiekiwi Aug 6, 2026
263b324
feat(dashboard-agent): give the golden runs their own eval sample rate
kathiekiwi Aug 6, 2026
99b8933
docs(dashboard-agent): make the eval docs match the code
kathiekiwi Aug 6, 2026
29d9a8e
chore: note the conversation scoring in the release note
kathiekiwi Aug 6, 2026
31698fa
refactor(dashboard-agent): split the tool set into one module per res…
kathiekiwi Aug 5, 2026
fea1a29
refactor(dashboard-agent): split the watch tick into delivery, condit…
kathiekiwi Aug 6, 2026
4876e07
refactor(webapp): give each watch condition family its own module
kathiekiwi Aug 6, 2026
fc32fc6
refactor(webapp): split the suggested-prompt registry by responsibility
kathiekiwi Aug 6, 2026
f963614
chore(webapp): restore the dashboard agent's flag gate
kathiekiwi Aug 6, 2026
99850ac
feat(dashboard-agent): summarise an oversized conversation, keeping l…
kathiekiwi Aug 6, 2026
1d083f3
test(dashboard-agent): budget the real prompt prefix with ceilings an…
kathiekiwi Aug 6, 2026
42a76fb
perf(dashboard-agent): say a settled watch outcome without a model, a…
kathiekiwi Aug 6, 2026
0c41a70
perf(dashboard-agent): cap search_docs to a few short excerpts
kathiekiwi Aug 6, 2026
6c993f2
chore: note the summarised long conversations in the release note
kathiekiwi Aug 6, 2026
ddc6d25
fix(dashboard-agent): describe a value at the redaction depth cap ins…
kathiekiwi Aug 6, 2026
4e39228
fix(dashboard-agent): pin only a live investigation into a compacted …
kathiekiwi Aug 6, 2026
a3be7bd
fix(dashboard-agent): cap the output of the summariser and the wake n…
kathiekiwi Aug 6, 2026
e599f12
fix(dashboard-agent): rotate an over-cap watch group instead of starv…
kathiekiwi Aug 6, 2026
d719c9b
fix(webapp): start the wake poll for a browser that has only an activ…
kathiekiwi Aug 6, 2026
28b1f38
fix(webapp): cap the agent's request body while it streams, not after
kathiekiwi Aug 6, 2026
49a9538
fix(webapp): record a watch request before the watch starts, and repa…
kathiekiwi Aug 6, 2026
cbc2edc
test(webapp): pin the watch submit's ordering, its retry repair and i…
kathiekiwi Aug 6, 2026
4ff8859
fix(webapp): keep the agent's alert delete to channels the watch type…
kathiekiwi Aug 6, 2026
50fd10b
fix(webapp): replay a watch submission's recorded outcome instead of …
kathiekiwi Aug 6, 2026
1cdf1f0
refactor(webapp): split the dashboard agent's maintenance cron along …
kathiekiwi Aug 6, 2026
62b598d
docs(webapp): say which layer refuses an oversized agent body
kathiekiwi Aug 6, 2026
85b98ab
fix(webapp): mint the agent's token for the caller's own environment,…
kathiekiwi Aug 6, 2026
f5a146b
fix(webapp): cap the agent's body on any method and on a mixed-case path
kathiekiwi Aug 6, 2026
880bf60
test(tsql): pin that no mutating query can pass the query boundary
kathiekiwi Aug 6, 2026
9d45284
fix(webapp): keep the agent token's environment claim on the actor th…
kathiekiwi Aug 6, 2026
d51cb9a
fix(webapp): stop the OSS fallback handing a delegated token blanket …
kathiekiwi Aug 6, 2026
f58a9dc
fix(webapp): only let the browser set the agent's page context
kathiekiwi Aug 6, 2026
d12e6a8
style(webapp): merge duplicate imports on the user-actor auth path
kathiekiwi Aug 6, 2026
d2511bd
fix(webapp): hand the sweep's final check the previous facts
kathiekiwi Aug 6, 2026
e485209
perf(webapp): resolve the sweep's authorization and readers once per …
kathiekiwi Aug 6, 2026
bd2559a
fix(webapp): record only a real evaluation from a batch tick
kathiekiwi Aug 6, 2026
4846cf8
fix(dashboard-agent): finish a wake in the transcript, or don't count it
kathiekiwi Aug 6, 2026
012ce0d
test(webapp): drop an unsafe optional chain from the sweep boundary test
kathiekiwi Aug 6, 2026
5f2f5fe
fix(webapp): scope the watch submission ledger and its alerts to one …
kathiekiwi Aug 6, 2026
5176e3e
test(webapp): pin the watch ledger's tenancy, the once-only alert and…
kathiekiwi Aug 6, 2026
a63708c
test(webapp): assert the derived chat id before the submit outcome
kathiekiwi Aug 6, 2026
a0640ba
style(webapp): format the watch tenancy changes
kathiekiwi Aug 6, 2026
dd90b6e
fix(webapp): never render an image the agent's model authored
kathiekiwi Aug 6, 2026
94ec67f
perf(webapp): keep the agent transcript's investigation winners stable
kathiekiwi Aug 6, 2026
1aee9ca
fix(webapp): send the eval judge only the turn's structural facts
kathiekiwi Aug 6, 2026
488621e
perf(webapp): cache the agent's accumulated tool results between steps
kathiekiwi Aug 6, 2026
32553b9
style(webapp): format the agent markdown test
kathiekiwi Aug 6, 2026
d9ff853
style(webapp): format the agent eval and step-cache tests
kathiekiwi Aug 6, 2026
82f4a73
style(webapp): drop a needless escape in the image regex
kathiekiwi Aug 6, 2026
933aeb9
test(webapp): stub the agent proxy's environment lookup, not a Prisma…
kathiekiwi Aug 6, 2026
05b3472
Merge branch 'main' into feat/dashboard-agent-flows
kathiekiwi Aug 6, 2026
d73f3f5
chore: ignore the agent worktrees directory
kathiekiwi Aug 6, 2026
48d0d4a
fix(webapp): drop the img-src wildcard host for a validated origin al…
kathiekiwi Aug 6, 2026
cd112ba
test(webapp): assert the document img-src has no wildcard host
kathiekiwi Aug 6, 2026
5adba81
docs: document CSP_IMG_SRC_ALLOWLIST for self-hosted image hosts
kathiekiwi Aug 6, 2026
fb99526
feat(dashboard-agent): tell the eval judge a failure's kind without i…
kathiekiwi Aug 6, 2026
9daa8f9
docs(dashboard-agent): tell the judge the error category is derived, …
kathiekiwi Aug 6, 2026
09d1b55
fix(webapp): require the watch card's request id instead of falling b…
kathiekiwi Aug 6, 2026
22bf6d9
fix(webapp): cancel the watch a losing submit's winner does not name
kathiekiwi Aug 6, 2026
210863e
fix(webapp): separate a watch's last look from its last check in the …
kathiekiwi Aug 6, 2026
240799d
chore(dashboard-agent): drop the comments the code already says
kathiekiwi Aug 6, 2026
478b30c
chore(dashboard-agent): drop the test comments the assertions already…
kathiekiwi Aug 6, 2026
4e00b79
style(webapp): format the sweep's authorization helper
kathiekiwi Aug 6, 2026
d00b126
fix(webapp): bind a delegated token's environment claim on the projec…
kathiekiwi Aug 6, 2026
a7fc406
fix(webapp): keep a delegated token's claims on the authenticated ide…
kathiekiwi Aug 6, 2026
f700174
fix(webapp): ceiling an exchanged environment JWT by what the delegat…
kathiekiwi Aug 6, 2026
3336a47
test(webapp): give the container-backed user-actor scope tests their …
kathiekiwi Aug 6, 2026
7a645e5
chore(webapp): drop the comments the code already says
kathiekiwi Aug 6, 2026
79482de
chore(webapp): drop the comments the tests already say
kathiekiwi Aug 6, 2026
d646809
chore(rbac): keep the delegated-token invariant, drop the essay
kathiekiwi Aug 6, 2026
c4d3f58
fix(webapp): replay a watch submission's recorded email outcome inste…
kathiekiwi Aug 6, 2026
49e8fb5
fix(webapp): tell a watch's creator about their own email alerts, not…
kathiekiwi Aug 6, 2026
7b2f9c6
chore(dashboard-agent-db): drop the submission's external-notificatio…
kathiekiwi Aug 6, 2026
f7b8374
fix(webapp): put a turn's settled investigation card in the transcript
kathiekiwi Aug 6, 2026
26f93da
fix(webapp): have the stale-investigation sweep close the card it set…
kathiekiwi Aug 6, 2026
07b83da
docs: note the agent's closed investigations, watch email honesty and…
kathiekiwi Aug 6, 2026
60a9584
test(webapp): fail if a route sets an over-broad image CSP
kathiekiwi Aug 6, 2026
e62d8c6
style(webapp): format the route image CSP audit
kathiekiwi Aug 6, 2026
1759618
fix(webapp): keep the project-wide answer for an environment-agnostic…
kathiekiwi Aug 6, 2026
657f11d
docs(webapp): say which UAT flow the project-wide answer is preserved…
kathiekiwi Aug 6, 2026
29de34f
style(webapp): drop the imports the merge left unused
kathiekiwi Aug 6, 2026
5bf3612
fix(webapp): settle an investigation and its closing card in one write
kathiekiwi Aug 6, 2026
37c56aa
test(webapp): pin the settlement failure window and the open panel
kathiekiwi Aug 6, 2026
44b4e57
docs: say the investigation card closes while the panel is open
kathiekiwi Aug 6, 2026
49a1504
docs: cut the release note back to what a user notices
kathiekiwi Aug 6, 2026
2e23a09
fix(webapp): keep the other Anthropic options when the step breakpoin…
kathiekiwi Aug 6, 2026
f6f753c
fix(webapp): merge the transcript under the row lock instead of repla…
kathiekiwi Aug 6, 2026
afc0cfa
fix(webapp): close a consented watch investigation's card atomically
kathiekiwi Aug 6, 2026
d52c224
fix(dashboard-agent): merge the step breakpoint into the message's an…
kathiekiwi Aug 6, 2026
abaeebb
fix(webapp): make a repeated watch card close leave the revision alone
kathiekiwi Aug 6, 2026
c3f4ba8
refactor(webapp): drop the unused settleOpenInvestigations
kathiekiwi Aug 6, 2026
7ab35df
fix(webapp): merge the turn's cache breakpoint into the last message'…
kathiekiwi Aug 6, 2026
020dad2
refactor(webapp): store the dashboard agent's transcript one row per …
kathiekiwi Aug 6, 2026
81e8349
refactor(webapp): drop the dashboard agent's JSONB transcript column
kathiekiwi Aug 6, 2026
398a298
test(webapp): cover the batch position allocator with concurrent turns
kathiekiwi Aug 6, 2026
aad8498
fix(webapp): converge the watch transcript when a retried delivery fi…
kathiekiwi Aug 6, 2026
d8fda07
fix(webapp): stop an ordinary transcript write from rewriting a store…
kathiekiwi Aug 6, 2026
f159c69
test(webapp): guard against a raw-SQL reference to the dropped chats.…
kathiekiwi Aug 6, 2026
ceaa38d
fix(webapp): scope the watch transcript's appends to the caller's org…
kathiekiwi Aug 6, 2026
3d3c962
fix(webapp): keep a malformed message's own text out of the error, an…
kathiekiwi Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .changeset/report-json-and-period-units.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@trigger.dev/core": patch
"trigger.dev": patch
---

Reports can be fetched as structured data with the `json` format. The shortest report period is now one minute (`30m`, `1h`, `7d`).
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,5 @@ ailogger-output.log

# observability-map CLI output artifact, not committed
observability-map.json

.claude/worktrees/
16 changes: 16 additions & 0 deletions .server-changes/dashboard-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
area: webapp
type: feature
---

Meet the dashboard agent: a chat in every environment that answers questions about your runs, queues, errors and health with real data and links. It takes over from Ask AI everywhere that used to appear; on the Free plan you get 20 messages.

**Investigate** on a failed run, an error, a backed-up queue or a run that hasn't started gets you a worked-through answer — what happened, why, and how to fix it, with every claim linked to the runs, errors and deploys behind it.

**Watch…** on a run, queue, error or the health report tells you when things change: a run finishes, a queue clears or grows past a number you pick, an error comes back, an environment recovers. The answer arrives in the chat and, if you want, by email, Slack or webhook — and the agent can look into bad news on its own. A watch reaches you on any browser you sign in from, without opening the chat first.

The health report reads the same everywhere — dashboard, terminal, editor. A very long chat keeps working: the agent summarises the earlier part and carries on. The agent's replies no longer show images.

A sample of conversations is scored automatically so the agent keeps getting better. Only the score and a one-line summary are kept, never your messages, data or code, and we can switch it off for your organization on request.

Separately: a queue's wait times, peak depth, throughput and throttling can now be read from the API, and the Docs button has been removed from page headers.
5 changes: 4 additions & 1 deletion apps/webapp/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ node_modules
/cypress/screenshots
/cypress/videos

# Output of `pnpm run agent-ui:screenshots`
/screenshots

/app/styles/tailwind.css

# Ensure the .env symlink is not removed by accident
Expand All @@ -20,4 +23,4 @@ storybook-static

/prisma/seed.js
/prisma/populate.js
.memory-snapshots
.memory-snapshots
Loading
Loading