Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1286 commits
Select commit Hold shift + click to select a range
07f0789
fix(review): close defects found by CodeRabbit and Copilot
ginccc Jul 30, 2026
d024a68
fix(ci,workforce): pull the EDDI image, honour ?template=, unblock pa…
ginccc Jul 30, 2026
d69f7c4
fix(review): close the two Copilot findings on this PR
ginccc Jul 30, 2026
4cac40b
Merge pull request #128 from labsai/fix/ci-workforce-followups
ginccc Jul 30, 2026
8e0d760
fix(review): close the second round of CodeRabbit findings
ginccc Jul 30, 2026
a841982
fix(wizard): clear the deep-linked template config on a manual pick
ginccc Jul 30, 2026
02e50b4
test(palette): cover the command palette navigation handlers
ginccc Jul 30, 2026
2841082
test(workforce): cover the analytics, threads and navigation-shell files
ginccc Jul 30, 2026
f2cc74b
Merge pull request #127 from labsai/fix/critical-review-hardening
ginccc Jul 30, 2026
efae9d6
feat(operator): build and verify the HITL approval gate (read-only)
ginccc Aug 1, 2026
16ae61f
feat(operator): the approval surface — resolve a pause inline in the …
ginccc Aug 1, 2026
aaa1415
fix(operator): verify per-tool rules too, and de-duplicate 3 locale l…
ginccc Aug 1, 2026
1368dc2
fix(operator): reconcile the resumed turn by identity, and handle a r…
ginccc Aug 1, 2026
e5f370a
feat(operator): derive the system prompt from the granted endpoint set
ginccc Aug 1, 2026
74bfebd
fix(operator): close a gate-verification gap and two resume-path defects
ginccc Aug 1, 2026
82d0d65
fix(operator): keep the pause placeholder in state, not a ref
ginccc Aug 2, 2026
423d098
feat(operator): populate WRITE_ENDPOINTS with the four curated writes
ginccc Aug 3, 2026
df5287b
feat(operator): the write canary — prove a real write pauses before g…
ginccc Aug 3, 2026
5e2ef08
feat(operator): let the admin actually choose read_write in the activ…
ginccc Aug 3, 2026
bf6748a
feat(operator): render the backend's resolved-request preview in the …
ginccc Aug 3, 2026
9270425
docs: catch up HANDOFF and AGENTS on the write-scope arc
ginccc Aug 3, 2026
4ae3ca4
feat(operator): let the operator author agent groups, and flag capabi…
ginccc Aug 3, 2026
e598615
fix(operator): two review findings on the write path
ginccc Aug 3, 2026
6310af9
fix(operator): four review findings on the activation and canary paths
ginccc Aug 3, 2026
cd64af7
docs(operator): record why an absent hitlPausedAt is not treated as a…
ginccc Aug 3, 2026
5cf55f0
docs(operator): drop a stale endpoint count from a test comment
ginccc Aug 3, 2026
8c12250
docs(operator): correct the AbortSignal.any rationale
ginccc Aug 3, 2026
edc54ca
fix(hitl): source pause reason and timeouts from approval-status
ginccc Aug 3, 2026
5ce02da
feat(hitl): let the approvals inbox decide TOOL_CALL pauses in place
ginccc Aug 3, 2026
1fab209
feat(operator): create and modify agents and groups, not just deploy …
ginccc Aug 3, 2026
38db381
fix(operator): close a self-ungating path, a dead canary, and two lie…
ginccc Aug 3, 2026
8a7ac00
feat(operator): complete the authoring cascade, and refuse a self-aim…
ginccc Aug 3, 2026
e5d2480
fix(operator): close four escalation-flag evasions, and a hole in gat…
ginccc Aug 3, 2026
df5cee4
fix(operator): the self-guard was inert for approvers, and missed a t…
ginccc Aug 3, 2026
d4eccf6
fix(operator): malformed hitlConfig JSON took down the approval surface
ginccc Aug 3, 2026
f2e2ad7
fix(operator): roll back a half-provisioned activation, and stop hidi…
ginccc Aug 4, 2026
32cfb3c
feat(operator): a context-aware side-chat drawer, in Manager and Work…
ginccc Aug 4, 2026
23d85fe
fix(operator): six defects from the final review, one of which broke …
ginccc Aug 4, 2026
2b867e6
feat(operator): show what a whole-document config write CHANGES
ginccc Aug 4, 2026
fd88632
feat(operator): keyboard-close the drawer, and say when a decision is…
ginccc Aug 4, 2026
acc56fe
fix(hitl): a failed pause-details read left Approve enabled, not blocked
ginccc Aug 5, 2026
394230e
Merge pull request #129 from labsai/feat/operator-write-scope
ginccc Aug 7, 2026
82e8786
feat(groups): close the gap EDDI's collaboration waves opened
ginccc Aug 8, 2026
e0442c6
fix(deps): dompurify 3.4.13 closes GHSA-55q2-fjhq-7xh7
ginccc Aug 8, 2026
1146d97
fix(groups): address the review — six findings, one of them app-wide
ginccc Aug 8, 2026
827022e
fix(schedules): the sixth copy of the hardcoded cost format
ginccc Aug 8, 2026
778730e
fix(groups): bound the total attachment payload, and a German product…
ginccc Aug 8, 2026
af29c16
fix(groups): second review pass — a fake type gate, and two more tran…
ginccc Aug 8, 2026
936d232
fix(groups): a staging race, and a budget rejection that dropped the …
ginccc Aug 8, 2026
1db7dd5
feat(groups): the rest of the collaboration roadmap — human members, …
ginccc Aug 8, 2026
af5500a
fix(groups): CI type check, plus the review findings
ginccc Aug 8, 2026
519025d
fix(groups): a nested-group seat that invented its own agent
ginccc Aug 9, 2026
5040805
fix(i18n): translate the Workforce settings page, which rendered in E…
ginccc Aug 9, 2026
e32ec08
chore(deps): bump dompurify to 3.4.13 for GHSA-55q2-fjhq-7xh7
ginccc Aug 9, 2026
22586b4
fix(i18n): say "task force", not the internal "board", in the delete …
ginccc Aug 9, 2026
699b210
feat(groups): make the advanced collaboration features reachable
ginccc Aug 9, 2026
2536080
fix: real i18n plurals, per-page titles, and two backend-contract gaps
ginccc Aug 9, 2026
e854337
Merge pull request #131 from labsai/fix/workforce-settings-i18n
aisabella-ai Aug 10, 2026
0e95ce6
Merge branch 'main' into feat/group-collaboration-wave-parity
ginccc Aug 10, 2026
a915d95
Merge pull request #130 from labsai/feat/group-collaboration-wave-parity
ginccc Aug 10, 2026
9b4fe2e
feat: opt-in check for a newer EDDI release, with update instructions
ginccc Aug 11, 2026
beb1fd7
feat: check Docker Hub alongside GitHub, and show release notes
ginccc Aug 11, 2026
ab9687b
fix: address code and UX review of the update checker
ginccc Aug 11, 2026
89a8807
feat(groups): honest collaboration-mode labels and full Manager/Workf…
ginccc Aug 11, 2026
cd3ce2f
refactor: drop the third party — derive the Docker tag instead of fet…
ginccc Aug 11, 2026
fc6f631
test: pin "nothing is sent without consent" as an app-level assertion
ginccc Aug 11, 2026
de03d0f
fix(groups): address review feedback on collaboration-mode parity
ginccc Aug 11, 2026
4f3ff1a
fix(rtl): stop the layout overflowing horizontally in RTL locales
ginccc Aug 11, 2026
b58114e
refactor: tighten the module surface after the third-party removal
ginccc Aug 11, 2026
c489058
test(rtl): tighten the overflow regression tests
ginccc Aug 11, 2026
0a06acd
docs: add Claude Code UI docs and extend design-sync to the app chrome
ginccc Aug 11, 2026
d71a128
refactor(operator): move the launcher from a floating FAB into both s…
ginccc Aug 11, 2026
1005678
feat(operator): write by default, editable LLM configs behind a gate …
ginccc Aug 11, 2026
335ed8e
test(groups): cover the NEGOTIATION style label
ginccc Aug 11, 2026
6cecd39
chore: bump manager to 6.3.0, and record the operator changes in the …
ginccc Aug 11, 2026
d41f6e3
fix: remove double page padding, and correct the sidebar-token measur…
ginccc Aug 11, 2026
ed52001
Merge pull request #135 from labsai/fix/rtl-horizontal-overflow
ginccc Aug 11, 2026
6aa367b
fix: address CodeRabbit review — close a real beacon hole in release …
ginccc Aug 11, 2026
b700afe
fix: error branches on every data-loading page, revive a dead token, …
ginccc Aug 11, 2026
047b314
fix(operator): enforce the gate read-back, and stop trusting an unpin…
ginccc Aug 11, 2026
e7304c9
fix(groups): correct the styles contract, role-fallback copy and task…
ginccc Aug 11, 2026
bb5b87f
Merge pull request #133 from labsai/feat/group-collab-parity
ginccc Aug 11, 2026
e1e75f0
Merge pull request #137 from labsai/feat/operator-write-by-default
ginccc Aug 11, 2026
ef8e576
Merge branch 'main' into docs/ui-handoff-and-design-sync
ginccc Aug 11, 2026
8669288
Merge pull request #134 from labsai/feat/eddi-update-check
ginccc Aug 11, 2026
6b11f10
fix: address CodeRabbit review — prerequisite error paths, testids, i…
ginccc Aug 11, 2026
f005c6a
Merge branch 'main' into docs/ui-handoff-and-design-sync
ginccc Aug 11, 2026
ccd0c1a
fix(design-sync): stub the operator drawer out of the bundle
ginccc Aug 11, 2026
30876a5
feat(design-sync): resync all 29 components, with real prop contracts
ginccc Aug 11, 2026
4cd1ed9
docs(design-sync): critical-review fixes — contract comment, add-a-co…
ginccc Aug 11, 2026
98aa709
fix: address Copilot + CodeRabbit review — background-refetch gating,…
ginccc Aug 11, 2026
fbc64fd
docs(eddi-screens): make the canonical error example follow its own g…
ginccc Aug 11, 2026
1f8126e
fix(updates): give the update check its own screen, and make it work …
ginccc Aug 11, 2026
2903b3c
Merge pull request #136 from labsai/docs/ui-handoff-and-design-sync
ginccc Aug 11, 2026
bfcaee4
merge: resolve HANDOFF.md conflict with origin/main
Copilot Aug 12, 2026
6480d63
fix: address repo-wide review — security, bundle size, i18n drift
ginccc Aug 12, 2026
312ef81
fix(updates): tighten the CSP origin match, the route guard and the t…
ginccc Aug 12, 2026
5a57ff4
style(updates): follow the page skeleton the merged docs now define
ginccc Aug 12, 2026
fe257ec
fix: address CodeRabbit review — SSE retry cap, spec buffering, i18n …
ginccc Aug 12, 2026
6f883a2
fix(mocks): stop MSW from intercepting Vite's dev module requests
ginccc Aug 12, 2026
a8ae397
Merge pull request #138 from labsai/fix/update-check-screen-and-csp
ginccc Aug 12, 2026
9c96e5b
Merge branch 'main' into fix/repo-review-remediation
ginccc Aug 12, 2026
5b73e3b
fix(deploy): commit the asset manifest alongside the assets
ginccc Aug 12, 2026
ea8a4b9
Merge pull request #139 from labsai/fix/repo-review-remediation
ginccc Aug 12, 2026
a2a6579
chore(deps): update dependency @tailwindcss/cli to v4.3.3 (#141)
renovate[bot] Aug 13, 2026
dbd533c
fix(operator): stop the write canary deleting healthy operators
ginccc Aug 13, 2026
09d4194
fix(operator): teardown noise, invisible failures, raw markdown, sing…
ginccc Aug 13, 2026
b4208ff
feat(operator): provision the operator with a 100-round tool-iteratio…
ginccc Aug 13, 2026
bc21352
fix: CodeRabbit review on #143 -- summary metrics, snapshot-recovered…
ginccc Aug 13, 2026
bf67784
feat(operator): deterministic write-canary -- dry-run first, self-tar…
ginccc Aug 13, 2026
2b66f23
feat(chat): attachments for the operator chat + paste-to-attach every…
ginccc Aug 13, 2026
3313479
feat(chat): drag-and-drop files onto both chat surfaces
ginccc Aug 13, 2026
16779e3
fix(chat): drawer attachment parity + resting bubbles snap to the can…
ginccc Aug 13, 2026
de870d7
fix(review): attachment lifecycle, create dedupe, canary edges from t…
ginccc Aug 13, 2026
1ca2298
fix(review): CodeRabbit round - inert disabled drop zones, honest unk…
ginccc Aug 13, 2026
d55eace
Merge pull request #143 from labsai/fix/operator-activation-and-failu…
ginccc Aug 13, 2026
ec1a0c3
feat(chat): live status line, smart auto-scroll everywhere, operator …
ginccc Aug 13, 2026
7f0d13e
fix(review): drawer opens scrolled to bottom + ar/fr label corrections
ginccc Aug 13, 2026
68b572a
feat(chat): the operator-style live status line in the main chat and …
ginccc Aug 13, 2026
e6e9688
feat(groups): paste and drag-drop files into the discussion input
ginccc Aug 13, 2026
f993ad7
fix(review): debug-turn boundary at send start + panel FAB out of the…
ginccc Aug 13, 2026
ea65534
chore(deps): update dependency @testing-library/user-event to ^14.6.1…
renovate[bot] Aug 14, 2026
6ae62c1
Merge pull request #144 from labsai/fix/operator-activation-and-failu…
ginccc Aug 14, 2026
cf35dfe
fix(chat): match EDDI''s real runtime contract - camelCase task ids a…
ginccc Aug 14, 2026
b7aab60
fix(review): abort read canary on write rollback + rotating activatio…
ginccc Aug 14, 2026
c04cea6
Merge pull request #146 from labsai/fix/operator-activation-and-failu…
ginccc Aug 14, 2026
3df4ce0
feat: live tool status, flat activity view, instant activation, real …
ginccc Aug 14, 2026
5e79c9d
fix: complete the lock file for @tailwindcss/typography's transitive …
ginccc Aug 14, 2026
bcd10de
fix: regenerate the lock with npm 10 to match CI
ginccc Aug 14, 2026
f7abd85
fix: stale background probe must not clobber a successor operator; ho…
ginccc Aug 14, 2026
1e8d625
Merge pull request #147 from labsai/fix/operator-activation-and-failu…
ginccc Aug 14, 2026
a16393f
fix: markdown repair vandalized bold-before-punctuation; real height …
ginccc Aug 14, 2026
f267012
fix: approval card must scroll its own JSON, not the page; disable th…
ginccc Aug 14, 2026
76d1fc2
feat: no horizontal scrolling anywhere - responsive sweep + anti-fabr…
ginccc Aug 14, 2026
f387168
Merge pull request #148 from labsai/fix/operator-ux-followups
ginccc Aug 14, 2026
47325a3
feat(operator): inlineCredential escalation flag - a literal secret w…
ginccc Aug 14, 2026
c2f5b64
fix(operator): one approval not two, legible vault refs, model catalo…
ginccc Aug 14, 2026
e195e6e
docs: vault references are no longer redacted backend-side
ginccc Aug 14, 2026
337268c
fix(ui): chat-scale markdown headings, and make the prose overrides a…
ginccc Aug 14, 2026
c2ede37
fix: address CodeRabbit review on #149
ginccc Aug 14, 2026
5e05c7f
fix(workforce): the taskforce wizard had no scroll container
ginccc Aug 14, 2026
5335915
test(workforce): enforce the scroll contract the wizard bug slipped t…
ginccc Aug 14, 2026
ae8b87a
Merge pull request #149 from labsai/feat/inline-credential-flag
ginccc Aug 14, 2026
9c8f744
fix(markdown): the bold repair corrupted already-correct emphasis
ginccc Aug 14, 2026
2c54670
fix(chat): the newest tool call spun forever under a finished answer
ginccc Aug 14, 2026
06f754f
fix(operator): a decision always produces a visible continuation
ginccc Aug 14, 2026
26c9fec
fix(operator): a part-rejected batch was recorded as a plain approval
ginccc Aug 14, 2026
277231b
fix(hitl): per-call Approve/Reject read as decoration, not controls
ginccc Aug 14, 2026
90db66e
Merge pull request #150 from labsai/fix/live-tool-state
ginccc Aug 14, 2026
409ddb1
chore(deps): update dependency esbuild to v0.28.2 (#151)
renovate[bot] Aug 15, 2026
d57f819
fix(operator): the decision reads after the ask, and the expected pro…
ginccc Aug 15, 2026
1749ee0
docs(operator): two comments still described the replaced-in-place ask
ginccc Aug 15, 2026
87dcef2
Merge pull request #153 from labsai/fix/approval-flow-ordering
ginccc Aug 15, 2026
9ac9e42
feat(operator): config cheatsheet + docs map in the prompt; name the …
ginccc Aug 15, 2026
0360158
test(operator): anchor the apiKey assertion to its sentence; pin the …
ginccc Aug 15, 2026
51c11e1
Merge pull request #154 from labsai/fix/operator-prompt-cheatsheet
ginccc Aug 15, 2026
f59325a
fix(operator): the approved step ran invisibly for up to a minute
ginccc Aug 15, 2026
c031cc8
feat(operator): let it test-drive an agent or group by actually talki…
ginccc Aug 15, 2026
03026ba
fix(operator): the test-drive promise sat in the UNCONDITIONAL prompt…
ginccc Aug 15, 2026
27bcbf8
Merge pull request #155 from labsai/fix/operator-resolving-indicator
ginccc Aug 15, 2026
0ba58e4
Merge pull request #156 from labsai/feat/operator-test-drive
ginccc Aug 15, 2026
d8cf291
feat(agents): show which environment an agent runs in, and chat in th…
ginccc Aug 15, 2026
9005dbc
fix(agents): address CodeRabbit review — bound the fan-out, surface f…
ginccc Aug 15, 2026
9d3f3cd
fix(agents): finish the environment unification CodeRabbit caught hal…
ginccc Aug 15, 2026
b15c0fc
fix(chat): resuming a conversation ignored the environment being opened
ginccc Aug 15, 2026
aee7a92
Merge pull request #157 from labsai/feat/agent-environment-visibility
ginccc Aug 15, 2026
15e5708
chore(deps): update dependency eslint-plugin-react-refresh to ^0.5.3 …
renovate[bot] Aug 15, 2026
7556ce5
feat(operator): let it test-drive an agent by actually talking to it …
ginccc Aug 15, 2026
5550010
feat(operator): keep a conversation reachable across navigation and r…
ginccc Aug 15, 2026
6bd2013
fix(audit): phantom pause reason, tool_error pairing, honest trace ou…
ginccc Aug 15, 2026
97907d7
fix(review): all seven CodeRabbit findings on the audit branch
ginccc Aug 15, 2026
ce52be2
Merge pull request #161 from labsai/fix/operator-audit-findings
ginccc Aug 15, 2026
0231fca
fix(operator): resume settle, paused-send resync, execution receipt, …
ginccc Aug 15, 2026
147df9b
Merge pull request #162 from labsai/fix/operator-resume-settle
ginccc Aug 15, 2026
299e57e
fix(operator): streamed pauses get their identity back; commentary su…
ginccc Aug 16, 2026
e8c4034
fix(operator): abort before submitting a decision for a discarded con…
ginccc Aug 16, 2026
9a65ac1
fix(operator): close the two decision races Copilot found
ginccc Aug 16, 2026
8171f8c
chore(deps): update dependency sonner to v2.0.8 (#160)
renovate[bot] Aug 16, 2026
c67c272
chore(deps): update dependency zustand to v5.0.15 (#164)
renovate[bot] Aug 16, 2026
d1c5614
Merge pull request #163 from labsai/fix/operator-resume-settle
ginccc Aug 16, 2026
d8bc9a8
fix(operator): narration survives re-pauses, banner no longer sticks,…
ginccc Aug 16, 2026
c50c658
fix(operator): a re-pause renders only the parts new since the previo…
ginccc Aug 16, 2026
ab79676
chore(deps): update radix-ui-primitives monorepo (#165)
renovate[bot] Aug 16, 2026
a6a8daa
chore(deps): update dependency typescript-eslint to ^8.65.0 (#167)
renovate[bot] Aug 16, 2026
984aeff
Merge pull request #166 from labsai/fix/operator-round-three
ginccc Aug 16, 2026
aa92850
feat(setup): make one vault key reusable across agents in the wizard
ginccc Aug 18, 2026
34211a0
feat(setup): show the backend's vault grant warning on the wizard result
ginccc Aug 18, 2026
ca1d972
fix(api-client): throw a real Error so backend messages survive `inst…
ginccc Aug 18, 2026
84a4cf6
feat(workforce): say on the team step what agents/setup will refuse, …
ginccc Aug 18, 2026
37f028b
fix(workforce): address PR review — split agentId, stop leaking keys,…
ginccc Aug 18, 2026
3904bef
refactor(setup): follow the backend's vaultGrantWarning -> vaultWarni…
ginccc Aug 18, 2026
b096872
fix(shared): give AgentPicker the same label association as SecretKey…
ginccc Aug 18, 2026
a4f6485
refactor(workforce): one provider normalisation, shared by both readers
ginccc Aug 18, 2026
b21762a
fix(setup): address Copilot review on #170
ginccc Aug 18, 2026
bdd6e7e
fix(setup): address CodeRabbit review on #170
ginccc Aug 18, 2026
f71882c
Merge pull request #169 from labsai/fix/workforce-wizard-agent-setup-…
ginccc Aug 18, 2026
e572531
Merge pull request #170 from labsai/feat/agent-setup-vault-key-reuse
ginccc Aug 18, 2026
5626223
fix(workforce): let a new advisor inherit the workforce LLM defaults …
ginccc Aug 18, 2026
7a22dfb
Merge pull request #171 from labsai/fix/team-builder-inherit-llm-defa…
ginccc Aug 18, 2026
909d6ee
feat(parser): pick or create a dictionary instead of typing its URI
ginccc Aug 18, 2026
e2edf41
fix(parser,ui): address review findings and cap dialogs at the viewport
ginccc Aug 18, 2026
7f78ac2
Merge pull request #172 from labsai/feat/dictionary-picker-and-layout…
ginccc Aug 18, 2026
cc434e4
fix(approvals): compare the config diff as content, not as whitespace…
ginccc Aug 19, 2026
76801ee
fix(layout): stop the app shell scrolling with the page (#174)
ginccc Aug 19, 2026
319d696
fix(tests): make eleven unfailable tests able to fail (#175)
ginccc Aug 21, 2026
9f68ef5
fix(e2e): make the UI tier notice a page that failed to load (#176)
ginccc Aug 21, 2026
8039eda
feat(tests): check the MSW handlers against EDDI's own OpenAPI docume…
ginccc Aug 21, 2026
bfe9185
test: kill every mutant the audit left alive (#178)
ginccc Aug 21, 2026
d50e14c
test(mutation): gate the operator guards with Stryker (#179)
ginccc Aug 21, 2026
25e4fa4
fix(workforce): ask before destroying work, on every path that destro…
ginccc Aug 22, 2026
e37fbea
fix(e2e): stop CI losing the backend signal, and prove the tier used …
ginccc Aug 22, 2026
d066a32
fix(tests): close four holes in the guards this audit added (#182)
ginccc Aug 22, 2026
57eabf1
fix(e2e): make the full-stack tier able to pass (#183)
ginccc Aug 22, 2026
a3fe022
test(e2e): cover the Workforce guards in a browser (#184)
ginccc Aug 22, 2026
c8dc88f
test(e2e): diagnose the full-stack resource failure, and say what is …
ginccc Aug 23, 2026
f3d8489
docs(e2e): link the rulestore failure to its upstream issue (#186)
ginccc Aug 23, 2026
7867626
fix(mocks): stop two wildcards swallowing the handlers registered aft…
ginccc Aug 24, 2026
dae3268
fix(chat,rules): let the user scroll while a reply streams, and show …
ginccc Aug 25, 2026
72c05dc
feat(connections): surface the connections API in the Manager (#188)
ginccc Aug 25, 2026
ec584d5
fix(channels): give the card and the table back their keyboard access…
ginccc Aug 25, 2026
407ac76
fix(workforce): four defects on a finished board, and a guard that ca…
ginccc Aug 25, 2026
53ff29c
fix(secret-picker): make the vault popup usable from the keyboard (#192)
ginccc Aug 25, 2026
1228180
refactor(extensions): treat both spellings of renamed step types alik…
ginccc Aug 26, 2026
348f2de
test(editors): recover the unlanded coverage from feat/test-coverage-…
ginccc Aug 26, 2026
f7fd12e
feat(studio): resizable pipeline and chat panels, usable without a mo…
ginccc Aug 26, 2026
8a21d47
feat(workspaces): per-user workspaces, sharing and ownership in the M…
ginccc Aug 30, 2026
ab8a7c6
feat(api-client): let a caller see the status of a 2xx (#197)
ginccc Sep 7, 2026
391ce6e
fix(discovery): stop sending a third-party credential in the URL (#198)
ginccc Sep 7, 2026
dedba0a
fix(sync): branch on the status, so a half-applied sync stops looking…
ginccc Sep 7, 2026
4980f10
feat(workspaces): honour callerLevel outside the agents page (#201)
ginccc Sep 7, 2026
25549bd
fix(api): three contract changes EDDI made that the Manager was not r…
ginccc Sep 7, 2026
57a8a92
fix(gdpr): stop reporting a partial erasure or export as a fulfilled …
ginccc Sep 7, 2026
6ed2959
feat(workspaces): share any resource, and let an admin reclaim an orp…
ginccc Sep 7, 2026
8bd604d
docs(handoff): record the post-6.3.0 EDDI alignment (#204)
ginccc Sep 7, 2026
b7cd48b
feat(ui): give the app's caution amber a semantic warning token (#205)
ginccc Sep 8, 2026
2960872
fix(groups): raw JSON in transcripts, dropped attachments, and the gr…
ginccc Sep 13, 2026
365fd3b
fix(connections): address the connections code review — CALLER_SUPPLI…
ginccc Sep 14, 2026
ed49378
fix(groups): one reader for group messages and decisions, on every su…
ginccc Sep 14, 2026
fb4269c
fix(approvals): a readable diff when the proposed body is not JSON, a…
ginccc Sep 15, 2026
2e4f334
chore(monorepo): import EDDI-Manager history under ui/manager
ginccc Sep 15, 2026
6288253
chore(monorepo): import EDDI-Chat-UI history under ui/chat
ginccc Sep 15, 2026
c23ff00
chore(monorepo): vendor EDDI-Manager and EDDI-Chat-UI as ui/manager a…
ginccc Sep 15, 2026
298bde4
build(ui): build the Manager and Chat UIs with Maven, E2E the built i…
ginccc Sep 15, 2026
4f19e47
perf(monorepo): run each half only when it changed; build the UI at p…
ginccc Sep 15, 2026
1c17489
perf(monorepo): efficiency review follow-ups
ginccc Sep 15, 2026
83d99f7
fix(monorepo): clear the scanner findings the first PR run reported
ginccc Sep 15, 2026
44fb8ff
fix(monorepo): address the four Copilot review findings on PR #757
ginccc Sep 15, 2026
b3decf5
fix(auth): read roles from realm_access, and add the E2E tier that fo…
ginccc Sep 16, 2026
a89fd08
fix(ci): align DeploymentManifestsTest with preflight-check depending…
ginccc Sep 16, 2026
dcba2ba
fix(ci): report e2e-auth failures to Slack
ginccc Sep 16, 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
  •  
  •  
  •  
11 changes: 5 additions & 6 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
licenses/** linguist-generated

# Chat UI bundles are built by the separate eddi-chat-ui repo and committed here
# so the backend ships a matching widget. Reviewing minified output line by line
# is meaningless -- review the source in eddi-chat-ui instead.
src/main/resources/META-INF/resources/scripts/js/chat-ui.*.js linguist-generated
src/main/resources/META-INF/resources/scripts/css/chat-ui.*.css linguist-generated
src/main/resources/META-INF/resources/assets/** linguist-generated

# Install scripts -- enforce correct line endings per platform
*.sh text eol=lf
Expand All @@ -16,3 +10,8 @@ src/main/resources/META-INF/resources/assets/** linguist-generated
# execute on Linux and macOS ("bad interpreter"), which would silently disarm the
# force-push guard for everyone who activated it.
.githooks/** text eol=lf

# Lockfiles are LF in the index already; pin it so a Windows checkout with
# core.autocrlf cannot churn them. CRLF normalisation at commit time is what made
# a committed chat bundle differ byte-for-byte from a fresh build of the same name.
ui/*/package-lock.json text eol=lf
15 changes: 15 additions & 0 deletions .github/codeql/codeql-ui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# CodeQL configuration for the javascript-typescript analysis (ci.yml `codeql-ui` and the
# scheduled codeql.yml). It scans the application code that ships in the image: the Manager
# and Chat UI sources.
#
# Everything else is out of scope on purpose, not overlooked:
# - ui/manager/public/mockServiceWorker.js is MSW's generated dev worker; the Maven build
# excludes it from the jar.
# - ui/manager/scripts, e2e/, .ds-sync/ and .design-sync/ are CI and developer tooling.
# - Without `paths` the JavaScript extractor also reads YAML across the repository, so it
# graded backend files such as helm/eddi/values.yaml, which the java-kotlin analysis and
# the manifest tests already own.
name: EDDI UI
paths:
- ui/manager/src
- ui/chat/src
92 changes: 92 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,98 @@ updates:
commit-message:
prefix: "chore(docker)"

# The two frontends under ui/. They ran Renovate in their own repos (automerge
# of minor/patch once CI was green); the Renovate app is not installed on this
# repository, and two bots on one repo is the one clearly wrong option.
- package-ecosystem: npm
directory: /ui/manager
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 5
labels:
- dependencies
- chore
# Let a release settle before proposing it; security updates are not delayed.
cooldown:
default-days: 3
semver-major-days: 14
groups:
# One PR for every open advisory instead of one per package.
security-updates:
applies-to: security-updates
patterns:
- "*"
minor-and-patch:
patterns:
- "*"
update-types:
- minor
- patch
ignore:
# Carried over from the Manager's renovate.json: v8 folds react-router-dom
# into react-router, so an automated major breaks every import. Minor and
# patch bumps stay enabled — that is how a security fix arrives.
- dependency-name: "react-router*"
update-types: ["version-update:semver-major"]

- package-ecosystem: npm
directory: /ui/chat
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 3
labels:
- dependencies
- chore
# Let a release settle before proposing it; security updates are not delayed.
cooldown:
default-days: 3
semver-major-days: 14
groups:
# One PR for every open advisory instead of one per package.
security-updates:
applies-to: security-updates
patterns:
- "*"
minor-and-patch:
patterns:
- "*"
update-types:
- minor
- patch
ignore:
# Same as the Manager: a react-router v8 major needs a manual migration.
- dependency-name: "react-router*"
update-types: ["version-update:semver-major"]

# The Manager's design-sync tooling (ui/manager/.ds-sync) is its own npm project with
# its own lockfile, and Dependency Review and Trivy scan it like any other: a stale
# advisory there fails every PR. Not shipped, so version updates are rare and small.
- package-ecosystem: npm
directory: /ui/manager/.ds-sync
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 2
labels:
- dependencies
- chore
cooldown:
default-days: 3
semver-major-days: 14
groups:
security-updates:
applies-to: security-updates
patterns:
- "*"
minor-and-patch:
patterns:
- "*"
update-types:
- minor
- patch

# GitHub Actions versions
- package-ecosystem: github-actions
directory: /
Expand Down
Loading
Loading