happy-stacks 0.6.12 → 0.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/docs/commit-audits/happy/_tools/generate-plans.mjs +453 -0
  2. package/docs/commit-audits/happy/_tools/generate-pr-assignment.mjs +430 -0
  3. package/docs/commit-audits/happy/_tools/init-pr-assignment-working.mjs +107 -0
  4. package/docs/commit-audits/happy/leeroy-wip.commit-analysis.md +1849 -0
  5. package/docs/commit-audits/happy/leeroy-wip.commit-export.fuller-stat.md +747 -1
  6. package/docs/commit-audits/happy/leeroy-wip.commit-index.json +11740 -0
  7. package/docs/commit-audits/happy/leeroy-wip.commit-index.tsv +252 -0
  8. package/docs/commit-audits/happy/leeroy-wip.commit-inventory.md +18 -11
  9. package/docs/commit-audits/happy/leeroy-wip.commit-manual-review.md +1236 -92
  10. package/docs/commit-audits/happy/leeroy-wip.maintainers-overview.draft.md +448 -0
  11. package/docs/commit-audits/happy/leeroy-wip.pr-assignment.draft.tsv +252 -0
  12. package/docs/commit-audits/happy/leeroy-wip.pr-assignment.working.tsv +288 -0
  13. package/docs/commit-audits/happy/leeroy-wip.pr-catalog.draft.md +245 -0
  14. package/docs/commit-audits/happy/leeroy-wip.pr-stack-plan.draft.md +350 -0
  15. package/docs/commit-audits/happy/leeroy-wip.rewrite-deferred-fragments.tsv +65 -0
  16. package/docs/commit-audits/happy/leeroy-wip.rewrite-ledger.tsv +56 -0
  17. package/docs/commit-audits/happy/leeroy-wip.rewrite-process.md +240 -0
  18. package/docs/commit-audits/happy/leeroy-wip.rewrite-status.tsv +39 -0
  19. package/docs/commit-audits/happy/leeroy-wip.split-plan.draft.md +93 -0
  20. package/docs/commit-audits/happy/leeroy-wip.topic-buckets.md +76 -0
  21. package/docs/commit-audits/happy/pr-desc.extraction-ledger.tsv +279 -0
  22. package/docs/commit-audits/happy/pr-desc.original.md +0 -0
  23. package/docs/commit-audits/happy/pr-desc.post-audit-extraction-ledger.tsv +54 -0
  24. package/docs/commit-audits/happy/pr-desc.working-document.md +536 -0
  25. package/docs/happy-development.md +18 -1
  26. package/docs/isolated-linux-vm.md +23 -1
  27. package/docs/stacks.md +21 -1
  28. package/package.json +1 -1
  29. package/scripts/auth.mjs +46 -8
  30. package/scripts/daemon.mjs +44 -21
  31. package/scripts/doctor.mjs +2 -2
  32. package/scripts/doctor_cmd.test.mjs +67 -0
  33. package/scripts/happy.mjs +18 -5
  34. package/scripts/provision/linux-ubuntu-review-pr.sh +5 -1
  35. package/scripts/provision/macos-lima-happy-vm.sh +34 -2
  36. package/scripts/review.mjs +347 -124
  37. package/scripts/review_pr.mjs +78 -2
  38. package/scripts/run.mjs +2 -1
  39. package/scripts/stack.mjs +265 -19
  40. package/scripts/stack_daemon_cmd.test.mjs +196 -0
  41. package/scripts/stack_happy_cmd.test.mjs +103 -0
  42. package/scripts/utils/cli/prereqs.mjs +12 -1
  43. package/scripts/utils/dev/daemon.mjs +3 -1
  44. package/scripts/utils/proc/pm.mjs +1 -1
  45. package/scripts/utils/review/detached_worktree.mjs +61 -0
  46. package/scripts/utils/review/detached_worktree.test.mjs +62 -0
  47. package/scripts/utils/review/findings.mjs +133 -20
  48. package/scripts/utils/review/findings.test.mjs +88 -1
  49. package/scripts/utils/review/runners/augment.mjs +71 -0
  50. package/scripts/utils/review/runners/augment.test.mjs +42 -0
  51. package/scripts/utils/review/runners/coderabbit.mjs +54 -10
  52. package/scripts/utils/review/runners/coderabbit.test.mjs +15 -48
  53. package/scripts/utils/review/sliced_runner.mjs +39 -0
  54. package/scripts/utils/review/sliced_runner.test.mjs +47 -0
  55. package/scripts/utils/review/tool_home_seed.mjs +99 -0
  56. package/scripts/utils/review/tool_home_seed.test.mjs +113 -0
  57. package/scripts/utils/stack/cli_identities.mjs +29 -0
  58. package/scripts/utils/stack/startup.mjs +45 -7
  59. package/scripts/worktrees.mjs +8 -5
@@ -0,0 +1,279 @@
1
+ n shaShort subject finalPr finalTitle extracted extractedAt extractionNotes
2
+ 001 58528a7c37d3 chore(crypto): patch react-native-libsodium PR01 Foundations / DevX yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
3
+ 002 552b8da0f621 test(deps): add @types/react-test-renderer PR01 Foundations / DevX yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
4
+ 003 017b15c07ad7 chore(config): harden app variant defaults PR01 Foundations / DevX yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
5
+ 004 4890a471df31 fix(auth): harden tokenStorage web persistence PR04 Auth + storage scoping yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
6
+ 005 4adc41d92af0 feat(sync): add permission mode types and mapping PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
7
+ 006 a5fbc3e8ba00 feat(persistence): scope storage and validate draft modes PR04 Auth + storage scoping yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
8
+ 007 18e77c46f38a fix(session): clamp configurable model modes PR28 Model modes (per-session selection + persistence) yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
9
+ 008 f7bb8a28fff7 fix(tools): harden ACP tool parsing and titles PR39 Tool UX: normalization + specialized views + tracing yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
10
+ 009 292424245277 refactor(sync): centralize outgoing message metadata PR27 Sync robustness (transport/error parsing + backoff semantics) yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
11
+ 010 39cc25154cdd feat(storage): persist session model modes PR28 Model modes (per-session selection + persistence) yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
12
+ 011 c2d3507357dc fix(settings): make parsing tolerant for profiles PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
13
+ 012 207ef1b2f572 fix(dev): gate CLI detection logging PR01 Foundations / DevX yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
14
+ 013 58a892d413d1 fix(command-palette): include navigate dependency PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
15
+ 014 41479b35415f feat(env): add env var template parsing PR07 Env var templates + preview/resolution end-to-end yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
16
+ 015 695bcd09eb9e fix(env): improve remote env resolution and previews PR07 Env var templates + preview/resolution end-to-end yes 2026-01-25T21:36:52.291Z Seeded PR description with batch 001-015 details (foundations/auth storage scoping/permissions+modes/tools/env templates+preview)
17
+ 016 6cdb90a49aad feat(env): update env var list, cards, and preview modal PR07 Env var templates + preview/resolution end-to-end yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
18
+ 017 65bae55a0b61 refactor(i18n): separate translation types and content PR03 i18n foundation sweep (optional) yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
19
+ 018 2993b5c860ff fix(new-session): restore standard modal flow PR26 New session wizard end-to-end yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
20
+ 019 9e08047d2478 fix(profiles): harden routing, grouping, and editing PR08 Profiles feature yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
21
+ 020 8d9f56e85e5a refactor(ui): unify list selectors and modal primitives PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
22
+ 021 2ab560bb0535 feat(cli-detection): add daemon detect-cli RPC support PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
23
+ 022 2d4675a5d051 fix(agent-input): use compact permission badges PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
24
+ 023 d97924f3ef39 chore(test): define __DEV__ for vitest PR01 Foundations / DevX yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
25
+ 024 9c19baa833b9 feat(settings): add api keys and experiment toggles PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
26
+ 025 21cc6df79f50 feat(api-keys): add saved API keys UI PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
27
+ 026 ce9cd74d408a feat(machine): surface detected CLI status PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
28
+ 027 7899bbd8433e feat(profiles): add API key requirements flow PR08 Profiles feature yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
29
+ 028 0023ba1ea5aa refactor(i18n): update translations and tooling PR03 i18n foundation sweep (optional) yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
30
+ 029 12e75a3b36fa fix(autocomplete): remove debug suggestion logs PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
31
+ 030 679877c26ea9 feat(settings): expose per-experiment toggles PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T21:39:53.388Z PR description updated with batch 016-030 (env vars UX, i18n refactor/tooling, new-session wizard refactor, profiles plumbing+requirements, UI primitives mega-refactor, machine CLI detection UX, settings experiments/api-keys flows)
32
+ 031 4dc9c7f8759c feat(agent-input): add configurable action bar layout PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
33
+ 032 e8e42a6087ad fix(modal): prevent stacked modal touch-blocking on iOS PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
34
+ 033 daa0b4527d7f feat(new-session): add api key selection and wizard extraction PR26 New session wizard end-to-end yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
35
+ 034 94814465bf81 perf(sync): debounce pending settings writes PR27 Sync robustness (transport/error parsing + backoff semantics) yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
36
+ 035 7ffd0c3428cb fix(ui): localize error alerts PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
37
+ 036 97ca69e0a735 refactor(i18n): replace remaining UI literals PR03 i18n foundation sweep (optional) yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
38
+ 037 5f5b57df5181 refactor(ui): improve item rendering and action menu timing PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
39
+ 038 7976b877259c feat(experiments): gate Zen, file viewer, and voice auth flow PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
40
+ 039 6ed379f82c34 refactor(ui): add modal + popover overlay primitives PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
41
+ 040 f0787de5308e feat(sync): add secrets + terminal settings primitives PR09 Secrets / vault feature yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
42
+ 041 66ee1eaf88a6 feat(secrets): add secrets management + requirement resolver PR09 Secrets / vault feature yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
43
+ 042 bdaf6913141f feat(terminal): add Terminal settings + tmux metadata PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
44
+ 043 bc779e4f7909 refactor(new-session): integrate secrets + terminal spawn options PR26 New session wizard end-to-end yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
45
+ 044 cb11d4bdb25a docs: add AGENTS.md symlink + update CLAUDE.md PR01 Foundations / DevX yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
46
+ 045 1bc3b9715776 fix(sync): handle non-JSON 400 responses PR27 Sync robustness (transport/error parsing + backoff semantics) yes 2026-01-25T21:41:58.326Z PR description updated with batch 031-045 (agent-input layout/density, iOS stacked modal fix, new-session wizard extraction + api-key→secrets transition, sync debounce+error parsing, experiments per-flag gating, overlay portal+popover primitives, secrets/vault primitives+UX, terminal/tmux settings+metadata, docs guidance)
47
+ 046 ea2e4d19d633 chore(deps): align react-test-renderer with react PR01 Foundations / DevX yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
48
+ 047 dd041d21ecfc fix(sync): guard JSON parsing on disconnect errors PR27 Sync robustness (transport/error parsing + backoff semantics) yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
49
+ 048 395da4ff3167 refactor(zen): avoid todo variable shadowing PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
50
+ 049 2e956f32f220 fix(new): keep pick screens above iOS modal PR26 New session wizard end-to-end yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
51
+ 050 2da2f9349ec5 fix(popover): allow web fixed positioning types PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
52
+ 051 43f23f2f082e chore(format): replace stray tabs with spaces PR01 Foundations / DevX yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
53
+ 052 e1d55fdbd9ee fix(i18n): improve untranslated literal scan parsing PR01 Foundations / DevX yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
54
+ 053 c210c1115598 test(sync): restore stubbed fetch between tests PR27 Sync robustness (transport/error parsing + backoff semantics) yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
55
+ 054 66c678451335 fix(ui): apply small review fixes PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
56
+ 055 2472b376775c test(modal): make backdrop z-index assertion safer PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
57
+ 056 02450d179aaf fix(profiles): align experimentsEnabled for built-in profiles PR08 Profiles feature yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
58
+ 057 ff7bec72358f fix(secrets): tighten callback deps and fix indentation PR09 Secrets / vault feature yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
59
+ 058 1bb65f5dd494 fix(new-session): avoid stuck secret requirement modal guard PR26 New session wizard end-to-end yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
60
+ 059 f7f81497444d fix(modal): prevent non-dismissible WebAlertModal PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
61
+ 060 bb09f91de715 fix(settings): keep valid secrets when one entry is invalid PR09 Secrets / vault feature yes 2026-01-25T21:44:50.827Z PR description updated with batch 046-060 (test deps alignment, sync JSON parse guards, iOS pick screen presentation, popover typings+hardening, i18n tool parsing fixes, misc UI review fixes, profiles gating tweak, secrets list reliability, secret requirement modal guard fix, WebAlertModal default OK, tolerant secrets parsing)
62
+ 061 765423af52b4 fix(agent-input): cycle permission mode from normalized state PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
63
+ 062 e533db1813a5 fix(popover): add screens cjs helper and fix fixed positioning types PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
64
+ 063 2ed3100311c7 fix(secrets): hide values when using secret vault PR09 Secrets / vault feature yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
65
+ 064 e5848c480522 fix(ui): harden overlays and permission cycling PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
66
+ 065 69fdcff96a4c fix(sync): restore session permission mode from last message PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
67
+ 066 9b499c5dccce fix(sync): persist permission mode timestamp for restart-safe arbitration PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
68
+ 067 def8852509d0 fix(sync): persist permission mode reliably across devices PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
69
+ 068 b1c8a6fecd01 fix(session): archive when kill RPC unavailable PR29 Sessions & message list UX yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
70
+ 069 c06b6202b5d4 Add copy-to-clipboard button to message blocks PR29 Sessions & message list UX yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
71
+ 070 9fc7d3d412b9 feat(sessions): group inactive sessions by project PR29 Sessions & message list UX yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
72
+ 071 62a8b1b07c3e feat(sessions): add unread badge PR29 Sessions & message list UX yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
73
+ 072 82d74454c3c4 fix(typecheck): restore permission imports and Popover web styles PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
74
+ 073 4f2b533f99c2 feat(tools): add approve/reject buttons to ExitPlanMode PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
75
+ 074 c86cbd26b040 feat(queue): add pending message queue UI and send modes PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
76
+ 075 42da6dae8fe4 feat(session): add session rename support PR29 Sessions & message list UX yes 2026-01-25T21:49:06.307Z PR description updated with batch 061-075 (permission mode cycling + cross-device persistence, overlay portal tests + action reliability, popover infra helper, vault UI hiding, sessions UX: archive fallback/unread/grouping/rename/copy, ExitPlanMode buttons, early pending queue UI/send modes)
77
+ 076 057102f67904 feat(resume): add resume session option for new sessions PR19 Resume end-to-end yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
78
+ 077 05532bd65c6b feat(resume): show resume chip under path in new session PR19 Resume end-to-end yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
79
+ 078 cd5771e50881 feat: resume inactive Claude sessions from UI PR19 Resume end-to-end yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
80
+ 079 456e2ad8e2b8 refactor(resume): don't require agentSessionId from UI PR19 Resume end-to-end yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
81
+ 080 9b0069e3d30c feat(fork): enable Codex resume support PR19 Resume end-to-end yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
82
+ 081 4ddaef02210e fix(sync): omit model meta for queued messages PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
83
+ 082 3fbdc10018fe fix: tmux parsing/targeting + review feedback PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
84
+ 083 7292a29822bb fix(daemon): do not apply CLI active profile to GUI-spawned sessions PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
85
+ 084 ce94cfa512ac feat(session): persist profileId in session metadata via daemon spawn PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
86
+ 085 e58e97fd7ff4 fix(pr107): harden daemon spawn + align profile schema PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
87
+ 086 86330e263595 fix(security): redact spawn secrets from daemon logs PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
88
+ 087 a25acab22b64 fix(socket): restore offline buffering for sends PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
89
+ 088 a7d23148c311 fix(logging): gate debug output and redact templates PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
90
+ 089 ef418bc4dda3 fix(pr107): redact profile secrets in doctor + align tmux tmpDir PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
91
+ 090 1f90659694be refactor(profiles): remove unwired startup script and local env cache PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:51:16.430Z PR description updated with batch 076-090 (resume new-session + inactive resume + request-shape hardening; tmux parsing correctness; daemon spawn boundaries/profileId propagation; spawn/doctor log redaction + template masking; CLI offline buffering; profile schema alignment/cleanup)
92
+ 091 7aed8aaee02f refactor(profiles): drop provider config objects PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
93
+ 092 6b0bfe546d9e feat(runtime): support bun for daemon-spawned subprocesses PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
94
+ 093 4071466545ab refactor(rpc): accept arbitrary env var maps for spawn PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
95
+ 094 809be82b53e7 fix(env): implement default assignment semantics PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
96
+ 095 4c2a671dc3f4 feat(rpc): add preview-env handler PR15 preview-env end-to-end yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
97
+ 096 2973f7fe6861 fix(codex): harden MCP command detection PR21 Codex MCP tool-call result correctness yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
98
+ 097 c863db3d5bbc refactor(offline): make offline session stub safer PR19 Resume end-to-end yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
99
+ 098 0a1a91a631e7 feat(tmux): support per-instance socket path PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
100
+ 099 c52227082c2b fix(tmux): correct env, tmpdir, and session selection PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
101
+ 100 7a01a8e42629 test(claude): align sessionScanner path mapping PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
102
+ 101 1075a768e551 feat(rpc): add detect-cli handler PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
103
+ 102 c988f68ca4d0 feat(ui): surface Codex/Gemini errors in session UI PR30 Agent error surfaces (Codex/Gemini) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
104
+ 103 b2269ee11252 fix(claude): use hook transcript path across switching PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
105
+ 104 f53cf71d416c refactor(persistence): remove deprecated tmuxConfig PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
106
+ 105 8dae65f6c585 feat(rpc): include tmux in detect-cli PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T21:53:48.322Z PR description updated with batch 091-105 (CLI schema: drop provider config objects, spawn env map flexibility, bun runtime for subprocesses, expandEnvVars := semantics, preview-env handler security features, detect-cli handler + versions/login/tmux, codex MCP detection hardening, offline resume stub safety, tmux socket isolation/tmpdir/session selection, claude hook transcript switching reliability, agent error surfaces)
107
+ 106 ad66c6aaa3ae feat(terminal): add tmux metadata + attach tooling PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
108
+ 107 c13d51ee4638 feat(daemon): support tmux spawn + harden runtime PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
109
+ 108 f7db44dea458 docs: add AGENTS.md symlink PR01 Foundations / DevX yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
110
+ 109 af5000ea6318 fix(ui): polish Codex and Gemini error messages PR30 Agent error surfaces (Codex/Gemini) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
111
+ 110 f68552d03ab9 fix(tmux): print attach instructions in correct order PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
112
+ 111 4e4bb65ff3f0 test(tmux): avoid brittle assertions PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
113
+ 112 45f4eb5d145c test(detect-cli): avoid process.env reassignment PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
114
+ 113 51782fdbfbcd test(codex): reset transport instances between tests PR21 Codex MCP tool-call result correctness yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
115
+ 114 0ad76f4877ae chore(cli): fix gemini daemon block indentation PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
116
+ 115 a8093e3e4ddb docs(persistence): update profile schema version comment PR05 Persistence / drafts yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
117
+ 116 b16c3658b944 fix(gemini): normalize error details for UI PR30 Agent error surfaces (Codex/Gemini) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
118
+ 117 d9591372655f fix(common): handle execFileAsync exit codes PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
119
+ 118 ab95e8cf920c fix(sync): avoid hanging invalidateAndAwait on errors PR27 Sync robustness (transport/error parsing + backoff semantics) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
120
+ 119 6f98c95fb5d8 fix(claude): support -c/-r and avoid session loss on switch PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
121
+ 120 9489d70848f3 test(claude): align sessionScanner path mapping PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T21:56:27.359Z PR description updated with batch 106-120 (terminal attach metadata + attach command, daemon tmux spawn support, error surfacing polish for codex/gemini, tmux attach UX + test robustness, detect-cli/codex test hygiene, sync invalidateAndAwait no-hang fix, claude switch/continue/resume reliability, misc doc/indent/comment cleanup)
122
+ 121 9c4cb44b7d86 fix(daemon): reattach sessions after daemon restart PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T22:00:49.574Z Added daemon restart reattach details (session markers under HAPPY_HOME_DIR + atomic persisted state notes).
123
+ 122 dbde6d871670 test(daemon): add PID classification + session marker tests PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T22:00:49.574Z Added coverage for strict PID classification + session marker semantics tests.
124
+ 123 7cffdd5ce614 fix(daemon): verify PID via command hash for reattach/stop PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T22:00:49.574Z Added coverage for PID reuse mitigation via process command hashing during reattach/stop.
125
+ 124 8b88dcd73d40 fix(claude): carry permission mode across remote/local switches PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T22:00:49.574Z Added coverage for lastPermissionMode tracking and ensuring local Claude spawns use matching permission args on remote↔local switch.
126
+ 125 8f0e10c9428b fix(claude): publish permission mode in session metadata PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T22:00:49.574Z Added coverage for publishing permissionMode(+updatedAt) into session metadata to seed UI before first app-originated message meta exists.
127
+ 126 ffad20faa406 fix(cli): publish permission mode for codex/gemini sessions PR11 Agent permissions (Codex/Gemini): permission modes + allowlists yes 2026-01-25T22:00:49.574Z Added coverage for Codex/Gemini permissionMode metadata seeding + canonical PERMISSION_MODES + CLI arg parsing/clamping.
128
+ 127 eb72c6e69434 fix(codex): disable model override and remove experimental resume PR19 Resume end-to-end yes 2026-01-25T22:00:49.574Z Added Codex runtime correctness: remove experimental resume-by-transcript scanning and disable per-message model overrides (mode changes restart with explicit context drop).
129
+ 128 d317f6bfa282 fix(typecheck): resolve duplicate terminalRuntime and RPC handler types PR11 Agent permissions (Codex/Gemini): permission modes + allowlists yes 2026-01-25T22:00:49.574Z Applied compile-fix note: remove duplicated terminalRuntime keys; align async stopSession mock typing (squash-style follow-up).
130
+ 129 a8682d427794 fix(detect-cli): relax tmux version probe timeout PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:00:49.574Z Added capabilities probe tuning: tmux version timeout increased to reduce false negatives on slow hosts.
131
+ 130 e2824dbc858b feat(queue): add server-side pending message pull support PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:00:49.574Z Added early pending-pop/pull note: agents can pop server-staged messages when idle before declaring ready; codexSessionId metadata flagged as resume-adjacent.
132
+ 131 37a2c55a6c2f fix(session): prime agent state for readiness PR19 Resume end-to-end yes 2026-01-25T22:00:49.574Z Added coverage for priming agentStateVersion so Codex/Gemini UI readiness becomes true immediately after session creation.
133
+ 132 88494b122194 fix(tools): support Windows arm64 tool unpacking PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:00:49.574Z Reviewed as mixed + later reverted by 140 (Windows ARM64 tools mapping + test harness tweaks); kept out of final-state narrative pending net-effect verification.
134
+ 133 d71587eda2db feat: resume Claude sessions from UI PR19 Resume end-to-end yes 2026-01-25T22:00:49.574Z Added resume plumbing: vendor resume id passed through daemon spawn with supportsVendorResume allowlist (Claude upstream).
135
+ 134 a80868aff50d feat: resume inactive Claude sessions from UI PR19 Resume end-to-end yes 2026-01-25T22:00:49.574Z Added inactive-resume core details: resume-session RPC + persisted session file + --existing-session + initial message injection; large mixed commit.
136
+ 135 bcaa530b12d7 feat(resume): add happy resume and persist vendor resume id PR19 Resume end-to-end yes 2026-01-25T22:00:49.574Z Added CLI resume command and persisting vendorResumeId into local session file for deterministic reattach.
137
+ 136 e085e75c5d36 feat(resume): allow resume-session without agentSessionId PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Added resume robustness details: resume-session no longer requires agentSessionId; daemon can derive vendor resume id from persisted local session file; happy resume supports bulk ids.
138
+ 137 68a6ba4bc244 feat(fork): enable Codex inactive-session resume via codex-reply PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Reviewed large Codex inactive-resume series (existing-session attach + vendor id persistence + experimental gating/install surfaces); PR desc describes final-state Codex resume as experimental + MCP resume server based.
139
+ 138 d3aefaa9b598 refactor(daemon): extract reattach and pid safety helpers PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T22:05:00.939Z Added daemon reliability detail: extracted pidSafety/reattach helpers for strict ownership gating and marker adoption.
140
+ 139 72397b7e8c94 test(daemon): add opt-in reattach integration tests PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T22:05:00.939Z Added coverage note: opt-in “real process” integration tests gated by env var validate PID hashing + marker adoption.
141
+ 140 9c40c54018c2 Revert \"fix(tools): support Windows arm64 tool unpacking\" PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:05:00.939Z Confirmed revert of 132 (Windows ARM64 tools mapping + scripts tests + writable-dir test fallback). Net effect: original changes removed; kept out of final-state narrative.
142
+ 141 ab35b47ff699 fix(resume): make inactive resume reliable; gate Codex resume PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Added inactive-resume finalization: remove message-via-spawn env flow; enqueue message first then spawn-only resume; add experimental Codex resume gating (UI + daemon) and resume-server install/status surfaces.
143
+ 142 aa9b11684389 fix(codex): increase installer output buffer PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Added installer reliability: increase npm exec buffer to avoid maxBuffer failures.
144
+ 143 c4beebbfa375 feat(ui): add Codex resume experiment toggle PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Added UI gating: expCodexResume experiment toggle + translations.
145
+ 144 0140ae276869 refactor(codex): install mcp resume server via install-dep PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Added Codex resume tooling refactor: install `codex-mcp-resume` MCP server wrapper via install-dep; separate resume tooling from system codex CLI; legacy path fallback.
146
+ 145 2ec41b621b54 fix(codex): detect resume binary on Windows PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Added Windows correctness: use F_OK existence checks for resume bin detection on win32.
147
+ 146 e1deb6db8ddb refactor(codex): add dep-status and drop codex-resume RPCs PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Added API consolidation: generic dep-status + install-dep replace codex-resume-specific RPCs; machine UI switches to dep APIs.
148
+ 147 231d7ad9bdd9 fix(ui): clarify Codex resume server label PR19 Resume end-to-end yes 2026-01-25T22:05:00.939Z Added UX polish: rename machine section to “Codex resume server”.
149
+ 148 8bebf04aca92 refactor(cli): modularize capabilities and env preview PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:05:00.939Z Added major capabilities refactor: checklist-based capabilities.* RPC (describe/detect/invoke), cliSnapshot detection, and codex-mcp-resume dep management; preview-env handler extracted.
150
+ 149 bcf10af94626 test(ui): update useCLIDetection hook tests for capabilities PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:05:00.939Z Updated PR desc coverage for capabilities UI migration; tests updated to snapshot/results model.
151
+ 150 a5cac698f15b feat(cli): harden session queue, switching, and lifecycle PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:05:00.939Z Added MessageQueueV1 CLI core details: metadata-backed queue claim/inFlight ack via localId, discard policy on switching, idle wake on metadata updates, and ACP task lifecycle event emission.
152
+ 151 3fc704424e8d feat(app): add pending queue, discard markers, and capabilities PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:08:12.544Z Added app-side MessageQueueV1 (CAS metadata updates + submit-mode policy + discard markers + optimistic thinking) and noted this mega-commit also migrates UI machine detection to capabilities.*
153
+ 152 49893dd7d16a fix(terminal): harden remote→local switching input PR31 Terminal switching reliability (remote↔local) yes 2026-01-25T22:08:12.544Z Added remote-mode input determinism (Ctrl+T + tested key interpreter) and stdin cleanup helper for switching.
154
+ 153 0126667539b6 fix(claude): forward signals to binary child process PR31 Terminal switching reliability (remote↔local) yes 2026-01-25T22:08:12.544Z Added signal-forwarding to Claude binary child (prevents orphaned stdin owners) with tests.
155
+ 154 39c7b8a56b32 refactor(app): rename tmux/message-send settings under session PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T22:08:12.544Z Added session settings consolidation: tmux keys renamed under session + sessionMessageSendMode rename and migrations/aliases.
156
+ 155 fcec6c311b6b feat(sync): add cross-device unread markers PR29 Sessions & message list UX yes 2026-01-25T22:08:12.544Z Added cross-device unread: readStateV1 stored in encrypted metadata + focus/blur marking and debounced updates.
157
+ 156 8c16ee8f9cef fix(auth): surface auth failures and gate unauth routes PR04 Auth + storage scoping yes 2026-01-25T22:08:12.544Z Added auth hardening: tolerate usage.service_tier null in raw parsing + layout-level unauth route guard with explicit public allowlist.
158
+ 157 320a89e19ca0 test(happy): run cli and server checks from root scripts PR01 Foundations / DevX yes 2026-01-25T22:08:12.544Z Added DevX: root test/typecheck scripts run expo-app + cli + server to prevent partial validation.
159
+ 158 3b3609fed434 fix(rpc): add structured code for missing RPC methods PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T22:08:12.544Z Added RPC robustness: structured errorCode=RPC_METHOD_NOT_AVAILABLE (back-compat with legacy message) + app fallback helpers/tests.
160
+ 159 0e2c7928f24c fix(scanner): tolerate onMessage exceptions PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T22:08:12.544Z Added scanner robustness: catch onMessage callback exceptions (prevents scanner crashes) + regression test.
161
+ 160 7fbe1f1cc727 fix(permission): avoid no-op permissionModeUpdatedAt bumps PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T22:08:12.544Z Added permission arbitration correctness: avoid bumping permissionModeUpdatedAt on no-op updates via shared helper + tests.
162
+ 161 2026fbab5cb3 fix(claude): accept -c as continue flag PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T22:08:12.544Z Added small Claude CLI correctness: treat -c as --continue for “session control provided” detection.
163
+ 162 ee0bec2a0b90 Delete INACTIVE_SESSION_RESUME.md PR19 Resume end-to-end yes 2026-01-25T22:08:12.544Z Docs-only: removed inactive resume design doc; left out of final-state PR narrative (feature described elsewhere).
164
+ 163 84df0d260513 fix(expo-app): stabilize postinstall and libsodium patches PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T22:08:12.544Z Added expo-app install stability: hoist-safe patch-package postinstall + libsodium-wrappers ESM patch; includes typing tweak and lockfile adjustments.
165
+ 164 544f9711b6cf fix(ui): respond to plan/question tools via session RPC PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:08:12.544Z Added tool UX: AskUserQuestion answers via interaction.respond with back-compat fallback; ExitPlan uses allow/deny without extra chat message; tests included.
166
+ 165 8b3f39f22664 feat(cli): add interaction.respond for AskUserQuestion PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:08:12.544Z Added CLI plumbing: interaction.respond RPC injects tool_result into active Claude remote prompt stream (after approving tool call).
167
+ 166 ed4bc007308a feat: add execpolicy approval option for Codex PR32 Codex approvals + MCP tool interactions (execpolicy + elicitation) yes 2026-01-25T22:13:10.783Z Added Codex execpolicy “always allow command” approval button + payload plumbing; reducer refresh ensures latest tool arguments appear in existing permission tool messages.
168
+ 167 78adc9c58811 feat(codex): support execpolicy approvals and MCP tool calls PR32 Codex approvals + MCP tool interactions (execpolicy + elicitation) yes 2026-01-25T22:13:10.783Z Added CLI-side execpolicy amendment decision mapping + version-aware elicitation formatting + surfacing of MCP tool call begin/end into transcript.
169
+ 168 9dfa09bef8d8 fix(i18n): add Codex execpolicy button text PR32 Codex approvals + MCP tool interactions (execpolicy + elicitation) yes 2026-01-25T22:13:10.783Z Translation completion for execpolicy approval button (it/ja); folded into the Codex execpolicy approvals narrative.
170
+ 169 559d39da116d fix(reducer): keep permission messages idempotent PR32 Codex approvals + MCP tool interactions (execpolicy + elicitation) yes 2026-01-25T22:13:10.783Z UI stability: only refresh tool input for permission tool messages when arguments actually changed (prevents rerender churn).
171
+ 170 cc3c711ae28e fix: move claudeArgs to end of args array for slash command support PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T22:13:10.783Z Claude local-runner correctness: append custom claudeArgs last so prompts/slash commands are positioned correctly.
172
+ 171 d06d5a833f8e Add signal forwarding to claudeLocal.ts PR31 Terminal switching reliability (remote↔local) yes 2026-01-25T22:13:10.783Z Terminal reliability: forward OS signals from CLI to Claude local child and clean up listeners on exit (prevents orphaned processes).
173
+ 172 1b7cb3bfea86 feat: handle /clear command as session reset in codex PR33 Codex special commands (/clear session reset) yes 2026-01-25T22:13:10.783Z Codex /clear semantics: treat as session boundary and reset MCP client + processors; emits “Session reset.” status.
174
+ 173 332ab2b0cd93 fix(cli): improve abort error handling to reduce spurious error messages PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T22:13:10.783Z Claude remote launcher UX: classify abort errors and suppress spurious “process error” noise when user aborts/switches.
175
+ 174 e956463db3e2 fix: use runtime execPath for MCP bridge PR32 Codex approvals + MCP tool interactions (execpolicy + elicitation) yes 2026-01-25T22:13:10.783Z MCP bridge runner reliability: spawn happy-mcp via process.execPath (node/bun) instead of relying on executable .mjs.
176
+ 175 f0a7d8d0b40c fix(codex): use mcp tool call id for approvals PR32 Codex approvals + MCP tool interactions (execpolicy + elicitation) yes 2026-01-25T22:13:10.783Z Codex approvals correctness: prefer MCP tool-call id for permission request ids and cached proposed execpolicy amendments; unit tests included.
177
+ 176 da620b6865ad feat(server): add full/light flavors with sqlite migrations PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:13:10.783Z Added server flavors + sqlite “light” mode: dynamic sqlite Prisma client generation/migrations and local public files backend (+ optional UI serving support).
178
+ 177 893ce7af5df0 fix(expo-app): avoid hooks order violation on redirect PR04 Auth + storage scoping yes 2026-01-25T22:13:10.783Z Auth redirect correctness: RootLayout keeps hook order stable on redirect; regression test added.
179
+ 178 7afbc9a2decd fix(expo-app): persist resumeSessionId and harden clipboard paste PR26 New session wizard end-to-end yes 2026-01-25T22:13:10.783Z New-session reliability: persist resumeSessionId in drafts; safe clipboard paste helper with tests.
180
+ 179 9a13879b753a fix(expo-app): avoid false homeDir prefix matches PR29 Sessions & message list UX yes 2026-01-25T22:13:10.783Z Sessions list correctness: avoid false homeDir prefix matches when formatting paths; regression test.
181
+ 180 c107a779e07d fix(expo-app): avoid stuck loading in capabilities cache PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:13:10.783Z Capabilities UX reliability: cache moves to error when detect throws (avoids stuck loading) with hook regression test.
182
+ 181 35c0974eff1f refactor(expo-app): remove dead code and dedupe types PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:14:57.344Z Small cleanup: dedupe MessageSendMode import and minor PendingMessagesModal refactor; noted useCLIDetection error-shape tweak (kept out of narrative unless needed).
183
+ 182 b319d85e72c3 fix(i18n): correct Spanish resumable label PR19 Resume end-to-end yes 2026-01-25T22:14:57.344Z Tiny i18n typo fix for resume label (es).
184
+ 183 46186162ae14 test(happy-cli): fix timer cleanup and MCP schema mocks PR32 Codex approvals + MCP tool interactions (execpolicy + elicitation) yes 2026-01-25T22:14:57.344Z Test stability: reset timers for terminal stdin cleanup tests and provide zod-backed MCP schema mocks for Codex client tests; small logger test correction.
185
+ 184 ac5bf2f3abfa test(happy-cli): reset modules for runtime override PR01 Foundations / DevX yes 2026-01-25T22:14:57.344Z Test reliability: vi.resetModules so env-driven runtime override selection doesn’t leak across tests.
186
+ 185 947b8d1814fb refactor(expo-app): remove unused optimistic flag PR29 Sessions & message list UX yes 2026-01-25T22:14:57.344Z Tiny cleanup: remove unused optimistic-only flag.
187
+ 186 8cc823d1ba2d fix(server-light): validate PORT and normalize paths PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:14:57.344Z Server-light env hardening: validate PORT range for default public URL; normalize backslashes in public paths; tests included.
188
+ 187 8cb995a1abe1 test(server): fix schema generation sort regex PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:14:57.344Z Server-light schema-gen test fix: correct whitespace regex.
189
+ 188 04d9c60ef8e7 refactor(happy-cli): remove unreachable gemini error branch PR30 Agent error surfaces (Codex/Gemini) yes 2026-01-25T22:14:57.344Z Small cleanup: remove redundant/unreachable Gemini error formatting branch.
190
+ 189 2616e5e19253 fix(server): handle missing UI index.html PR23 Server serves UI + public files safely yes 2026-01-25T22:14:57.344Z Serve-UI reliability: missing index.html returns 404 with no-cache (not crash); focused test.
191
+ 190 911365366024 fix(server): make build typecheck tests PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:14:57.344Z Tooling: add server typecheck alias and ensure vitest imports in light specs.
192
+ 191 0dd19e7fb257 fix(expo-app): default codex resume spec to empty PR19 Resume end-to-end yes 2026-01-25T22:14:57.344Z Codex resume safety: default codexResumeInstallSpec to empty (avoid fork-specific defaults); removed dead sessionRename lookup block.
193
+ 192 229e5fc36570 fix(server-light): use file URLs for sqlite db PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:14:57.344Z Server-light correctness: form sqlite URL via pathToFileURL (proper file:/// + escaping); test updated.
194
+ 193 e6f597e436c5 fix(server): fix server-light typecheck PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:14:57.344Z Server-light typecheck: Buffer.from for S3 putObject data + TS module settings (noted churn with 194).
195
+ 194 1564e800e355 fix(server): relax module settings for typecheck PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:14:57.344Z Tsconfig follow-up: module/moduleResolution adjusted; treat as final end-state (squash with 193 if rewriting).
196
+ 195 8ab11f2788c1 fix(happy-cli): parse CLI versions from full output PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:14:57.344Z Capabilities robustness: extract semver from combined stdout+stderr when first-line parsing fails.
197
+ 196 21e096e9454e fix(i18n): localize session settings item PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T22:17:46.903Z Settings list i18n: localize session settings item title/subtitle with new keys across locales.
198
+ 197 7ca9e93196d6 fix(i18n): translate ExitPlanMode strings PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:17:46.903Z Tool UI i18n: translate ExitPlanMode strings across locales.
199
+ 198 c4a81947f002 fix(i18n): localize search error PR35 Friends: UX + reliability (search errors + follow-ups) yes 2026-01-25T22:17:46.903Z Friends search UX: useSearch returns stable error code and UI localizes via errors.searchFailed; debounce/retry hook test added.
200
+ 199 208f0222a997 fix(i18n): localize Codex resume dialog PR26 New session wizard end-to-end yes 2026-01-25T22:17:46.903Z New-session web UX: present wizard in BaseModal on web; localize Codex resume “not installed” dialog.
201
+ 200 02ad6b4a8352 fix(i18n): move openMachine to connect scope PR26 New session wizard end-to-end yes 2026-01-25T22:17:46.903Z i18n taxonomy: move openMachine key from common.* to connect.* and update new-session dialog.
202
+ 201 ce42bf56d7b6 fix(web): correct libsodium wrapper typing PR01 Foundations / DevX yes 2026-01-25T22:17:46.903Z Web runtime stability: force libsodium-wrappers CJS build to avoid Metro ESM/top-level await parsing failures (typed export).
203
+ 202 f0417ca11ac5 fix(web): keep libsodium wrapper namespace typing PR01 Foundations / DevX yes 2026-01-25T22:17:46.903Z Typing follow-up: export cast uses typeof sodiumType; squash into 201 if rewriting.
204
+ 203 b6d3874bf175 fix(settings): include Codex resume in master experiment toggle PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T22:17:46.903Z Settings UX correctness: master experiments toggle also controls expCodexResume.
205
+ 204 a4d7faba961f fix(i18n): localize session error fallbacks PR29 Sessions & message list UX yes 2026-01-25T22:17:46.903Z Session UI copy/i18n: localize error fallbacks and profile-info modal; includes some unrelated expInboxFriends translations (noted mixed).
206
+ 205 1ea2bddb8bbd test(server): validate processImage resize output PR23 Server serves UI + public files safely yes 2026-01-25T22:17:46.903Z Server test correctness: validate processImage resize output pixel buffer length vs target dims (width/height metadata remains original).
207
+ 206 1e7d7f8a4747 fix(server): keep light server running PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:17:46.903Z Server-light correctness: main.light.ts no longer exits after startServer resolves.
208
+ 207 61bf70183ebf test(cli): set DEBUG before importing logger PR01 Foundations / DevX yes 2026-01-25T22:17:46.903Z Test correctness: set DEBUG before importing logger (reads env at import time).
209
+ 208 61a18ac95e17 fix(tools): require permission id for ExitPlanMode actions PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:17:46.903Z Tool safety: ExitPlan approve/reject requires permission id; missing id shows localized error and does not mark responded; tests included.
210
+ 209 5b36c9bf91c1 test(tools): avoid null permission in ExitPlanToolView tests PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:17:46.903Z Test follow-up: align missing permission shape (undefined vs null); squash into 208 if rewriting.
211
+ 210 b7f63e928e4f fix(persistence): retry daemon state read when file appears PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T22:17:46.903Z Daemon state race hardening: readDaemonState retries on ENOENT when state file appears shortly after start; regression test.
212
+ 211 55428fb0253c fix(tools): alert when AskUserQuestion permission id is missing PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:22:13.597Z Tools safety: AskUserQuestion shows localized modal error and no-ops when permission id is missing (aligns with ExitPlanMode hardening); targeted test.
213
+ 212 dc6955f88abd fix(terminal): prevent sessionId path traversal in attachment info PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T22:22:13.597Z Terminal attachment security: encode sessionId filenames (encodeURIComponent) for attachment info storage with legacy fallback; later commits further restrict legacy fallback.
214
+ 213 bb685fbeff7b fix(terminal): clarify missing --happy-starting-mode value PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T22:22:13.597Z CLI argv validation: fail closed if --happy-starting-mode is missing/invalid (not another flag); test added.
215
+ 214 5bcc7d20cd6b test(utils): stabilize serverConnectionErrors retry count test PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T22:22:13.597Z Test stability: stub Math.random for jittered backoff and ensure cleanup/cancel in retry-count test.
216
+ 215 82968aa8fe6c fix(ui): send pending messages before closing modal PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:22:13.597Z PendingMessagesModal integrity: send-now ordering is abort→send→delete→close; send failure does not delete/close; testIDs + regression tests.
217
+ 216 b7219c8bfe2b fix(ink): avoid async useInput handler PR31 Terminal switching reliability (remote↔local) yes 2026-01-25T22:22:13.597Z Ink reliability: avoid async useInput handler; use cancellable timeouts and clear on unmount/messageBuffer changes.
218
+ 217 d70a6f6669fe fix(claude): trim CLAUDE_CONFIG_DIR overrides PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T22:22:13.597Z Claude robustness: trim CLAUDE_CONFIG_DIR overrides (treat as user input); regression test.
219
+ 218 47f638b73fca test(utils): cover failuresCount with custom backoff PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T22:22:13.597Z Backoff semantics test: failuresCount increments per attempt under custom backoff.
220
+ 219 2abc70fef03c fix(utils): track failuresCount for custom backoff PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T22:22:13.597Z Backoff semantics fix: InvalidateSync tracks failuresCount internally so custom backoff implementations report consistent counts.
221
+ 220 dc8016f01c56 fix(server): validate HAPPY_SERVER_LIGHT_DATA_DIR for light migrations PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:22:13.597Z Server-light migration reliability: validate/trim required light data dir and centralize deploy plan args; tests included.
222
+ 221 b0085827322c fix(server): handle missing UI index in error handlers PR23 Server serves UI + public files safely yes 2026-01-25T22:22:13.597Z Serve-UI reliability: SPA error handlers return 404 (not 500) when UI index missing; regression test.
223
+ 222 abf288056636 fix(cli): reject invalid messageQueueV1 inFlight PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:22:13.597Z Queue parsing hardening: reject invalid messageQueueV1.inFlight shapes (fail closed) + test.
224
+ 223 73ce32d242a0 fix(i18n): translate Spanish experiment subtitles PR06 Settings: API keys + experiments + settings screens yes 2026-01-25T22:22:13.597Z i18n polish: translate Spanish experiment subtitles (pure translations).
225
+ 224 98bc00096e86 fix(i18n): localize Codex resume banner PR19 Resume end-to-end yes 2026-01-25T22:22:13.597Z New-session i18n: localize Codex resume banner strings; commit also includes wizard header + permission option refactors (noted mixed).
226
+ 225 4fabec9b69b3 feat(new-session): add WizardSectionHeaderRow PR26 New session wizard end-to-end yes 2026-01-25T22:22:13.597Z New-session UI primitive: add WizardSectionHeaderRow component; reorder before commits that use it if rewriting.
227
+ 226 c461ed1cb4ef feat(permission): add permission mode option helpers PR10 Permission framework (Claude/cloud baseline) yes 2026-01-25T22:28:25.546Z Permission mode option helpers centralize per-agent options/labels/icons and normalization (note: descriptions still hardcoded English where used).
228
+ 227 23b595edd0fe refactor(sync): simplify path formatting PR29 Sessions & message list UX yes 2026-01-25T22:28:25.546Z Session list home-relative path formatting simplified to consistent `~` prefix (refactor-only).
229
+ 228 523989b4de8e fix(server-light): avoid master secret race PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:28:25.546Z Server-light: master secret persistence made atomic (exclusive create + EEXIST read-back) to avoid multi-process race/corruption.
230
+ 229 d89a9427e765 fix(cli): clean up metadata waiters on disconnect PR17 CLI reliability (waiters + reconnection + backoff semantics) yes 2026-01-25T22:28:25.546Z CLI socket reliability: waitForMetadataUpdate resolves `false` on disconnect and cleans up listeners; regression test added.
231
+ 230 fedb8a66160a test(cli): accept lowercase preview-env keys PR15 preview-env end-to-end yes 2026-01-25T22:28:25.546Z Added test coverage for preview-env accepting lowercase env keys.
232
+ 231 fc0ce89b13b7 fix(cli): allow lowercase preview-env keys PR15 preview-env end-to-end yes 2026-01-25T22:28:25.546Z Preview-env: accept lowercase keys, block `__proto__/constructor/prototype`, use Object.create(null) for extraEnv; adds invalid-key test.
233
+ 232 ad95c5b01c25 test(happy): keep useCLIDetection timestamp stable PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:28:25.546Z Added fake-timer test for stable useCLIDetection timestamp when loaded snapshot lacks `checkedAt`.
234
+ 233 c251edf3c307 test(happy): fix useCLIDetection timestamp test PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:28:25.546Z Test hygiene for useCLIDetection timestamp test (act + fake timer cleanup).
235
+ 234 34fa4091d3cc fix(happy): stabilize useCLIDetection timestamp PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:28:25.546Z Capabilities hook reliability: stabilize useCLIDetection timestamp via fallback detect-at ref when `checkedAt` missing (prevents flapping).
236
+ 235 31340e53294c fix(happy): inline CLI detection request PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:28:25.546Z Follow-up cleanup: keep CLI detection request construction self-contained (squash with 234 if rewriting).
237
+ 236 054250f408e2 fix(i18n): localize codex resume install modals PR19 Resume end-to-end yes 2026-01-25T22:28:25.546Z Localized Codex resume install/update/reinstall modals (Machine + New Session) and added deps.* status strings across locales; note key-scope duplication to unify later.
238
+ 237 241f0ae24b1d test(cli): prevent legacy sessionId path traversal PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T22:28:25.546Z Regression test: legacy terminal attachment info fallback must not allow traversal-like session ids.
239
+ 238 a1e4a6dd3fbd fix(cli): block legacy sessionId path traversal PR18 TMUX end-to-end (headless sessions + attach + settings) yes 2026-01-25T22:28:25.546Z Security fix: block legacy fallback reads when sessionId contains `/` or `\\`.
240
+ 239 e2618e04a26b fix(a11y): add labels to codex resume actions PR19 Resume end-to-end yes 2026-01-25T22:28:25.546Z A11y: added accessibilityRole/Label to Codex resume banner actions (install/update/reinstall/check updates).
241
+ 240 d0f9ad5e8310 test(claude): remove stale transcriptPath red-test scaffolding PR20 Claude session reliability (switching + transcript/scanner + local runner) yes 2026-01-25T22:28:25.546Z Test cleanup: removed stale transcriptPath red-test scaffolding/casts now that the final API exists.
242
+ 241 1464402758bf fix(codex): preserve falsy MCP tool results PR21 Codex MCP tool-call result correctness yes 2026-01-25T22:33:42.998Z Codex MCP: extract Ok/Err outputs via hasOwnProperty so falsy values are preserved; unit tests added.
243
+ 242 57f84f0691c6 fix(server-light): harden public file path encoding PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:33:42.998Z Server-light: strict public path normalization (reject traversal/absolute/drive-letter/null bytes) + segment-wise encodeURIComponent URL building; expanded tests.
244
+ 243 0b7db6945325 fix(storage): validate S3_PORT and bucket existence PR24 Storage S3 validation yes 2026-01-25T22:33:42.998Z Storage safety: validate S3_PORT (1..65535) and fail-fast if bucket does not exist; focused tests added.
245
+ 244 74fc860b07b5 refactor(queue): simplify stale in-flight reclaim PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:33:42.998Z MessageQueueV1 maintenance: simplified stale inFlight reclaim code path (refactor-only).
246
+ 245 82bf82cb6715 fix(hooks): prevent stale capabilities cache overwrite PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:33:42.998Z Capabilities cache race fix: guard updates by inFlightToken so stale requests can’t clobber newer loaded results; race regression test added.
247
+ 246 384b15252026 fix(expo): harden tool submit and pending send PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:33:42.998Z User-action hardening: PendingMessagesModal discards queued item if delete fails after send; adds per-item discard helper; AskUserQuestion submit failures show alert + regression test.
248
+ 247 24b607abfa07 Refactor schema sync and centralize Prisma types PR22 Server-light flavor (variant + schema/prisma sync) yes 2026-01-25T22:33:42.998Z Server schema maintenance: replaced schema:sqlite with schema:sync, generated enums + drift tests, centralized Prisma init/types with fail-fast db proxy (note: unrelated yarn.lock hunk exists).
249
+ 248 bf3027799623 Set EXPO_UNSTABLE_WEB_MODAL env var in Expo scripts PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T22:33:42.998Z Expo web modal reliability: set EXPO_UNSTABLE_WEB_MODAL=1, pin expo-router 6.0.22 and patch web modal stack; includes small session-info gating tweak (expCodexAcp).
250
+ 249 c803115dcbdc Improve postinstall script for symlinked paths and patching PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T22:33:42.998Z Expo postinstall reliability: resolve symlinked paths and run patch-package from both repo root and expo-app so hoisted and non-hoisted patches apply.
251
+ 250 0c3b41030bbc Add Vitest stubs for Expo and React Native modules PR01 Foundations / DevX yes 2026-01-25T22:33:42.998Z Testing infra: added Vitest stubs/setup for Expo/React Native modules (incl. in-memory MMKV mock) to run UI unit tests in Node.
252
+ 251 7d60e6fc77f2 cli(acp): support loadSession + replay capture; normalize tool events PR36 ACP agents end-to-end (runtimes + replay + tool normalization) yes 2026-01-25T22:36:01.317Z ACP CLI: replay capture + import helpers, `loadSession` support, publishSlashCommands, and tool event + permission payload normalization; focused tests added.
253
+ 252 e35328ab19ad cli(permissions): persist per-session allowlists; harden shell approvals PR11 Agent permissions (Codex/Gemini): permission modes + allowlists yes 2026-01-25T22:36:01.317Z Codex/Gemini permissions: persist per-session allowlists via BasePermissionHandler; add stable tool identifier helpers and hardened shell command allowlist; targeted tests.
254
+ 253 caf5adfe3449 cli(claude): support AskUserQuestion answers + ExitPlanMode negotiation PR12 AskUserQuestion + ExitPlan native handling yes 2026-01-25T22:36:01.317Z Claude remote: AskUserQuestion answers and ExitPlanMode negotiation routed via permission decision path; regression tests; removed legacy prompt/interactionRespond helpers.
255
+ 254 011a3602411f cli(api): observe self-broadcasts for pending-queue; add tool tracing PR13 MessageQueueV1 + Pending messages end-to-end yes 2026-01-25T22:36:01.317Z CLI pending queue reliability: treat self-broadcasts as pending-queue signals and add transcript recovery behavior in apiSession; introduces toolTrace JSONL writer/tests (noted separately as tracing).
256
+ 255 809d2bb385e0 cli(tool-trace): add fixture extraction + CLI script PR39 Tool UX: normalization + specialized views + tracing yes 2026-01-25T22:36:01.317Z Tool tracing: JSONL→fixtures extractor (truncation/sanitization) plus tsx script and npm script for local fixture generation.
257
+ 256 553781556305 cli(auth): add --no-open to skip browser open PR04 Auth + storage scoping yes 2026-01-25T22:36:01.317Z Auth UX: `happy auth login --no-open` (and env compat) skips auto-opening browser; unit test ensures browser open is skipped.
258
+ 257 5955ea5c21a3 cli(daemon): idempotent resume + attach files + shutdown policy PR16 Daemon reliability (ownership + reattach/restart safety) yes 2026-01-25T22:36:01.317Z Daemon reliability: idempotent resume (avoid duplicates), per-session attach files + startup metadata merge/update helpers, shutdown watchdog policy, and non-interactive auth gating regression test.
259
+ 258 cce05b18a5d7 cli(agents): wire ACP agents into factory/transport registry PR36 ACP agents end-to-end (runtimes + replay + tool normalization) yes 2026-01-25T22:36:01.317Z Agent plumbing: register Codex ACP + OpenCode factories in agent factory/transport registries.
260
+ 259 27bb2523f690 cli(opencode): add OpenCode ACP agent runtime PR36 ACP agents end-to-end (runtimes + replay + tool normalization) yes 2026-01-25T22:36:01.317Z OpenCode ACP: new runtime + transport handler, session-id helpers and permission handler; focused unit tests.
261
+ 260 abe1cf8ed370 cli(codex-acp): add runtime + capability gating PR36 ACP agents end-to-end (runtimes + replay + tool normalization) yes 2026-01-25T22:36:01.317Z Codex ACP: runtime + command resolution + session-id metadata helpers; extends capabilities for ACP probing/Codex ACP dependency checks; tests included (note: can be split if needed).
262
+ 261 d9100a80112b cli(entry): refactor agent subcommands and startup flags PR36 ACP agents end-to-end (runtimes + replay + tool normalization) yes 2026-01-25T22:41:30.073Z CLI entry: aligned agent subcommands/startup flags (OpenCode wiring, Codex/Gemini arg parsing), parses permission-mode-updated-at, and removes legacy resume subcommand in favor of existing-session/resume flags.
263
+ 262 2edc5305ca3f expo-app(test): harden vitest stubs + unistyles typing PR01 Foundations / DevX yes 2026-01-25T22:41:30.073Z Test infra: hardened Vitest stubs/config aliases/setup and improved unistyles typing/bootstrap; moved/added RootLayout hook-order regression test.
264
+ 263 5575d7267cd0 expo-app(tools): normalize tool inference + rendering inputs PR39 Tool UX: normalization + specialized views + tracing yes 2026-01-25T22:41:30.073Z Tool UX: added shared normalization/parsing helpers (safe JSON parse, identifier parsing, permission summaries, shell command parsing) and made ToolView/ToolFullView rely on normalized shapes.
265
+ 264 d115797fcdde expo-app(tools): add specialized tool views + tests PR39 Tool UX: normalization + specialized views + tracing yes 2026-01-25T22:41:30.073Z Tool UX: added specialized tool views (bash/read/grep/glob/web/structured results), improved permission UI flows, and expanded tool rendering regression tests (inference + fallbacks).
266
+ 265 23014814ea50 expo-app(agents): introduce agent registry + UI behavior helpers PR37 Agent registry end-to-end (selection + settings + UX helpers) yes 2026-01-25T22:41:30.073Z App agent registry: typed registry + UI helpers for enabled agents, CLI warnings, permission UI copy, and resume option derivation; tests for picker options/behavior.
267
+ 266 b142327f5e32 expo-app(sync): capabilities protocol + resume/pending-queue plumbing PR14 Capabilities end-to-end (protocol + wiring + reliability) yes 2026-01-25T22:41:30.073Z Mixed plumbing: introduced installable deps registry + capabilities request protocol and extended sync/types/tests for resume and pending queue; core capabilities/registry captured in PR description.
268
+ 267 552f517e9823 expo-app(ui): add InlineAddExpander; inline add for secrets/env vars PR09 Secrets / vault feature yes 2026-01-25T22:41:30.073Z UI UX: InlineAddExpander enables inline add flows for SecretsList and EnvironmentVariablesList with tests (secrets + env vars).
269
+ 268 cbaf39a63c60 expo-app(secret-requirement): add picker route + modularized modal PR26 New session wizard end-to-end yes 2026-01-25T22:41:30.073Z Secret requirement UX: modularized SecretRequirementModal, added full-screen picker route, and introduced pure apply/gating helpers with tests; improved /new web modal sizing/layout.
270
+ 269 36641d906490 expo-app(session): capability-gated resume flows + pending queue UX PR19 Resume end-to-end yes 2026-01-25T22:41:30.073Z App UX: capability-gated resume flows wired via agent registry + machine capabilities; added pending message rendering and clearer inactive/offline notices; supporting UI tests.
271
+ 270 9a9d439e5499 expo-app(settings): wire agent registry into settings PR37 Agent registry end-to-end (selection + settings + UX helpers) yes 2026-01-25T22:41:30.073Z Settings: session/account settings screens now use agent registry defaults/available agents to stay aligned with new permission/default behavior.
272
+ 271 67ceab362d6b expo-app(experiments): add inbox friends experiment gate PR35 Friends: UX + reliability (search errors + follow-ups) yes 2026-01-25T22:43:41.514Z Adds inbox/friends experiment flag + hooks and gates inbox/friends routes/routing based on the experiment; includes unit tests for the experiment helper.
273
+ 272 05b45b4f505d expo-app(settings): update features toggles for agents/inbox/codex PR37 Agent registry end-to-end (selection + settings + UX helpers) yes 2026-01-25T22:43:41.514Z Settings feature toggles: switch to agent-registry-backed experimental agent toggles, add inbox friends toggle, and add Codex ACP toggle with mutual-exclusion to Codex resume (mixed UI toggle commit).
274
+ 273 ec9225a8f935 expo-app(i18n): add device locale helpers + update translations PR03 i18n foundation sweep (optional) yes 2026-01-25T22:43:41.514Z i18n runtime: add device locale helpers (shared + native) and update translation dictionaries/index wiring (translations sweep noted as split/distribute in a stacked rewrite).
275
+ 274 98b7138360ff expo-app(agents): align resume helpers + temp session data typing PR19 Resume end-to-end yes 2026-01-25T22:43:41.514Z Resume helpers: align resume capability helpers to agent registry, add vendor resume-id lookup helper, and type temp session data agentType as AgentId; regression tests included.
276
+ 275 63cda8b20882 expo-app(ui): add list/pending primitives and polish PR38 UI list primitives + pending UI polish yes 2026-01-25T22:43:41.514Z UI primitives: add list/item-group row position + title-with-action helpers, improve dividers/tests, and refine list/pending UI layout/behavior; also touches some profile list model helpers (noted as mixed).
277
+ 276 10dca4ca7057 chore(expo): pin libsodium-wrappers and align patch-package dirs PR02 UI modal/overlay/popover + Expo web modal behavior yes 2026-01-25T22:43:41.514Z Expo dependency plumbing: pin libsodium-wrappers to 0.7.15, move expo-router patch into expo-app/patches, and align postinstall patch-package invocation; updates yarn.lock.
278
+ 277 cfe2ecd3e626 refactor: migrate StyleSheet imports to react-native-unistyles PR01 Foundations / DevX yes 2026-01-25T22:43:41.514Z Mechanical refactor: migrate StyleSheet imports to react-native-unistyles across expo-app sources and add invariant test to prevent regressions.
279
+ 278 8aaacbfaac7a docs: add Conventional Commits instructions PR01 Foundations / DevX yes 2026-01-25T22:43:41.514Z Adds Conventional Commits guidance for tooling via `.github/copilot-commit-instructions.md`.
File without changes
@@ -0,0 +1,54 @@
1
+ # Post-audit commit extraction ledger
2
+ # Scope: commits on `slopus/tmp/leeroy-wip` AFTER the last audited commit (`8aaacbfaac7a`).
3
+ # These commits were reviewed directly from git diffs (see `/tmp/leeroy-post-audit/*`) and folded into
4
+ # `docs/commit-audits/happy/pr-desc.working-document.md` as final-state changes/hardening.
5
+ # Base: 8aaacbfaac7a
6
+ # HEAD (captured): 66b078656f15dbcbd114710684c74711ee6d98e0
7
+ idx shaShort tops subject extracted extractedAt notes
8
+ 001 0e9e2c19 expo-app chore(postinstall): add patch verification for expo-router yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
9
+ 002 145b2675 expo-app fix(popover): account for scroll offset in portal positioning yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
10
+ 003 7ca87d9b cli fix(tmux): retry new-window on index conflict yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
11
+ 004 9f46219a cli feat(daemon): report and persist session termination yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
12
+ 005 47d4821e .github docs(github): add trailing newline to copilot instructions yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
13
+ 006 899263b5 cli fix(claude): avoid orphan task_complete events yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
14
+ 007 acbeaa9e cli fix(codex): only consume resume id after success yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
15
+ 008 b65a5225 cli fix(capabilities): normalize CLI ACP probe errors yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
16
+ 009 fe4c7425 cli test(ui): harden logger test and clarify auth copy yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
17
+ 010 7c36cca6 cli test(cli): stabilize env-dependent tests yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
18
+ 011 f196aca3 expo-app fix(expo): cleanup effects and harden permission copy yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
19
+ 012 a964d07c expo-app fix(expo): align error name and backoff utility yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
20
+ 013 a13a69c2 cli fix(api): avoid missing metadata wakeups yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
21
+ 014 adeae4f3 cli fix(claude): cleanup signal forwarding handlers yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
22
+ 015 b76aee40 cli fix(env): sanitize spawn environment variables yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
23
+ 016 e2c28134 cli fix(acp): propagate stdin write failures yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
24
+ 017 fe675f10 cli fix(i18n): localize installable deps and dropdown yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
25
+ 018 7a7ef605 cli fix(ui): show edge indicators without fades yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
26
+ 019 edd1ef5b cli fix(deps): use semver comparison for update badges yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
27
+ 020 e090953f cli test(ui): fix FloatingOverlay indicator query typing yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
28
+ 021 2b19a4b9 cli fix(acp): avoid hanging on stdin drain yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
29
+ 022 b309132c cli fix(api): avoid lost wakeups in metadata wait yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
30
+ 023 e6bfb001 cli fix(signals): re-raise forwarded signals yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
31
+ 024 77b6b455 cli fix(daemon): keep sessions tracked until exit yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
32
+ 025 57f7cfa4 cli test(env): avoid __proto__ literal pitfall yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
33
+ 026 10ab15ce cli chore: ignore .project artifacts yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
34
+ 027 6ab70c3b cli fix(cli): make gemini model config ESM-safe yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
35
+ 028 bbbc34c2 cli fix(caps): harden ACP probe termination yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
36
+ 029 ee0f9e41 cli refactor(cli): tidy capabilities layout + reuse nodeToWebStreams yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
37
+ 030 0f4c364a cli fix(terminal): harden tmux spawn and attach yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
38
+ 031 eae6831b cli fix(utils): avoid abort race in waitForMessagesOrPending yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
39
+ 032 a4730334 cli docs: add and update naming conventions in CLAUDE.md files yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
40
+ 033 1aa6b859 cli cli(acp/gemini): normalize terminal tool updates yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
41
+ 034 21e48122 cli cli(api): broaden tool tracing and keep wakeup safety yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
42
+ 035 49f4d6c1 cli cli(tool-trace): record permission request/response events yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
43
+ 036 15d5cc8c cli cli(codex): prefer call_id for tool correlation yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
44
+ 037 30408258 cli cli(daemon): inline stop session logic yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
45
+ 038 fe7bde15 cli cli(gemini): drop duplicate model config helper yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
46
+ 039 818eb7de expo-app expo-app(test): isolate vitest modules yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
47
+ 040 3cad232d expo-app expo-app(popover): add portal target + robust measurement yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
48
+ 041 6bc00f7f expo-app expo-app(tools): handle ACP diff items + read alias yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
49
+ 042 baadb34f expo-app expo-app(sync): infer pending permissions from tool calls yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
50
+ 043 d7bb3a2c expo-app expo-app(input): adapt prompt height to keyboard yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
51
+ 044 ba3dbc52 expo-app expo-app(env-vars): refine editor card UI yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
52
+ 045 7465c9cc expo-app expo-app(new-session): stabilize pick flows + preview machine yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
53
+ 046 e161ba1c expo-app expo-app(nav): avoid inline Stack.Screen options yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).
54
+ 047 66b07865 cli fix(cli): handle synchronous drain in nodeToWebStreams yes 2026-01-26T09:18:07.492Z Folded into PR description (post-audit follow-up hardening; final-state only).