happy-stacks 0.6.11 → 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.
- package/docs/commit-audits/happy/_tools/generate-plans.mjs +453 -0
- package/docs/commit-audits/happy/_tools/generate-pr-assignment.mjs +430 -0
- package/docs/commit-audits/happy/_tools/init-pr-assignment-working.mjs +107 -0
- package/docs/commit-audits/happy/leeroy-wip.commit-analysis.md +1849 -0
- package/docs/commit-audits/happy/leeroy-wip.commit-export.fuller-stat.md +747 -1
- package/docs/commit-audits/happy/leeroy-wip.commit-index.json +11740 -0
- package/docs/commit-audits/happy/leeroy-wip.commit-index.tsv +252 -0
- package/docs/commit-audits/happy/leeroy-wip.commit-inventory.md +18 -11
- package/docs/commit-audits/happy/leeroy-wip.commit-manual-review.md +1297 -140
- package/docs/commit-audits/happy/leeroy-wip.maintainers-overview.draft.md +448 -0
- package/docs/commit-audits/happy/leeroy-wip.pr-assignment.draft.tsv +252 -0
- package/docs/commit-audits/happy/leeroy-wip.pr-assignment.working.tsv +288 -0
- package/docs/commit-audits/happy/leeroy-wip.pr-catalog.draft.md +245 -0
- package/docs/commit-audits/happy/leeroy-wip.pr-stack-plan.draft.md +350 -0
- package/docs/commit-audits/happy/leeroy-wip.rewrite-deferred-fragments.tsv +65 -0
- package/docs/commit-audits/happy/leeroy-wip.rewrite-ledger.tsv +56 -0
- package/docs/commit-audits/happy/leeroy-wip.rewrite-process.md +240 -0
- package/docs/commit-audits/happy/leeroy-wip.rewrite-status.tsv +39 -0
- package/docs/commit-audits/happy/leeroy-wip.split-plan.draft.md +93 -0
- package/docs/commit-audits/happy/leeroy-wip.topic-buckets.md +76 -0
- package/docs/commit-audits/happy/pr-desc.extraction-ledger.tsv +279 -0
- package/docs/commit-audits/happy/pr-desc.original.md +0 -0
- package/docs/commit-audits/happy/pr-desc.post-audit-extraction-ledger.tsv +54 -0
- package/docs/commit-audits/happy/pr-desc.working-document.md +536 -0
- package/docs/happy-development.md +18 -1
- package/docs/isolated-linux-vm.md +23 -1
- package/docs/stacks.md +21 -1
- package/package.json +1 -1
- package/scripts/auth.mjs +46 -8
- package/scripts/daemon.mjs +44 -21
- package/scripts/doctor.mjs +2 -2
- package/scripts/doctor_cmd.test.mjs +67 -0
- package/scripts/happy.mjs +18 -5
- package/scripts/import.mjs +19 -13
- package/scripts/monorepo.mjs +414 -23
- package/scripts/monorepo_port.test.mjs +136 -0
- package/scripts/provision/linux-ubuntu-review-pr.sh +5 -1
- package/scripts/provision/macos-lima-happy-vm.sh +34 -2
- package/scripts/review.mjs +347 -124
- package/scripts/review_pr.mjs +78 -2
- package/scripts/run.mjs +2 -1
- package/scripts/stack.mjs +265 -19
- package/scripts/stack_daemon_cmd.test.mjs +196 -0
- package/scripts/stack_happy_cmd.test.mjs +103 -0
- package/scripts/utils/cli/prereqs.mjs +12 -1
- package/scripts/utils/cli/wizard.mjs +19 -1
- package/scripts/utils/dev/daemon.mjs +3 -1
- package/scripts/utils/llm/assist.mjs +64 -31
- package/scripts/utils/llm/happys_runner.mjs +60 -0
- package/scripts/utils/llm/tools.mjs +3 -3
- package/scripts/utils/proc/pm.mjs +1 -1
- package/scripts/utils/review/detached_worktree.mjs +61 -0
- package/scripts/utils/review/detached_worktree.test.mjs +62 -0
- package/scripts/utils/review/findings.mjs +133 -20
- package/scripts/utils/review/findings.test.mjs +88 -1
- package/scripts/utils/review/runners/augment.mjs +71 -0
- package/scripts/utils/review/runners/augment.test.mjs +42 -0
- package/scripts/utils/review/runners/coderabbit.mjs +54 -10
- package/scripts/utils/review/runners/coderabbit.test.mjs +15 -48
- package/scripts/utils/review/sliced_runner.mjs +39 -0
- package/scripts/utils/review/sliced_runner.test.mjs +47 -0
- package/scripts/utils/review/tool_home_seed.mjs +99 -0
- package/scripts/utils/review/tool_home_seed.test.mjs +113 -0
- package/scripts/utils/stack/cli_identities.mjs +29 -0
- package/scripts/utils/stack/startup.mjs +45 -7
- package/scripts/worktrees.mjs +8 -5
|
@@ -31,10 +31,29 @@ For every commit `NNN`, even if the diff is very large:
|
|
|
31
31
|
|
|
32
32
|
Important: for “diff summary skipped” commits, Pass 2 must replace “skipped” with an actual diff-based summary.
|
|
33
33
|
|
|
34
|
+
### Pass 3: PR assignment (MANDATORY; must cover 249/249)
|
|
35
|
+
|
|
36
|
+
Goal: assign every commit to exactly one “final feature / final fix” PR, without skipping any commit section.
|
|
37
|
+
|
|
38
|
+
Rules:
|
|
39
|
+
|
|
40
|
+
1. For each commit `NNN`, read the **entire** section in this document (not just the subject line).
|
|
41
|
+
2. Decide which PR this commit belongs to (or mark it “needs new PR”).
|
|
42
|
+
3. Record the decision in the working TSV:
|
|
43
|
+
- `docs/commit-audits/happy/leeroy-wip.pr-assignment.working.tsv`
|
|
44
|
+
4. Add a per-commit marker line immediately under the `Pass2FullDiff:` line:
|
|
45
|
+
- `Pass3PrPlan: finalPr=<PRxx|TBD> plannedAt=<ISO8601|-> manualReviewedForPrPlan=<yes|no> notes=<free text>`
|
|
46
|
+
|
|
47
|
+
Notes:
|
|
48
|
+
|
|
49
|
+
- Do **not** create a separate PR for translations/a11y/tests that belong to an existing final feature. Instead, fold them into that feature’s PR.
|
|
50
|
+
- If the commit verdict is `split`, you may still assign it to one PR (but note the split plan in `notes`).
|
|
51
|
+
|
|
34
52
|
---
|
|
35
53
|
|
|
36
54
|
## 001 2026-01-17 58528a7c37d3 `crypto`
|
|
37
55
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=58528a7c37d3 patchFile=/tmp/leeroy-wip-pass2/001.patch patchSha256=48c936d17414ce5361a3086fd65da99e39d72f6c998f554d2b1ace589969063e patchBytes=1529 patchLines=34 notesReviewed=yes reviewedAt=2026-01-24T18:00:05+0100 notesUpdated=no
|
|
56
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Foundations/DevX (build/patch infra); consider squashing with other patch-package plumbing.
|
|
38
57
|
|
|
39
58
|
- Subject: chore(crypto): patch react-native-libsodium
|
|
40
59
|
- Reasons: safety/security-sensitive area
|
|
@@ -60,6 +79,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=58528a7c37d3 patchFile=/
|
|
|
60
79
|
|
|
61
80
|
## 002 2026-01-17 552b8da0f621 `deps`
|
|
62
81
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=552b8da0f621 patchFile=/tmp/leeroy-wip-pass2/002.patch patchSha256=70706e72b85504f86151e911c2a8868a33ae7ba3cfda2ac29ce89acee1ae847f patchBytes=1439 patchLines=38 notesReviewed=yes reviewedAt=2026-01-24T18:00:05+0100 notesUpdated=no
|
|
82
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Foundations/DevX (test types dep).
|
|
63
83
|
|
|
64
84
|
- Subject: test(deps): add @types/react-test-renderer
|
|
65
85
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -83,6 +103,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=552b8da0f621 patchFile=/
|
|
|
83
103
|
|
|
84
104
|
## 003 2026-01-17 017b15c07ad7 `config`
|
|
85
105
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=017b15c07ad7 patchFile=/tmp/leeroy-wip-pass2/003.patch patchSha256=3100e5166a4c76905c7effa2bb865b80821cdda72665ed6d5ee9ee7626a7471c patchBytes=2186 patchLines=62 notesReviewed=yes reviewedAt=2026-01-24T18:00:05+0100 notesUpdated=no
|
|
106
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Foundations/DevX (app config reliability).
|
|
86
107
|
|
|
87
108
|
- Subject: chore(config): harden app variant defaults
|
|
88
109
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -108,6 +129,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=017b15c07ad7 patchFile=/
|
|
|
108
129
|
|
|
109
130
|
## 004 2026-01-17 4890a471df31 `auth`
|
|
110
131
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4890a471df31 patchFile=/tmp/leeroy-wip-pass2/004.patch patchSha256=181784f9f7f930afca8c24951e7b885dbc21f8390185cb75a2bba25293ea31b3 patchBytes=7931 patchLines=214 notesReviewed=yes reviewedAt=2026-01-24T18:00:05+0100 notesUpdated=no
|
|
132
|
+
Pass3PrPlan: finalPr=PR04 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Auth + storage scoping (web persistence hardening + scoped native keys).
|
|
111
133
|
|
|
112
134
|
- Subject: fix(auth): harden tokenStorage web persistence
|
|
113
135
|
- Reasons: safety/security-sensitive area
|
|
@@ -137,6 +159,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4890a471df31 patchFile=/
|
|
|
137
159
|
|
|
138
160
|
## 005 2026-01-17 4adc41d92af0 `sync`
|
|
139
161
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4adc41d92af0 patchFile=/tmp/leeroy-wip-pass2/005.patch patchSha256=a413acfa408057ab2dd0bc65925982631375704ab9af67ee7e0ec3864cd80802 patchBytes=9077 patchLines=250 notesReviewed=yes reviewedAt=2026-01-24T18:00:05+0100 notesUpdated=no
|
|
162
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Permission framework baseline (types/mapping/normalization); model-mode allowlist may later be separated if needed.
|
|
140
163
|
|
|
141
164
|
- Subject: feat(sync): add permission mode types and mapping
|
|
142
165
|
- Reasons: safety/security-sensitive area
|
|
@@ -170,6 +193,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4adc41d92af0 patchFile=/
|
|
|
170
193
|
|
|
171
194
|
## 006 2026-01-17 a5fbc3e8ba00 `persistence`
|
|
172
195
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a5fbc3e8ba00 patchFile=/tmp/leeroy-wip-pass2/006.patch patchSha256=71fe190c0a569839e8a14c097f8700658da1a7a41054a4d76045a90c4dd0d6b3 patchBytes=13668 patchLines=348 notesReviewed=yes reviewedAt=2026-01-24T18:03:45+0100 notesUpdated=yes
|
|
196
|
+
Pass3PrPlan: finalPr=PR04 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Primarily storage scoping + persistence hardening; during rewrite likely split into (a) storage scoping core and (b) model-mode persistence helpers.
|
|
173
197
|
|
|
174
198
|
- Subject: feat(persistence): scope storage and validate draft modes
|
|
175
199
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -205,6 +229,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a5fbc3e8ba00 patchFile=/
|
|
|
205
229
|
|
|
206
230
|
## 007 2026-01-17 18e77c46f38a `session`
|
|
207
231
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=18e77c46f38a patchFile=/tmp/leeroy-wip-pass2/007.patch patchSha256=a9e88970d34226b5cb63b54ef3e10143e45db6bc52b39456270e46a52cf25ede patchBytes=2980 patchLines=59 notesReviewed=yes reviewedAt=2026-01-24T18:03:45+0100 notesUpdated=no
|
|
232
|
+
Pass3PrPlan: finalPr=PR28 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Model modes final feature (UI clamping correctness).
|
|
208
233
|
|
|
209
234
|
- Subject: fix(session): clamp configurable model modes
|
|
210
235
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -233,6 +258,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=18e77c46f38a patchFile=/
|
|
|
233
258
|
|
|
234
259
|
## 008 2026-01-17 f7bb8a28fff7 `tools`
|
|
235
260
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f7bb8a28fff7 patchFile=/tmp/leeroy-wip-pass2/008.patch patchSha256=0f1443318c9c721269b45a532998bedab5cc0fc91c350dc4d0510c4896b52035 patchBytes=18534 patchLines=404 notesReviewed=yes reviewedAt=2026-01-24T18:03:45+0100 notesUpdated=no
|
|
261
|
+
Pass3PrPlan: finalPr=PR39 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Tool UX (normalization + rendering): ACP tool parsing hardening, safe tool_result normalization, and tool-title generation (includes required i18n keys).
|
|
236
262
|
|
|
237
263
|
- Subject: fix(tools): harden ACP tool parsing and titles
|
|
238
264
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -270,6 +296,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f7bb8a28fff7 patchFile=/
|
|
|
270
296
|
|
|
271
297
|
## 009 2026-01-17 292424245277 `sync`
|
|
272
298
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=292424245277 patchFile=/tmp/leeroy-wip-pass2/009.patch patchSha256=61a8397b7db9e5dbdc71a14b647b19e149fc65154fe3d952cbcf2c1b72140946 patchBytes=12798 patchLines=324 notesReviewed=yes reviewedAt=2026-01-24T18:03:45+0100 notesUpdated=no
|
|
299
|
+
Pass3PrPlan: finalPr=PR27 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Sync robustness; outgoing message metadata builder is a foundational correctness improvement.
|
|
273
300
|
|
|
274
301
|
- Subject: refactor(sync): centralize outgoing message metadata
|
|
275
302
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -297,6 +324,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=292424245277 patchFile=/
|
|
|
297
324
|
|
|
298
325
|
## 010 2026-01-17 39cc25154cdd `storage`
|
|
299
326
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=39cc25154cdd patchFile=/tmp/leeroy-wip-pass2/010.patch patchSha256=faab1b0943ff87e82028b877ffe2c0a3d77782d7f90e9e56ab6429a5af839c09 patchBytes=10425 patchLines=186 notesReviewed=yes reviewedAt=2026-01-24T18:03:45+0100 notesUpdated=no
|
|
327
|
+
Pass3PrPlan: finalPr=PR28 plannedAt=2026-01-25T12:16:53+0100 manualReviewedForPrPlan=yes notes=Mixed: (a) server-config scoping + (b) per-session model-mode persistence + (c) replaceSettings for convergence; split during rewrite.
|
|
300
328
|
|
|
301
329
|
- Subject: feat(storage): persist session model modes
|
|
302
330
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -327,6 +355,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=39cc25154cdd patchFile=/
|
|
|
327
355
|
|
|
328
356
|
## 011 2026-01-17 c2d3507357dc `settings`
|
|
329
357
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c2d3507357dc patchFile=/tmp/leeroy-wip-pass2/011.patch patchSha256=cb3d81d637c10a4b25e538663898c9d1a8dc3427f3d3d01c5a5dca3a4163b6b4 patchBytes=31188 patchLines=675 notesReviewed=yes reviewedAt=2026-01-24T18:06:57+0100 notesUpdated=yes
|
|
358
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T12:24:17+0100 manualReviewedForPrPlan=yes notes=Settings core reliability: tolerant parsing + legacy profile normalization + settings sync convergence (relies on split of 010 for replaceSettings).
|
|
330
359
|
|
|
331
360
|
- Subject: fix(settings): make parsing tolerant for profiles
|
|
332
361
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -364,6 +393,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c2d3507357dc patchFile=/
|
|
|
364
393
|
|
|
365
394
|
## 012 2026-01-17 207ef1b2f572 `dev`
|
|
366
395
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=207ef1b2f572 patchFile=/tmp/leeroy-wip-pass2/012.patch patchSha256=a9b3dfe31a3465be8415ccab235bb3bef26cb918530e86d596b6075891c94423 patchBytes=11240 patchLines=240 notesReviewed=yes reviewedAt=2026-01-24T18:10:19+0100 notesUpdated=no
|
|
396
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:24:17+0100 manualReviewedForPrPlan=yes notes=Dev-only debug-log gating; optionally squash into the feature that introduces the logs (capabilities/voice) during rewrite.
|
|
367
397
|
|
|
368
398
|
- Subject: fix(dev): gate CLI detection logging
|
|
369
399
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -389,6 +419,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=207ef1b2f572 patchFile=/
|
|
|
389
419
|
|
|
390
420
|
## 013 2026-01-17 58a892d413d1 `command-palette`
|
|
391
421
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=58a892d413d1 patchFile=/tmp/leeroy-wip-pass2/013.patch patchSha256=1a11a0e1395cd3aa82663418fb8d16080ee1348ac4e44b1c39132dd733b6ee00 patchBytes=1434 patchLines=36 notesReviewed=yes reviewedAt=2026-01-24T18:10:19+0100 notesUpdated=no
|
|
422
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:26:06+0100 manualReviewedForPrPlan=yes notes=UI primitives: command-palette stale-closure fix (memo deps).
|
|
392
423
|
|
|
393
424
|
- Subject: fix(command-palette): include navigate dependency
|
|
394
425
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -413,6 +444,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=58a892d413d1 patchFile=/
|
|
|
413
444
|
|
|
414
445
|
## 014 2026-01-17 41479b35415f `env`
|
|
415
446
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=41479b35415f patchFile=/tmp/leeroy-wip-pass2/014.patch patchSha256=0a14bef9963c50010d2c6baa8bdc255195f7ac07b50ecece4fcaf9c0fcd9a657 patchBytes=5851 patchLines=141 notesReviewed=yes reviewedAt=2026-01-24T18:10:19+0100 notesUpdated=no
|
|
447
|
+
Pass3PrPlan: finalPr=PR07 plannedAt=2026-01-25T12:26:06+0100 manualReviewedForPrPlan=yes notes=Env var templates: parser/formatter + tests (shared primitive).
|
|
416
448
|
|
|
417
449
|
- Subject: feat(env): add env var template parsing
|
|
418
450
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -441,6 +473,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=41479b35415f patchFile=/
|
|
|
441
473
|
|
|
442
474
|
## 015 2026-01-17 695bcd09eb9e `env`
|
|
443
475
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=695bcd09eb9e patchFile=/tmp/leeroy-wip-pass2/015.patch patchSha256=2ce8f5113f7e010edb0f7ddce7fa3f1ad2ef7e7f57b8074c9ad0d46707d5d2b5 patchBytes=24232 patchLines=540 notesReviewed=yes reviewedAt=2026-01-24T18:10:19+0100 notesUpdated=no
|
|
476
|
+
Pass3PrPlan: finalPr=PR07 plannedAt=2026-01-25T12:26:06+0100 manualReviewedForPrPlan=yes notes=Env preview correctness/safety + preview-env integration (fallback avoids secrets); may fold preview-env backend into PR07 for a true end-to-end feature.
|
|
444
477
|
|
|
445
478
|
- Subject: fix(env): improve remote env resolution and previews
|
|
446
479
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -475,6 +508,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=695bcd09eb9e patchFile=/
|
|
|
475
508
|
|
|
476
509
|
## 016 2026-01-17 6cdb90a49aad `env`
|
|
477
510
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6cdb90a49aad patchFile=/tmp/leeroy-wip-pass2/016.patch patchSha256=c1429ac752ff6a5828610cd00f89c3490559f5ebdde07fa158afececee5239fb patchBytes=90044 patchLines=2144 notesReviewed=yes reviewedAt=2026-01-24T18:10:19+0100 notesUpdated=no
|
|
511
|
+
Pass3PrPlan: finalPr=PR07 plannedAt=2026-01-25T12:26:06+0100 manualReviewedForPrPlan=yes notes=Env vars UX overhaul (card/list/preview modal) + tests; optional split for reviewability.
|
|
478
512
|
|
|
479
513
|
- Subject: feat(env): update env var list, cards, and preview modal
|
|
480
514
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -511,6 +545,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6cdb90a49aad patchFile=/
|
|
|
511
545
|
|
|
512
546
|
## 017 2026-01-17 65bae55a0b61 `i18n`
|
|
513
547
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=65bae55a0b61 patchFile=/tmp/leeroy-wip-pass2/017.patch patchSha256=9734e2764a6330f2d829d9fd3a1e995d14127da3449088ffb2335f5a732ba331 patchBytes=181014 patchLines=3802 notesReviewed=yes reviewedAt=2026-01-24T18:10:19+0100 notesUpdated=yes
|
|
548
|
+
Pass3PrPlan: finalPr=PR03 plannedAt=2026-01-25T12:26:06+0100 manualReviewedForPrPlan=yes notes=i18n foundation: structural refactor (types from en.ts) + key expansion; split arch vs per-feature keys if feasible, otherwise land early to reduce conflicts.
|
|
514
549
|
|
|
515
550
|
- Subject: refactor(i18n): separate translation types and content
|
|
516
551
|
- Reasons: large change (+1756/-1006)
|
|
@@ -553,6 +588,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=65bae55a0b61 patchFile=/
|
|
|
553
588
|
|
|
554
589
|
## 018 2026-01-17 2993b5c860ff `new-session`
|
|
555
590
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2993b5c860ff patchFile=/tmp/leeroy-wip-pass2/018.patch patchSha256=a3ea133f850c41db35b08b19f9b5fb881ee0ed1fc9af696ad78446643cfcd30d patchBytes=299000 patchLines=5612 notesReviewed=yes reviewedAt=2026-01-24T18:15:13+0100 notesUpdated=yes
|
|
591
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T12:26:06+0100 manualReviewedForPrPlan=yes notes=New-session wizard/pickers refactor; must split (components extraction, picker wiring, wizard behavior) and reorder prerequisites.
|
|
556
592
|
|
|
557
593
|
- Subject: fix(new-session): restore standard modal flow
|
|
558
594
|
- Reasons: large change (+3142/-1629)
|
|
@@ -612,6 +648,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2993b5c860ff patchFile=/
|
|
|
612
648
|
|
|
613
649
|
## 019 2026-01-17 9e08047d2478 `profiles`
|
|
614
650
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9e08047d2478 patchFile=/tmp/leeroy-wip-pass2/019.patch patchSha256=fe3ad91efa4fad573b6f1ec9f647ded3034bf8e6b2675b336c8381ad9615120c patchBytes=124997 patchLines=2606 notesReviewed=yes reviewedAt=2026-01-24T18:17:05+0100 notesUpdated=yes
|
|
651
|
+
Pass3PrPlan: finalPr=PR08 plannedAt=2026-01-25T12:26:06+0100 manualReviewedForPrPlan=yes notes=Profiles core helpers (route params/grouping/actions/mutations/utils) + profiles settings UI wiring; consider split core helpers vs UI.
|
|
615
652
|
|
|
616
653
|
- Subject: fix(profiles): harden routing, grouping, and editing
|
|
617
654
|
- Reasons: large change (+1319/-857)
|
|
@@ -660,6 +697,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9e08047d2478 patchFile=/
|
|
|
660
697
|
|
|
661
698
|
## 020 2026-01-17 8d9f56e85e5a `ui`
|
|
662
699
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8d9f56e85e5a patchFile=/tmp/leeroy-wip-pass2/020.patch patchSha256=eea9bca8aa5358bdcc3b50105b6d6bcebf9819f5c7f4b9c92e66d1dab20ac145 patchBytes=276617 patchLines=6141 notesReviewed=yes reviewedAt=2026-01-24T18:31:18+0100 notesUpdated=yes
|
|
700
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:26:06+0100 manualReviewedForPrPlan=yes notes=UI primitives mega-commit: modal/list primitives + AgentInput + row actions + unsaved-changes prompt + cleanup; must split into focused commits within PR02 (some cleanup may move to PR26/PR08).
|
|
663
701
|
|
|
664
702
|
- Subject: refactor(ui): unify list selectors and modal primitives
|
|
665
703
|
- Reasons: too many files (28); safety/security-sensitive area
|
|
@@ -735,6 +773,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8d9f56e85e5a patchFile=/
|
|
|
735
773
|
|
|
736
774
|
## 021 2026-01-17 2ab560bb0535 `cli-detection`
|
|
737
775
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2ab560bb0535 patchFile=/tmp/leeroy-wip-pass2/021.patch patchSha256=4884006ad132219673c21166156bf5fb14eb96c313c0e1bc39a56c2d564145bf patchBytes=5695 patchLines=144 notesReviewed=yes reviewedAt=2026-01-24T18:32:25+0100 notesUpdated=no
|
|
776
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=Capabilities/CLI detection: add detect-cli RPC path + safe fallback/timeout behavior (may be superseded by capabilities protocol later, but keep as the first reliable detection primitive).
|
|
738
777
|
|
|
739
778
|
- Subject: feat(cli-detection): add daemon detect-cli RPC support
|
|
740
779
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -766,6 +805,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2ab560bb0535 patchFile=/
|
|
|
766
805
|
|
|
767
806
|
## 022 2026-01-17 2d4675a5d051 `agent-input`
|
|
768
807
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2d4675a5d051 patchFile=/tmp/leeroy-wip-pass2/022.patch patchSha256=895c72207bf08128dd67577e593aa5da3a056db3eb634b4754f1183ae41a7dd6 patchBytes=4414 patchLines=82 notesReviewed=yes reviewedAt=2026-01-24T18:32:51+0100 notesUpdated=no
|
|
808
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=AgentInput/UI: compact permission badges; fold required i18n badge keys into PR02 and ensure accessibility labels remain meaningful.
|
|
769
809
|
|
|
770
810
|
- Subject: fix(agent-input): use compact permission badges
|
|
771
811
|
- Reasons: safety/security-sensitive area
|
|
@@ -793,6 +833,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2d4675a5d051 patchFile=/
|
|
|
793
833
|
|
|
794
834
|
## 023 2026-01-18 d97924f3ef39 `test`
|
|
795
835
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d97924f3ef39 patchFile=/tmp/leeroy-wip-pass2/023.patch patchSha256=264361ca410fc48939c3fe2923b780e887b0def5045593ef123742bb9f34a9d7 patchBytes=829 patchLines=29 notesReviewed=yes reviewedAt=2026-01-24T18:33:10+0100 notesUpdated=no
|
|
836
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=Test/DevX: define __DEV__ in vitest for deterministic dev-guarded code paths.
|
|
796
837
|
|
|
797
838
|
- Subject: chore(test): define __DEV__ for vitest
|
|
798
839
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -816,6 +857,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d97924f3ef39 patchFile=/
|
|
|
816
857
|
|
|
817
858
|
## 024 2026-01-18 9c19baa833b9 `settings`
|
|
818
859
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c19baa833b9 patchFile=/tmp/leeroy-wip-pass2/024.patch patchSha256=bf6dd370043ba1753d4659c1d1c9bf5606f9f5ce5cc35b6a35f26eb660e1beee patchBytes=27820 patchLines=615 notesReviewed=yes reviewedAt=2026-01-24T18:34:24+0100 notesUpdated=no
|
|
860
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=Settings feature: add experiments + saved API keys schema + new-session apiKey route param consumption/persistence (foundation for API keys UI).
|
|
819
861
|
|
|
820
862
|
- Subject: feat(settings): add api keys and experiment toggles
|
|
821
863
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -858,6 +900,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c19baa833b9 patchFile=/
|
|
|
858
900
|
|
|
859
901
|
## 025 2026-01-18 21cc6df79f50 `api-keys`
|
|
860
902
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=21cc6df79f50 patchFile=/tmp/leeroy-wip-pass2/025.patch patchSha256=e9f31e31a441468fdbad1a80e23b0e87c43b1d6398f73c6bdacceebfe0820a1f patchBytes=30187 patchLines=686 notesReviewed=yes reviewedAt=2026-01-24T18:35:32+0100 notesUpdated=yes
|
|
903
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=API keys UI + pick flow; split out unrelated SettingsView/machine CLI glyph wiring into PR14 (capabilities/machines) during rewrite.
|
|
861
904
|
|
|
862
905
|
- Subject: feat(api-keys): add saved API keys UI
|
|
863
906
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -897,6 +940,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=21cc6df79f50 patchFile=/
|
|
|
897
940
|
|
|
898
941
|
## 026 2026-01-18 ce9cd74d408a `machine`
|
|
899
942
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ce9cd74d408a patchFile=/tmp/leeroy-wip-pass2/026.patch patchSha256=9eb86cc637175c0ef4d31c6afa1cf75fd4466f1102c09b699aa4575dc94609a8 patchBytes=56472 patchLines=1341 notesReviewed=yes reviewedAt=2026-01-24T18:37:32+0100 notesUpdated=no
|
|
943
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=Machines/capabilities UX: detected CLI status surfaces + cache/timeout + modal/list UI; fold i18n for these strings into PR14.
|
|
900
944
|
|
|
901
945
|
- Subject: feat(machine): surface detected CLI status
|
|
902
946
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -936,6 +980,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ce9cd74d408a patchFile=/
|
|
|
936
980
|
|
|
937
981
|
## 027 2026-01-18 7899bbd8433e `profiles`
|
|
938
982
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7899bbd8433e patchFile=/tmp/leeroy-wip-pass2/027.patch patchSha256=1d66ea8afae399b1edfb23f0f1eba7203a6aed9c625784e90764da0c29ddaeab patchBytes=95110 patchLines=1988 notesReviewed=yes reviewedAt=2026-01-24T18:40:29+0100 notesUpdated=yes
|
|
983
|
+
Pass3PrPlan: finalPr=PR08 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=Profiles requirements: preflight required env vars (preview-env) + resolver modal + badges; split (metadata/schema vs hook vs modal/list wiring) and fold missing i18n.
|
|
939
984
|
|
|
940
985
|
- Subject: feat(profiles): add API key requirements flow
|
|
941
986
|
- Reasons: safety/security-sensitive area
|
|
@@ -987,6 +1032,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7899bbd8433e patchFile=/
|
|
|
987
1032
|
|
|
988
1033
|
## 028 2026-01-18 0023ba1ea5aa `i18n`
|
|
989
1034
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0023ba1ea5aa patchFile=/tmp/leeroy-wip-pass2/028.patch patchSha256=81df78affd393e71a4019a9053bb8432ff7bc0689c208e6e45b9d291f6fbdcc3 patchBytes=245409 patchLines=4739 notesReviewed=yes reviewedAt=2026-01-24T18:44:46+0100 notesUpdated=yes
|
|
1035
|
+
Pass3PrPlan: finalPr=PR03 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=i18n batch: huge locale-key expansion + tooling (compare script + literal scanner). During rewrite, split tooling to PR01 and distribute keys into the owning feature PRs where feasible.
|
|
990
1036
|
|
|
991
1037
|
- Subject: refactor(i18n): update translations and tooling
|
|
992
1038
|
- Reasons: large change (+2913/-143)
|
|
@@ -1026,6 +1072,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0023ba1ea5aa patchFile=/
|
|
|
1026
1072
|
|
|
1027
1073
|
## 029 2026-01-18 12e75a3b36fa `autocomplete`
|
|
1028
1074
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=12e75a3b36fa patchFile=/tmp/leeroy-wip-pass2/029.patch patchSha256=57c5e6fd7a385743a42b43fa45b1e5f0c44b6838324c98a2ce1bdba1b065b90b patchBytes=1469 patchLines=29 notesReviewed=yes reviewedAt=2026-01-24T18:45:28+0100 notesUpdated=no
|
|
1075
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=UI polish: remove debug suggestion logs (autocomplete).
|
|
1029
1076
|
|
|
1030
1077
|
- Subject: fix(autocomplete): remove debug suggestion logs
|
|
1031
1078
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1050,6 +1097,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=12e75a3b36fa patchFile=/
|
|
|
1050
1097
|
|
|
1051
1098
|
## 030 2026-01-18 679877c26ea9 `settings`
|
|
1052
1099
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=679877c26ea9 patchFile=/tmp/leeroy-wip-pass2/030.patch patchSha256=66c3233690e649ede180f88795c4c1bf4f37c94fc7002111fe2d562f01e2cfd1 patchBytes=7337 patchLines=136 notesReviewed=yes reviewedAt=2026-01-24T18:46:01+0100 notesUpdated=no
|
|
1100
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T12:28:26+0100 manualReviewedForPrPlan=yes notes=Settings feature: expose per-experiment toggles (likely squash with 024 in rewritten history).
|
|
1053
1101
|
|
|
1054
1102
|
- Subject: feat(settings): expose per-experiment toggles
|
|
1055
1103
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1078,6 +1126,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=679877c26ea9 patchFile=/
|
|
|
1078
1126
|
|
|
1079
1127
|
## 031 2026-01-18 4dc9c7f8759c `agent-input`
|
|
1080
1128
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4dc9c7f8759c patchFile=/tmp/leeroy-wip-pass2/031.patch patchSha256=c738387880e6ad1b5393546c91d12cfe32ba1a05595053edbe8949de232e8e11 patchBytes=51158 patchLines=831 notesReviewed=yes reviewedAt=2026-01-24T18:47:29+0100 notesUpdated=yes
|
|
1129
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=AgentInput UI feature: configurable action bar layout + chip density; keep adjacent to other AgentInput UX refactors (depends on settings keys from PR06).
|
|
1081
1130
|
|
|
1082
1131
|
- Subject: feat(agent-input): add configurable action bar layout
|
|
1083
1132
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1117,6 +1166,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4dc9c7f8759c patchFile=/
|
|
|
1117
1166
|
|
|
1118
1167
|
## 032 2026-01-18 e8e42a6087ad `modal`
|
|
1119
1168
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e8e42a6087ad patchFile=/tmp/leeroy-wip-pass2/032.patch patchSha256=5e703a80cc8f7735a4b497cdcf15c3bcfb494780b2384d8980eb5c6133b8f00b patchBytes=10216 patchLines=231 notesReviewed=yes reviewedAt=2026-01-24T18:48:18+0100 notesUpdated=yes
|
|
1169
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=Modal/overlay reliability: iOS stacked-modal touch-blocking fix; keep early in PR02 before other modal/picker flows.
|
|
1120
1170
|
|
|
1121
1171
|
- Subject: fix(modal): prevent stacked modal touch-blocking on iOS
|
|
1122
1172
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1150,6 +1200,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e8e42a6087ad patchFile=/
|
|
|
1150
1200
|
|
|
1151
1201
|
## 033 2026-01-18 daa0b4527d7f `new-session`
|
|
1152
1202
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=daa0b4527d7f patchFile=/tmp/leeroy-wip-pass2/033.patch patchSha256=df9457db150e945395c07246fa6b0e64771d9fbdd764092e42dbaaeefb97fb36 patchBytes=187624 patchLines=3256 notesReviewed=yes reviewedAt=2026-01-24T18:52:09+0100 notesUpdated=yes
|
|
1203
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=New-session wizard: extracted NewSessionWizard + API key selection/preflight/route plumbing; keep after profiles requirements + preview-env semantics (PR08/PR07) and settings keys (PR06).
|
|
1153
1204
|
|
|
1154
1205
|
- Subject: feat(new-session): add api key selection and wizard extraction
|
|
1155
1206
|
- Reasons: large change (+1719/-1116)
|
|
@@ -1198,6 +1249,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=daa0b4527d7f patchFile=/
|
|
|
1198
1249
|
|
|
1199
1250
|
## 034 2026-01-18 94814465bf81 `sync`
|
|
1200
1251
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=94814465bf81 patchFile=/tmp/leeroy-wip-pass2/034.patch patchSha256=09e85cfc752e6ba9790b2a35f926bc0242b79eeba4b258d26079e985caece0a7 patchBytes=5326 patchLines=136 notesReviewed=yes reviewedAt=2026-01-24T18:53:41+0100 notesUpdated=no
|
|
1252
|
+
Pass3PrPlan: finalPr=PR27 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=Sync robustness/perf: debounce pending settings writes + safe flush-on-background + refreshMachinesThrottled de-dupe.
|
|
1201
1253
|
|
|
1202
1254
|
- Subject: perf(sync): debounce pending settings writes
|
|
1203
1255
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1229,6 +1281,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=94814465bf81 patchFile=/
|
|
|
1229
1281
|
|
|
1230
1282
|
## 035 2026-01-18 7ffd0c3428cb `ui`
|
|
1231
1283
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7ffd0c3428cb patchFile=/tmp/leeroy-wip-pass2/035.patch patchSha256=80e3faea4b996f40de251ffcb9a01d834711f4f7cd547a039bfff2017d11f59c patchBytes=1771 patchLines=39 notesReviewed=yes reviewedAt=2026-01-24T18:54:29+0100 notesUpdated=no
|
|
1284
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=UI/i18n hygiene for alerts: localize default error alert title/button/unknown fallback; fold required keys into PR02 (don’t keep in a separate i18n PR).
|
|
1232
1285
|
|
|
1233
1286
|
- Subject: fix(ui): localize error alerts
|
|
1234
1287
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1254,6 +1307,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7ffd0c3428cb patchFile=/
|
|
|
1254
1307
|
|
|
1255
1308
|
## 036 2026-01-18 97ca69e0a735 `i18n`
|
|
1256
1309
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=97ca69e0a735 patchFile=/tmp/leeroy-wip-pass2/036.patch patchSha256=d4e60307db035e91b99d59b7b132811586a8129b313005bf226fb69356c692b8 patchBytes=26606 patchLines=559 notesReviewed=yes reviewedAt=2026-01-24T18:55:47+0100 notesUpdated=yes
|
|
1310
|
+
Pass3PrPlan: finalPr=PR03 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=Mixed i18n sweep + behavior: most changes are translation-key wiring; BUT includes expShowThinkingMessages gating in MessageView (move that behavior into PR06). Split during rewrite.
|
|
1257
1311
|
|
|
1258
1312
|
- Subject: refactor(i18n): replace remaining UI literals
|
|
1259
1313
|
- Reasons: safety/security-sensitive area
|
|
@@ -1281,6 +1335,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=97ca69e0a735 patchFile=/
|
|
|
1281
1335
|
|
|
1282
1336
|
## 037 2026-01-18 5f5b57df5181 `ui`
|
|
1283
1337
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5f5b57df5181 patchFile=/tmp/leeroy-wip-pass2/037.patch patchSha256=61cb1063e70f82b42af8fb8dfedb96e14fb3153f000de76a2ccbd9dabbc5c326 patchBytes=6661 patchLines=145 notesReviewed=yes reviewedAt=2026-01-24T18:57:14+0100 notesUpdated=no
|
|
1338
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=UI primitives polish: Item subtitle node support + action-menu timing via InteractionManager + selectable count perf knob; keep near other item/menu refactors in PR02.
|
|
1284
1339
|
|
|
1285
1340
|
- Subject: refactor(ui): improve item rendering and action menu timing
|
|
1286
1341
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1312,6 +1367,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5f5b57df5181 patchFile=/
|
|
|
1312
1367
|
|
|
1313
1368
|
## 038 2026-01-18 7976b877259c `experiments`
|
|
1314
1369
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7976b877259c patchFile=/tmp/leeroy-wip-pass2/038.patch patchSha256=81f96664a2da5fe1b098d2d3765dea96084948a68ec8bbd952ae7cd9b553a03a patchBytes=12038 patchLines=243 notesReviewed=yes reviewedAt=2026-01-24T19:02:45+0100 notesUpdated=no
|
|
1370
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=Experiments feature: gate Zen/file-viewer/voice-auth behind per-experiment toggles; split Zen i18n string replacements into the appropriate feature PR/i18n distribution.
|
|
1315
1371
|
|
|
1316
1372
|
- Subject: feat(experiments): gate Zen, file viewer, and voice auth flow
|
|
1317
1373
|
- Reasons: safety/security-sensitive area
|
|
@@ -1357,6 +1413,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7976b877259c patchFile=/
|
|
|
1357
1413
|
|
|
1358
1414
|
## 039 2026-01-21 6ed379f82c34 `ui`
|
|
1359
1415
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6ed379f82c34 patchFile=/tmp/leeroy-wip-pass2/039.patch patchSha256=3ae4cad6fe7c831b911c1cb57135fbc7f0688022de1a42e0249e1980bb3e81da patchBytes=260667 patchLines=6344 notesReviewed=yes reviewedAt=2026-01-24T19:06:52+0100 notesUpdated=no
|
|
1416
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=UI overlay foundation: modal stacking + overlay portal + Popover primitives + consumer migrations; must split into ordered commits inside PR02 (test stubs → portal host → modal stack → Popover → migrations).
|
|
1360
1417
|
|
|
1361
1418
|
- Subject: refactor(ui): add modal + popover overlay primitives
|
|
1362
1419
|
- Reasons: too many files (43)
|
|
@@ -1424,6 +1481,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6ed379f82c34 patchFile=/
|
|
|
1424
1481
|
|
|
1425
1482
|
## 040 2026-01-21 f0787de5308e `sync`
|
|
1426
1483
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0787de5308e patchFile=/tmp/leeroy-wip-pass2/040.patch patchSha256=33c95731c921933829af09309c46e15d2de6d068618cf82ec5d1088cba2d8d84 patchBytes=184734 patchLines=4333 notesReviewed=yes reviewedAt=2026-01-24T19:11:23+0100 notesUpdated=yes
|
|
1484
|
+
Pass3PrPlan: finalPr=PR09 plannedAt=2026-01-25T12:37:23+0100 manualReviewedForPrPlan=yes notes=Massive mixed commit centered on secrets/vault: SecretString sealing + saved secrets + requirement resolver UI; split out terminal settings primitives to PR18 and sync/backoff + HappyError retry-policy work to PR27; crypto shims may belong in PR01/PR09. Also reconcile legacy profile normalization (011) vs removal noted here during rewrite.
|
|
1427
1485
|
|
|
1428
1486
|
- Subject: feat(sync): add secrets + terminal settings primitives
|
|
1429
1487
|
- Reasons: too many files (60); safety/security-sensitive area
|
|
@@ -1506,6 +1564,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0787de5308e patchFile=/
|
|
|
1506
1564
|
|
|
1507
1565
|
## 041 2026-01-21 66ee1eaf88a6 `secrets`
|
|
1508
1566
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=66ee1eaf88a6 patchFile=/tmp/leeroy-wip-pass2/041.patch patchSha256=afe787a1ab3f76435191f29d469da5336cc1cdbd7be45b44dbf894bd27538a4e patchBytes=285675 patchLines=5209 notesReviewed=yes reviewedAt=2026-01-24T19:17:58+0100 notesUpdated=yes
|
|
1567
|
+
Pass3PrPlan: finalPr=PR09 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=Secrets/vault UX: replace API keys UI with secrets + SecretRequirementModal + env presence hook; split out features/settings reorder bits to PR06, and fold translations into PR09/PR08/PR26 as appropriate during rewrite.
|
|
1509
1568
|
|
|
1510
1569
|
- Subject: feat(secrets): add secrets management + requirement resolver
|
|
1511
1570
|
- Reasons: too many files (29); safety/security-sensitive area
|
|
@@ -1573,6 +1632,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=66ee1eaf88a6 patchFile=/
|
|
|
1573
1632
|
|
|
1574
1633
|
## 042 2026-01-21 bdaf6913141f `terminal`
|
|
1575
1634
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bdaf6913141f patchFile=/tmp/leeroy-wip-pass2/042.patch patchSha256=87ea409cf0f61ce99cb5597c0bf5cd02cdf225bfe9bea9f1451c10ea3bc92986 patchBytes=39225 patchLines=826 notesReviewed=yes reviewedAt=2026-01-24T19:20:11+0100 notesUpdated=yes
|
|
1635
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=Terminal/tmux end-to-end: Terminal settings screen + tmux detection + metadata/attach info; keep adjacent to later tmux plumbing.
|
|
1576
1636
|
|
|
1577
1637
|
- Subject: feat(terminal): add Terminal settings + tmux metadata
|
|
1578
1638
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1617,6 +1677,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bdaf6913141f patchFile=/
|
|
|
1617
1677
|
|
|
1618
1678
|
## 043 2026-01-21 bc779e4f7909 `new-session`
|
|
1619
1679
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bc779e4f7909 patchFile=/tmp/leeroy-wip-pass2/043.patch patchSha256=056ec1d2a238bf9e0dcebd172b7a1ee7e61faa2f118f3b8c21a224abf61de5f2 patchBytes=135229 patchLines=2803 notesReviewed=yes reviewedAt=2026-01-24T19:27:57+0100 notesUpdated=yes
|
|
1680
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=New-session: integrate secrets requirement resolution + terminal spawn options + popover boundary; split out search/auth/ui refactors into PR27/PR01/PR02 during rewrite.
|
|
1620
1681
|
|
|
1621
1682
|
- Subject: refactor(new-session): integrate secrets + terminal spawn options
|
|
1622
1683
|
- Reasons: safety/security-sensitive area
|
|
@@ -1682,6 +1743,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bc779e4f7909 patchFile=/
|
|
|
1682
1743
|
|
|
1683
1744
|
## 044 2026-01-21 cb11d4bdb25a `docs`
|
|
1684
1745
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=cb11d4bdb25a patchFile=/tmp/leeroy-wip-pass2/044.patch patchSha256=d02b7bee3e56cf79b47b394f3645988462e7bc567333891fb5a54f9b1f614bdf patchBytes=7661 patchLines=118 notesReviewed=yes reviewedAt=2026-01-24T19:28:37+0100 notesUpdated=no
|
|
1746
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=Docs-only: AGENTS/CLAUDE guidance and invariants; keep in Foundations/DevX.
|
|
1685
1747
|
|
|
1686
1748
|
- Subject: docs: add AGENTS.md symlink + update CLAUDE.md
|
|
1687
1749
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1708,6 +1770,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=cb11d4bdb25a patchFile=/
|
|
|
1708
1770
|
|
|
1709
1771
|
## 045 2026-01-21 1bc3b9715776 `sync`
|
|
1710
1772
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1bc3b9715776 patchFile=/tmp/leeroy-wip-pass2/045.patch patchSha256=677cf555e52a3c402aada9d454ccf354ebe2586511aea82db752f7ae257c2358 patchBytes=3116 patchLines=84 notesReviewed=yes reviewedAt=2026-01-24T19:29:06+0100 notesUpdated=no
|
|
1773
|
+
Pass3PrPlan: finalPr=PR27 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=Sync robustness: guard JSON parsing for non-JSON 400 (GitHub OAuth), with test.
|
|
1711
1774
|
|
|
1712
1775
|
- Subject: fix(sync): handle non-JSON 400 responses
|
|
1713
1776
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1735,6 +1798,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1bc3b9715776 patchFile=/
|
|
|
1735
1798
|
|
|
1736
1799
|
## 046 2026-01-21 ea2e4d19d633 `deps`
|
|
1737
1800
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ea2e4d19d633 patchFile=/tmp/leeroy-wip-pass2/046.patch patchSha256=56d31e16958294810504afab058b72991c083212c0a3f8aeae3db8490c255d00 patchBytes=2141 patchLines=54 notesReviewed=yes reviewedAt=2026-01-24T19:29:31+0100 notesUpdated=no
|
|
1801
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=Foundations/DevX: react-test-renderer version alignment (test infra maintenance).
|
|
1738
1802
|
|
|
1739
1803
|
- Subject: chore(deps): align react-test-renderer with react
|
|
1740
1804
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1758,6 +1822,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ea2e4d19d633 patchFile=/
|
|
|
1758
1822
|
|
|
1759
1823
|
## 047 2026-01-21 dd041d21ecfc `sync`
|
|
1760
1824
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dd041d21ecfc patchFile=/tmp/leeroy-wip-pass2/047.patch patchSha256=792389c9c15b60f99358c4b7d9feed9f15a4debd0b5fbaf9acdbd970342fed78 patchBytes=5691 patchLines=147 notesReviewed=yes reviewedAt=2026-01-24T19:30:12+0100 notesUpdated=no
|
|
1825
|
+
Pass3PrPlan: finalPr=PR27 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=Sync robustness: guard JSON parsing on disconnect 404 paths (GitHub/services), with tests; keep adjacent to 045.
|
|
1761
1826
|
|
|
1762
1827
|
- Subject: fix(sync): guard JSON parsing on disconnect errors
|
|
1763
1828
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1786,6 +1851,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dd041d21ecfc patchFile=/
|
|
|
1786
1851
|
|
|
1787
1852
|
## 048 2026-01-21 395da4ff3167 `zen`
|
|
1788
1853
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=395da4ff3167 patchFile=/tmp/leeroy-wip-pass2/048.patch patchSha256=428a760c29ed02bd7fd265fa22ad4393f4aa9cfaf3ff3d883d17911ef5e37e34 patchBytes=1153 patchLines=27 notesReviewed=yes reviewedAt=2026-01-24T19:30:36+0100 notesUpdated=no
|
|
1854
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=Zen tiny refactor; keep with Zen/experiments feature PR (PR06) for coherence.
|
|
1789
1855
|
|
|
1790
1856
|
- Subject: refactor(zen): avoid todo variable shadowing
|
|
1791
1857
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1808,6 +1874,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=395da4ff3167 patchFile=/
|
|
|
1808
1874
|
|
|
1809
1875
|
## 049 2026-01-21 2e956f32f220 `new`
|
|
1810
1876
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2e956f32f220 patchFile=/tmp/leeroy-wip-pass2/049.patch patchSha256=f7fcfdf43ac24be5936137b84318c1fd819003a1f314b111adcfeba3f46e0475 patchBytes=39497 patchLines=974 notesReviewed=yes reviewedAt=2026-01-24T19:31:37+0100 notesUpdated=no
|
|
1877
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=New-session iOS navigation reliability: ensure pick screens/profile-edit present above containedModal; includes regression tests.
|
|
1811
1878
|
|
|
1812
1879
|
- Subject: fix(new): keep pick screens above iOS modal
|
|
1813
1880
|
- Reasons: safety/security-sensitive area
|
|
@@ -1841,6 +1908,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2e956f32f220 patchFile=/
|
|
|
1841
1908
|
|
|
1842
1909
|
## 050 2026-01-21 2da2f9349ec5 `popover`
|
|
1843
1910
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2da2f9349ec5 patchFile=/tmp/leeroy-wip-pass2/050.patch patchSha256=528033ab018e1175a1abed29c9b3239d2c2eea51d18cee907707829ad0593521 patchBytes=3016 patchLines=48 notesReviewed=yes reviewedAt=2026-01-24T19:32:04+0100 notesUpdated=no
|
|
1911
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:42:28+0100 manualReviewedForPrPlan=yes notes=Popover web typings fix ('fixed' positioning); squash into PR02 Popover/web portal hardening.
|
|
1844
1912
|
|
|
1845
1913
|
- Subject: fix(popover): allow web fixed positioning types
|
|
1846
1914
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1870,6 +1938,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2da2f9349ec5 patchFile=/
|
|
|
1870
1938
|
|
|
1871
1939
|
## 051 2026-01-21 43f23f2f082e `format`
|
|
1872
1940
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=43f23f2f082e patchFile=/tmp/leeroy-wip-pass2/051.patch patchSha256=7c584fabdf4202d4ea83a309226e0fd7160771f8ccd65089c171e10c5c4f8674 patchBytes=3206 patchLines=82 notesReviewed=yes reviewedAt=2026-01-24T19:32:27+0100 notesUpdated=no
|
|
1941
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Format-only whitespace normalization; squash into adjacent commits that touch the same files to avoid format-noise.
|
|
1873
1942
|
|
|
1874
1943
|
- Subject: chore(format): replace stray tabs with spaces
|
|
1875
1944
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1897,6 +1966,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=43f23f2f082e patchFile=/
|
|
|
1897
1966
|
|
|
1898
1967
|
## 052 2026-01-21 e1d55fdbd9ee `i18n`
|
|
1899
1968
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e1d55fdbd9ee patchFile=/tmp/leeroy-wip-pass2/052.patch patchSha256=37114d44d75a7a9196bb9a2dc65e0a06dd3772e32188cfaa80d83a38b08936d0 patchBytes=2064 patchLines=40 notesReviewed=yes reviewedAt=2026-01-24T19:32:51+0100 notesUpdated=no
|
|
1969
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Dev tooling correctness: untranslated-literals scanner parsing fixes; keep with tooling (PR01) and not inside feature PRs.
|
|
1900
1970
|
|
|
1901
1971
|
- Subject: fix(i18n): improve untranslated literal scan parsing
|
|
1902
1972
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1924,6 +1994,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e1d55fdbd9ee patchFile=/
|
|
|
1924
1994
|
|
|
1925
1995
|
## 053 2026-01-21 c210c1115598 `sync`
|
|
1926
1996
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c210c1115598 patchFile=/tmp/leeroy-wip-pass2/053.patch patchSha256=fcc3390b3405216d1626e828703be21bfaf1dd90d3c6382756e29b77390f4828 patchBytes=1106 patchLines=29 notesReviewed=yes reviewedAt=2026-01-24T19:33:20+0100 notesUpdated=no
|
|
1997
|
+
Pass3PrPlan: finalPr=PR27 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Test robustness for sync API tests: un-stub globals between tests to avoid leakage/order dependence.
|
|
1927
1998
|
|
|
1928
1999
|
- Subject: test(sync): restore stubbed fetch between tests
|
|
1929
2000
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1951,6 +2022,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c210c1115598 patchFile=/
|
|
|
1951
2022
|
|
|
1952
2023
|
## 054 2026-01-21 66c678451335 `ui`
|
|
1953
2024
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=66c678451335 patchFile=/tmp/leeroy-wip-pass2/054.patch patchSha256=8ef52fb7589c3b292d7a1eba66f35710fc0471b938034409381ee0401ae2da85 patchBytes=8880 patchLines=191 notesReviewed=yes reviewedAt=2026-01-24T19:33:50+0100 notesUpdated=no
|
|
2025
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Mixed small fixes across UI/new/terminal/dropdown/sync; keep but split into topic commits during rewrite (model-mode, picker params, dropdown chevron opacity, etc).
|
|
1954
2026
|
|
|
1955
2027
|
- Subject: fix(ui): apply small review fixes
|
|
1956
2028
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -1986,6 +2058,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=66c678451335 patchFile=/
|
|
|
1986
2058
|
|
|
1987
2059
|
## 055 2026-01-21 2472b376775c `modal`
|
|
1988
2060
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2472b376775c patchFile=/tmp/leeroy-wip-pass2/055.patch patchSha256=e3dd966bbbd9e34eeb832e502d4f13767f031955315a7ff627dd657fe58fe726 patchBytes=1127 patchLines=24 notesReviewed=yes reviewedAt=2026-01-24T20:01:38+0100 notesUpdated=no
|
|
2061
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Modal test robustness: safer z-index assertion; squash into modal test series.
|
|
1989
2062
|
|
|
1990
2063
|
- Subject: test(modal): make backdrop z-index assertion safer
|
|
1991
2064
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2013,6 +2086,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2472b376775c patchFile=/
|
|
|
2013
2086
|
|
|
2014
2087
|
## 056 2026-01-21 02450d179aaf `profiles`
|
|
2015
2088
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=02450d179aaf patchFile=/tmp/leeroy-wip-pass2/056.patch patchSha256=ebf5a695b86c41c4206d012607f796f807d86cf30fffdbcdf2a9bd00cc44ba6e patchBytes=1242 patchLines=26 notesReviewed=yes reviewedAt=2026-01-24T20:02:13+0100 notesUpdated=no
|
|
2089
|
+
Pass3PrPlan: finalPr=PR08 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Profiles correctness: align experiments/Gemini gating for built-in profiles.
|
|
2016
2090
|
|
|
2017
2091
|
- Subject: fix(profiles): align experimentsEnabled for built-in profiles
|
|
2018
2092
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2041,6 +2115,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=02450d179aaf patchFile=/
|
|
|
2041
2115
|
|
|
2042
2116
|
## 057 2026-01-21 ff7bec72358f `secrets`
|
|
2043
2117
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ff7bec72358f patchFile=/tmp/leeroy-wip-pass2/057.patch patchSha256=f833cd26ae6c7c72e2ccdf89cd904485fb84d23f610c9930e30b4e385b138dc8 patchBytes=5039 patchLines=117 notesReviewed=yes reviewedAt=2026-01-24T20:02:41+0100 notesUpdated=no
|
|
2118
|
+
Pass3PrPlan: finalPr=PR09 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Secrets list reliability: tighten callback deps/indentation; small follow-up to secrets UI.
|
|
2044
2119
|
|
|
2045
2120
|
- Subject: fix(secrets): tighten callback deps and fix indentation
|
|
2046
2121
|
- Reasons: safety/security-sensitive area
|
|
@@ -2068,6 +2143,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ff7bec72358f patchFile=/
|
|
|
2068
2143
|
|
|
2069
2144
|
## 058 2026-01-21 1bb65f5dd494 `new-session`
|
|
2070
2145
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1bb65f5dd494 patchFile=/tmp/leeroy-wip-pass2/058.patch patchSha256=12b9a312227605d1ea0d8240e4e17af44c7a086708cc93c3324d749e80105e20 patchBytes=1587 patchLines=34 notesReviewed=yes reviewedAt=2026-01-24T20:03:11+0100 notesUpdated=no
|
|
2146
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=New-session reliability: fix stuck “secret requirement modal open” guard ref.
|
|
2071
2147
|
|
|
2072
2148
|
- Subject: fix(new-session): avoid stuck secret requirement modal guard
|
|
2073
2149
|
- Reasons: safety/security-sensitive area
|
|
@@ -2095,6 +2171,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1bb65f5dd494 patchFile=/
|
|
|
2095
2171
|
|
|
2096
2172
|
## 059 2026-01-21 f7f81497444d `modal`
|
|
2097
2173
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f7f81497444d patchFile=/tmp/leeroy-wip-pass2/059.patch patchSha256=de24ba6a9db7bcf2b17709c54824a22ef25633a072ed5f88997a830411be70e8 patchBytes=25402 patchLines=574 notesReviewed=yes reviewedAt=2026-01-24T20:04:08+0100 notesUpdated=no
|
|
2174
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Mixed: WebAlertModal default OK button + big Popover hardening + ConnectionStatusControl portal; must split into modal vs popover vs connection commits within PR02 and reorder to satisfy helper deps.
|
|
2098
2175
|
|
|
2099
2176
|
- Subject: fix(modal): prevent non-dismissible WebAlertModal
|
|
2100
2177
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2144,6 +2221,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f7f81497444d patchFile=/
|
|
|
2144
2221
|
|
|
2145
2222
|
## 060 2026-01-22 bb09f91de715 `settings`
|
|
2146
2223
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bb09f91de715 patchFile=/tmp/leeroy-wip-pass2/060.patch patchSha256=50913ce23f328820d8efa6165396c538c34abe2bab12661a2f7ba2c706c1bbd9 patchBytes=2955 patchLines=74 notesReviewed=yes reviewedAt=2026-01-24T20:04:42+0100 notesUpdated=no
|
|
2224
|
+
Pass3PrPlan: finalPr=PR09 plannedAt=2026-01-25T12:46:37+0100 manualReviewedForPrPlan=yes notes=Secrets settings robustness: tolerant parsing keeps valid secrets when one entry invalid; keep with secrets feature PR (PR09).
|
|
2147
2225
|
|
|
2148
2226
|
- Subject: fix(settings): keep valid secrets when one entry is invalid
|
|
2149
2227
|
- Reasons: safety/security-sensitive area
|
|
@@ -2173,6 +2251,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bb09f91de715 patchFile=/
|
|
|
2173
2251
|
|
|
2174
2252
|
## 061 2026-01-22 765423af52b4 `agent-input`
|
|
2175
2253
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=765423af52b4 patchFile=/tmp/leeroy-wip-pass2/061.patch patchSha256=4a1ce74a09d5c2f1cdbeddeac4e823dcd4bd37faa8f6a2ee17bb6f0f544ac920 patchBytes=6745 patchLines=114 notesReviewed=yes reviewedAt=2026-01-24T20:05:10+0100 notesUpdated=no
|
|
2254
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Permissions safety: canonical next-mode cycling helper + tests; later reconcile with 064 (reverted cycling) into one final implementation.
|
|
2176
2255
|
|
|
2177
2256
|
- Subject: fix(agent-input): cycle permission mode from normalized state
|
|
2178
2257
|
- Reasons: safety/security-sensitive area
|
|
@@ -2202,6 +2281,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=765423af52b4 patchFile=/
|
|
|
2202
2281
|
|
|
2203
2282
|
## 062 2026-01-22 e533db1813a5 `popover`
|
|
2204
2283
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e533db1813a5 patchFile=/tmp/leeroy-wip-pass2/062.patch patchSha256=06650937b0fb3c66a48f1cb6a678ceadfc1a0bcbe43b3eebb02183d52f85641a patchBytes=4238 patchLines=69 notesReviewed=yes reviewedAt=2026-01-24T20:05:39+0100 notesUpdated=no
|
|
2284
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Popover infra: add requireReactNativeScreens() CJS helper and centralize web 'fixed' typing cast; must land before 059 for bisectability.
|
|
2205
2285
|
|
|
2206
2286
|
- Subject: fix(popover): add screens cjs helper and fix fixed positioning types
|
|
2207
2287
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2232,6 +2312,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e533db1813a5 patchFile=/
|
|
|
2232
2312
|
|
|
2233
2313
|
## 063 2026-01-22 2ed3100311c7 `secrets`
|
|
2234
2314
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2ed3100311c7 patchFile=/tmp/leeroy-wip-pass2/063.patch patchSha256=7b77ffb2a149148d1285b141b086978059d6a5debd57819b4f67b2e0e364615a patchBytes=14045 patchLines=227 notesReviewed=yes reviewedAt=2026-01-24T20:06:18+0100 notesUpdated=no
|
|
2315
|
+
Pass3PrPlan: finalPr=PR09 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Secrets/vault privacy: enforce UI hiding when using vault; keep with secrets feature PR and fold i18n key into PR09.
|
|
2235
2316
|
|
|
2236
2317
|
- Subject: fix(secrets): hide values when using secret vault
|
|
2237
2318
|
- Reasons: safety/security-sensitive area
|
|
@@ -2264,6 +2345,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2ed3100311c7 patchFile=/
|
|
|
2264
2345
|
|
|
2265
2346
|
## 064 2026-01-22 e5848c480522 `ui`
|
|
2266
2347
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e5848c480522 patchFile=/tmp/leeroy-wip-pass2/064.patch patchSha256=922df47b48ab85bc86e1c6a755752947ed57ec0590af7b2aec084420ff2c16f0 patchBytes=16134 patchLines=400 notesReviewed=yes reviewedAt=2026-01-24T20:07:04+0100 notesUpdated=no
|
|
2348
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Mixed overlay + permission cycling hardening: keep in PR02 but split; move final permission cycling logic into PR10, and keep NewSessionWizard onPermissionModeChange propagation with PR26; tests stay with overlay primitives.
|
|
2267
2349
|
|
|
2268
2350
|
- Subject: fix(ui): harden overlays and permission cycling
|
|
2269
2351
|
- Reasons: safety/security-sensitive area
|
|
@@ -2305,6 +2387,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e5848c480522 patchFile=/
|
|
|
2305
2387
|
|
|
2306
2388
|
## 065 2026-01-13 69fdcff96a4c `sync`
|
|
2307
2389
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=69fdcff96a4c patchFile=/tmp/leeroy-wip-pass2/065.patch patchSha256=20a7e9d9f2e6a834cd2c443d87fe87477985fb632f02551837797f48a915583c patchBytes=7673 patchLines=130 notesReviewed=yes reviewedAt=2026-01-24T20:07:37+0100 notesUpdated=no
|
|
2390
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Permissions persistence: infer session permission mode from last user message + local updatedAt arbitration; safety-critical, keep with PR10.
|
|
2308
2391
|
|
|
2309
2392
|
- Subject: fix(sync): restore session permission mode from last message
|
|
2310
2393
|
- Reasons: safety/security-sensitive area
|
|
@@ -2337,6 +2420,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=69fdcff96a4c patchFile=/
|
|
|
2337
2420
|
|
|
2338
2421
|
## 066 2026-01-13 9b499c5dccce `sync`
|
|
2339
2422
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9b499c5dccce patchFile=/tmp/leeroy-wip-pass2/066.patch patchSha256=f2d632496716cf934e43cf3a03bef46afcb73ba62a6d3898a6c1f54135484763 patchBytes=7448 patchLines=128 notesReviewed=yes reviewedAt=2026-01-24T20:08:03+0100 notesUpdated=no
|
|
2423
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Permissions persistence: persist permissionModeUpdatedAt map for restart-safe arbitration; keep adjacent to 065.
|
|
2340
2424
|
|
|
2341
2425
|
- Subject: fix(sync): persist permission mode timestamp for restart-safe arbitration
|
|
2342
2426
|
- Reasons: safety/security-sensitive area
|
|
@@ -2370,6 +2454,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9b499c5dccce patchFile=/
|
|
|
2370
2454
|
|
|
2371
2455
|
## 067 2026-01-13 def8852509d0 `sync`
|
|
2372
2456
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=def8852509d0 patchFile=/tmp/leeroy-wip-pass2/067.patch patchSha256=243a4d97d0be485870473f3400dcddaf3f3c612ab127a56750817644b72cc042 patchBytes=20586 patchLines=422 notesReviewed=yes reviewedAt=2026-01-24T20:09:07+0100 notesUpdated=no
|
|
2457
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Permissions cross-device reliability: canonical PERMISSION_MODES + best-effort server time calibration + metadata fallback; keep with PR10.
|
|
2373
2458
|
|
|
2374
2459
|
- Subject: fix(sync): persist permission mode reliably across devices
|
|
2375
2460
|
- Reasons: safety/security-sensitive area
|
|
@@ -2415,6 +2500,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=def8852509d0 patchFile=/
|
|
|
2415
2500
|
|
|
2416
2501
|
## 068 2026-01-12 b1c8a6fecd01 `session`
|
|
2417
2502
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b1c8a6fecd01 patchFile=/tmp/leeroy-wip-pass2/068.patch patchSha256=24a5192bad1dcf9d42a4810b4e66e4842627b56da16beb6f3bc4a7819f3c8983 patchBytes=5900 patchLines=126 notesReviewed=yes reviewedAt=2026-01-24T20:09:38+0100 notesUpdated=no
|
|
2503
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Sessions reliability: archive fallback when kill RPC unavailable; group with sessions/message UX PR.
|
|
2418
2504
|
|
|
2419
2505
|
- Subject: fix(session): archive when kill RPC unavailable
|
|
2420
2506
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2449,6 +2535,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b1c8a6fecd01 patchFile=/
|
|
|
2449
2535
|
|
|
2450
2536
|
## 069 2026-01-06 c06b6202b5d4 `expo-app`
|
|
2451
2537
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c06b6202b5d4 patchFile=/tmp/leeroy-wip-pass2/069.patch patchSha256=2da06e303c3470a4ba84a9c6108e68d93474b45de8034cb6dd9aa0ad48b6a5ed patchBytes=4354 patchLines=130 notesReviewed=yes reviewedAt=2026-01-24T20:15:28+0100 notesUpdated=no
|
|
2538
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=MessageView UX: copy-to-clipboard button for message blocks; keep with sessions/message list UX PR.
|
|
2452
2539
|
|
|
2453
2540
|
- Subject: Add copy-to-clipboard button to message blocks
|
|
2454
2541
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -2479,6 +2566,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c06b6202b5d4 patchFile=/
|
|
|
2479
2566
|
|
|
2480
2567
|
## 070 2026-01-21 9fc7d3d412b9 `sessions`
|
|
2481
2568
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9fc7d3d412b9 patchFile=/tmp/leeroy-wip-pass2/070.patch patchSha256=c3bb8024d077a6d2124a731b8fdca25b6b61d9f5fbf0a8f6f973bab2399a5473 patchBytes=38406 patchLines=811 notesReviewed=yes reviewedAt=2026-01-24T20:17:34+0100 notesUpdated=no
|
|
2569
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T12:50:14+0100 manualReviewedForPrPlan=yes notes=Sessions UX: group inactive sessions by project (setting + view-data builder + tests); keep with sessions/message UX PR and fold i18n keys into it.
|
|
2482
2570
|
|
|
2483
2571
|
- Subject: feat(sessions): group inactive sessions by project
|
|
2484
2572
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2511,6 +2599,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9fc7d3d412b9 patchFile=/
|
|
|
2511
2599
|
|
|
2512
2600
|
## 071 2026-01-21 62a8b1b07c3e `sessions`
|
|
2513
2601
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=62a8b1b07c3e patchFile=/tmp/leeroy-wip-pass2/071.patch patchSha256=8f985046e31b2f570813303dd7abe624e45ec225c5b3eee071652d1f7bf494ba patchBytes=22794 patchLines=482 notesReviewed=yes reviewedAt=2026-01-24T20:18:40+0100 notesUpdated=no
|
|
2602
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Sessions UX: unread badge (persist last-viewed + helper + tests + avatar badge wiring); keep with sessions/message list UX PR.
|
|
2514
2603
|
|
|
2515
2604
|
- Subject: feat(sessions): add unread badge
|
|
2516
2605
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2549,6 +2638,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=62a8b1b07c3e patchFile=/
|
|
|
2549
2638
|
|
|
2550
2639
|
## 072 2026-01-21 82d74454c3c4 `typecheck`
|
|
2551
2640
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82d74454c3c4 patchFile=/tmp/leeroy-wip-pass2/072.patch patchSha256=1a8dd521ceab0660a8ba515ae4e40adbd7afdd1fd29a4404b225ef6028f63431 patchBytes=2497 patchLines=43 notesReviewed=yes reviewedAt=2026-01-24T20:19:14+0100 notesUpdated=no
|
|
2641
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Typecheck cleanup for permission-mode work (imports/exports); squash into the owning permission commits in PR10 during rewrite (subject mentions Popover but diff is permission typing).
|
|
2552
2642
|
|
|
2553
2643
|
- Subject: fix(typecheck): restore permission imports and Popover web styles
|
|
2554
2644
|
- Reasons: safety/security-sensitive area
|
|
@@ -2576,6 +2666,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82d74454c3c4 patchFile=/
|
|
|
2576
2666
|
|
|
2577
2667
|
## 073 2026-01-11 4f2b533f99c2 `tools`
|
|
2578
2668
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4f2b533f99c2 patchFile=/tmp/leeroy-wip-pass2/073.patch patchSha256=0fe31f7bea6a875d5eba5bd634ad16094893c27f942ce0ec933802836f0bfaf7 patchBytes=17604 patchLines=401 notesReviewed=yes reviewedAt=2026-01-24T20:20:20+0100 notesUpdated=no
|
|
2669
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Tool UX: ExitPlanMode approve/reject buttons + i18n; keep in AskUserQuestion/ExitPlan end-to-end PR.
|
|
2579
2670
|
|
|
2580
2671
|
- Subject: feat(tools): add approve/reject buttons to ExitPlanMode
|
|
2581
2672
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2609,6 +2700,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4f2b533f99c2 patchFile=/
|
|
|
2609
2700
|
|
|
2610
2701
|
## 074 2026-01-07 c86cbd26b040 `queue`
|
|
2611
2702
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c86cbd26b040 patchFile=/tmp/leeroy-wip-pass2/074.patch patchSha256=a371a5fb976f8323071238d5478e67452f8101074b1e350c72156dec64a3e895 patchBytes=45107 patchLines=1043 notesReviewed=yes reviewedAt=2026-01-24T20:22:09+0100 notesUpdated=no
|
|
2703
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Pending queue feature: message send modes + pending messages modal/indicator + protocol/storage; keep in MessageQueueV1/Pending end-to-end PR (clean up theme/i18n during rewrite).
|
|
2612
2704
|
|
|
2613
2705
|
- Subject: feat(queue): add pending message queue UI and send modes
|
|
2614
2706
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2653,6 +2745,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c86cbd26b040 patchFile=/
|
|
|
2653
2745
|
|
|
2654
2746
|
## 075 2026-01-07 42da6dae8fe4 `session`
|
|
2655
2747
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=42da6dae8fe4 patchFile=/tmp/leeroy-wip-pass2/075.patch patchSha256=0d8e35af710d88633ab53ea25e01f8d2491e5fb7dc977ac4c2204b83eb1d80e2 patchBytes=16372 patchLines=353 notesReviewed=yes reviewedAt=2026-01-24T20:23:19+0100 notesUpdated=no
|
|
2748
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Sessions UX: session rename via update-metadata + i18n; keep with sessions/message list UX PR.
|
|
2656
2749
|
|
|
2657
2750
|
- Subject: feat(session): add session rename support
|
|
2658
2751
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2688,6 +2781,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=42da6dae8fe4 patchFile=/
|
|
|
2688
2781
|
|
|
2689
2782
|
## 076 2026-01-12 057102f67904 `resume`
|
|
2690
2783
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=057102f67904 patchFile=/tmp/leeroy-wip-pass2/076.patch patchSha256=a9dd95c610ad982c66168fab4e09c50f2c2ceb6de30962f5cc166a3e6c677d1b patchBytes=38206 patchLines=864 notesReviewed=yes reviewedAt=2026-01-24T20:27:11+0100 notesUpdated=yes
|
|
2784
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Resume feature: new-session resume picker + resume payload + capability gating + draft persistence; fold any unrelated Codex-session-id translations into the commit that uses them.
|
|
2691
2785
|
|
|
2692
2786
|
- Subject: feat(resume): add resume session option for new sessions
|
|
2693
2787
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2729,6 +2823,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=057102f67904 patchFile=/
|
|
|
2729
2823
|
|
|
2730
2824
|
## 077 2026-01-14 05532bd65c6b `resume`
|
|
2731
2825
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=05532bd65c6b patchFile=/tmp/leeroy-wip-pass2/077.patch patchSha256=829d9f8e6db35a17bed895b7a14404c67c9f51fca3c8630aff3452d0eb152f44 patchBytes=10791 patchLines=200 notesReviewed=yes reviewedAt=2026-01-24T20:27:54+0100 notesUpdated=no
|
|
2826
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Resume UX: show resume chip under path in AgentInput/new-session; keep adjacent to 076.
|
|
2732
2827
|
|
|
2733
2828
|
- Subject: feat(resume): show resume chip under path in new session
|
|
2734
2829
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2758,6 +2853,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=05532bd65c6b patchFile=/
|
|
|
2758
2853
|
|
|
2759
2854
|
## 078 2026-01-11 cd5771e50881 `resume`
|
|
2760
2855
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=cd5771e50881 patchFile=/tmp/leeroy-wip-pass2/078.patch patchSha256=307c27d9124dffbb4b057f095eac60ef354f8c8686e2078d9b88b189611d2a90 patchBytes=14375 patchLines=360 notesReviewed=yes reviewedAt=2026-01-24T20:29:19+0100 notesUpdated=yes
|
|
2856
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Resume feature: initial UI support for resuming inactive Claude sessions (SessionView) + ops wiring + design doc; squash/reorder with 079 so intermediate commits are typecheck-safe and avoid hardcoded strings.
|
|
2761
2857
|
|
|
2762
2858
|
- Subject: feat: resume inactive Claude sessions from UI
|
|
2763
2859
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -2793,6 +2889,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=cd5771e50881 patchFile=/
|
|
|
2793
2889
|
|
|
2794
2890
|
## 079 2026-01-12 456e2ad8e2b8 `resume`
|
|
2795
2891
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=456e2ad8e2b8 patchFile=/tmp/leeroy-wip-pass2/079.patch patchSha256=1038412aa6be537c540443b64b6437f4eb00d0315c79e4e819e2c68d0eb0a234 patchBytes=10666 patchLines=265 notesReviewed=yes reviewedAt=2026-01-24T20:30:50+0100 notesUpdated=yes
|
|
2892
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Resume architecture: remove agentSessionId requirement from UI; add agentCapabilities helpers + translations; keep with resume end-to-end PR.
|
|
2796
2893
|
|
|
2797
2894
|
- Subject: refactor(resume): don't require agentSessionId from UI
|
|
2798
2895
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2827,6 +2924,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=456e2ad8e2b8 patchFile=/
|
|
|
2827
2924
|
|
|
2828
2925
|
## 080 2026-01-11 9b0069e3d30c `fork`
|
|
2829
2926
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9b0069e3d30c patchFile=/tmp/leeroy-wip-pass2/080.patch patchSha256=d0775d17447e5f09b0c0043294929d4b05c4f7a900063c95323c37df142a214b patchBytes=13508 patchLines=247 notesReviewed=yes reviewedAt=2026-01-24T20:32:11+0100 notesUpdated=yes
|
|
2927
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T12:53:37+0100 manualReviewedForPrPlan=yes notes=Resume (Codex): enable Codex as resumable agent + show/copy Codex session id/commands. Treat as upstreamable by removing “fork-only” gating/notes during rewrite and ensuring semantics are correct for upstream.
|
|
2830
2928
|
|
|
2831
2929
|
- Subject: feat(fork): enable Codex resume support
|
|
2832
2930
|
- Reasons: fork-only behavior (should not go upstream as-is)
|
|
@@ -2857,6 +2955,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9b0069e3d30c patchFile=/
|
|
|
2857
2955
|
|
|
2858
2956
|
## 081 2026-01-22 4ddaef02210e `sync`
|
|
2859
2957
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4ddaef02210e patchFile=/tmp/leeroy-wip-pass2/081.patch patchSha256=4898c477cf549a2bf357661b4ade980ba45511fb0c0b93ad24c80baa3e93323d patchBytes=1566 patchLines=43 notesReviewed=yes reviewedAt=2026-01-24T20:33:19+0100 notesUpdated=yes
|
|
2958
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=Queue/send-mode correctness: omit irrelevant model meta for queued/outgoing messages; keep adjacent to pending queue feature PR.
|
|
2860
2959
|
|
|
2861
2960
|
- Subject: fix(sync): omit model meta for queued messages
|
|
2862
2961
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2886,6 +2985,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4ddaef02210e patchFile=/
|
|
|
2886
2985
|
|
|
2887
2986
|
## 082 2026-01-12 3fbdc10018fe `tmux`
|
|
2888
2987
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3fbdc10018fe patchFile=/tmp/leeroy-wip-pass2/082.patch patchSha256=f2cc8568717d548920cea037c3b6e362272f870517c93ed7e2a86d9115651d03 patchBytes=30647 patchLines=723 notesReviewed=yes reviewedAt=2026-01-24T20:34:54+0100 notesUpdated=yes
|
|
2988
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=TMUX feature correctness: env parsing + command targeting + tests; commit is mixed (scripts/tests/etc) so split during rewrite to keep tmux fixes isolated.
|
|
2889
2989
|
|
|
2890
2990
|
- Subject: fix: tmux parsing/targeting + review feedback
|
|
2891
2991
|
- Reasons: safety/reliability-sensitive area (process control) + non-Conventional-Commits subject
|
|
@@ -2929,6 +3029,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3fbdc10018fe patchFile=/
|
|
|
2929
3029
|
|
|
2930
3030
|
## 083 2026-01-13 7292a29822bb `daemon`
|
|
2931
3031
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7292a29822bb patchFile=/tmp/leeroy-wip-pass2/083.patch patchSha256=40cb173cb1aa03a44ac0c18b4e07de6b8872336399fb768bf21f7a60daef97ab patchBytes=5066 patchLines=99 notesReviewed=yes reviewedAt=2026-01-24T20:36:02+0100 notesUpdated=no
|
|
3032
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=Daemon safety boundary: do not apply CLI active profile to GUI-spawned sessions (prevents env leakage).
|
|
2932
3033
|
|
|
2933
3034
|
- Subject: fix(daemon): do not apply CLI active profile to GUI-spawned sessions
|
|
2934
3035
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2957,6 +3058,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7292a29822bb patchFile=/
|
|
|
2957
3058
|
|
|
2958
3059
|
## 084 2026-01-13 ce94cfa512ac `session`
|
|
2959
3060
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ce94cfa512ac patchFile=/tmp/leeroy-wip-pass2/084.patch patchSha256=1386819edc6fc6248c2b34ad7ce7260a18396dfd78afa8cbf88eb473d8fc0c87 patchBytes=5925 patchLines=128 notesReviewed=yes reviewedAt=2026-01-24T20:38:18+0100 notesUpdated=no
|
|
3061
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=Daemon spawn metadata: thread profileId through spawn pipeline into session metadata; keep near other spawn/profile daemon changes and ensure log redaction (086) lands together.
|
|
2960
3062
|
|
|
2961
3063
|
- Subject: feat(session): persist profileId in session metadata via daemon spawn
|
|
2962
3064
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -2990,6 +3092,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ce94cfa512ac patchFile=/
|
|
|
2990
3092
|
|
|
2991
3093
|
## 085 2026-01-13 e58e97fd7ff4 `pr107`
|
|
2992
3094
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e58e97fd7ff4 patchFile=/tmp/leeroy-wip-pass2/085.patch patchSha256=d61afad1a74bec40de6ef5fd636e9b200d023a14d4216037b207f4886e009b55 patchBytes=5232 patchLines=122 notesReviewed=yes reviewedAt=2026-01-24T20:38:46+0100 notesUpdated=yes
|
|
3095
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=Daemon spawn hardening + profile schema alignment + env template expansion; reconcile with 090 (startupBashScript removal) during rewrite to avoid schema oscillation.
|
|
2993
3096
|
|
|
2994
3097
|
- Subject: fix(pr107): harden daemon spawn + align profile schema
|
|
2995
3098
|
- Reasons: safety/reliability-sensitive area
|
|
@@ -3025,6 +3128,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e58e97fd7ff4 patchFile=/
|
|
|
3025
3128
|
|
|
3026
3129
|
## 086 2026-01-13 86330e263595 `security`
|
|
3027
3130
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=86330e263595 patchFile=/tmp/leeroy-wip-pass2/086.patch patchSha256=224fab84d0ef8c04aec8a6ed629c18d85daddae88165e4534d53eff01447f39b patchBytes=3404 patchLines=70 notesReviewed=yes reviewedAt=2026-01-24T20:39:34+0100 notesUpdated=no
|
|
3131
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=Security: redact spawn secrets from daemon logs; split off/undo fs.writeFile await removal if unintended (keep spawn sequencing safe).
|
|
3028
3132
|
|
|
3029
3133
|
- Subject: fix(security): redact spawn secrets from daemon logs
|
|
3030
3134
|
- Reasons: safety/security-sensitive area
|
|
@@ -3063,6 +3167,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=86330e263595 patchFile=/
|
|
|
3063
3167
|
|
|
3064
3168
|
## 087 2026-01-15 a25acab22b64 `socket`
|
|
3065
3169
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a25acab22b64 patchFile=/tmp/leeroy-wip-pass2/087.patch patchSha256=ed7c94b65ed87f75dc10b59af9dc200f2ced915784eb5334567e70f9ed48a4ce patchBytes=6610 patchLines=170 notesReviewed=yes reviewedAt=2026-01-24T20:41:19+0100 notesUpdated=yes
|
|
3170
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=CLI reliability: restore offline buffering for socket sends + tests; fix canSend/logSendWhileDisconnected inconsistency for bisectability during rewrite.
|
|
3066
3171
|
|
|
3067
3172
|
- Subject: fix(socket): restore offline buffering for sends
|
|
3068
3173
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3094,6 +3199,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a25acab22b64 patchFile=/
|
|
|
3094
3199
|
|
|
3095
3200
|
## 088 2026-01-15 a7d23148c311 `logging`
|
|
3096
3201
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a7d23148c311 patchFile=/tmp/leeroy-wip-pass2/088.patch patchSha256=0f5bed2f94785e97c26294a861d2e95871e3b1775459989ee1f0f821d6dd42a5 patchBytes=10775 patchLines=280 notesReviewed=yes reviewedAt=2026-01-24T20:42:12+0100 notesUpdated=no
|
|
3202
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=CLI logging/privacy: gate debug output, redact templates/defaults, expandEnvVars tests; keep in CLI reliability PR.
|
|
3097
3203
|
|
|
3098
3204
|
- Subject: fix(logging): gate debug output and redact templates
|
|
3099
3205
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3127,6 +3233,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a7d23148c311 patchFile=/
|
|
|
3127
3233
|
|
|
3128
3234
|
## 089 2026-01-13 ef418bc4dda3 `pr107`
|
|
3129
3235
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ef418bc4dda3 patchFile=/tmp/leeroy-wip-pass2/089.patch patchSha256=bf155c744980506ceceb29720199a8f0ddcc98737887771636a03accfe55b292 patchBytes=2577 patchLines=50 notesReviewed=yes reviewedAt=2026-01-24T20:42:51+0100 notesUpdated=no
|
|
3236
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=CLI: doctor redaction coverage + preserve TMUX_TMPDIR empty-string semantics; keep with CLI reliability/logging hardening.
|
|
3130
3237
|
|
|
3131
3238
|
- Subject: fix(pr107): redact profile secrets in doctor + align tmux tmpDir
|
|
3132
3239
|
- Reasons: safety/security-sensitive area
|
|
@@ -3158,6 +3265,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ef418bc4dda3 patchFile=/
|
|
|
3158
3265
|
|
|
3159
3266
|
## 090 2026-01-13 1f90659694be `profiles`
|
|
3160
3267
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1f90659694be patchFile=/tmp/leeroy-wip-pass2/090.patch patchSha256=11d16d45035d579a8eb333ac99ff09a2f7a3225147dd595843238eb3d8130ffe patchBytes=4699 patchLines=137 notesReviewed=yes reviewedAt=2026-01-24T20:43:32+0100 notesUpdated=no
|
|
3268
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T12:56:53+0100 manualReviewedForPrPlan=yes notes=Profiles/daemon schema cleanup: remove unwired startupBashScript + local env cache; squash with 085 to present final stable schema (no oscillation).
|
|
3161
3269
|
|
|
3162
3270
|
- Subject: refactor(profiles): remove unwired startup script and local env cache
|
|
3163
3271
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3189,6 +3297,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1f90659694be patchFile=/
|
|
|
3189
3297
|
|
|
3190
3298
|
## 091 2026-01-15 7aed8aaee02f `profiles`
|
|
3191
3299
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7aed8aaee02f patchFile=/tmp/leeroy-wip-pass2/091.patch patchSha256=bd0fd2c41227435a67a7fc7de0f8410764f24a886f6f181cb099cb8f416d7467 patchBytes=11805 patchLines=278 notesReviewed=yes reviewedAt=2026-01-24T20:44:29+0100 notesUpdated=no
|
|
3300
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=CLI profile schema alignment: drop provider config objects and migrate to env vars (with tests); keep with daemon/CLI schema-spawn work to present one coherent schema story.
|
|
3192
3301
|
|
|
3193
3302
|
- Subject: refactor(profiles): drop provider config objects
|
|
3194
3303
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3220,6 +3329,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7aed8aaee02f patchFile=/
|
|
|
3220
3329
|
|
|
3221
3330
|
## 092 2026-01-15 6b0bfe546d9e `runtime`
|
|
3222
3331
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6b0bfe546d9e patchFile=/tmp/leeroy-wip-pass2/092.patch patchSha256=f2911b6ee75672a1cddd503f1e9ab32e95b736288b19eb1218217e972c4aaf14 patchBytes=7229 patchLines=195 notesReviewed=yes reviewedAt=2026-01-24T21:51:01+0100 notesUpdated=yes
|
|
3332
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=Runtime feature for daemon subprocesses: support bun vs node with tests; keep adjacent to daemon spawn refactors.
|
|
3223
3333
|
|
|
3224
3334
|
- Subject: feat(runtime): support bun for daemon-spawned subprocesses
|
|
3225
3335
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3249,6 +3359,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6b0bfe546d9e patchFile=/
|
|
|
3249
3359
|
|
|
3250
3360
|
## 093 2026-01-15 4071466545ab `rpc`
|
|
3251
3361
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4071466545ab patchFile=/tmp/leeroy-wip-pass2/093.patch patchSha256=901ae5fe7520f97b4eeb1e33bd3982c80b2bc3488c641697e4653c4290b734a0 patchBytes=2411 patchLines=52 notesReviewed=yes reviewedAt=2026-01-24T21:51:52+0100 notesUpdated=no
|
|
3362
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=RPC spawn shape: accept arbitrary env var maps for spawn; keep with daemon spawn schema work.
|
|
3252
3363
|
|
|
3253
3364
|
- Subject: refactor(rpc): accept arbitrary env var maps for spawn
|
|
3254
3365
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3275,6 +3386,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4071466545ab patchFile=/
|
|
|
3275
3386
|
|
|
3276
3387
|
## 094 2026-01-17 809be82b53e7 `env`
|
|
3277
3388
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=809be82b53e7 patchFile=/tmp/leeroy-wip-pass2/094.patch patchSha256=21ee926dbf4f14df07d8bb300909dca832ee0c6fb0f7e26b9d52148bd3344522 patchBytes=4976 patchLines=112 notesReviewed=yes reviewedAt=2026-01-24T21:52:35+0100 notesUpdated=no
|
|
3389
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=CLI env expansion correctness: implement := assignment semantics; keep adjacent to other expandEnvVars/logging hardening commits.
|
|
3278
3390
|
|
|
3279
3391
|
- Subject: fix(env): implement default assignment semantics
|
|
3280
3392
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3303,6 +3415,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=809be82b53e7 patchFile=/
|
|
|
3303
3415
|
|
|
3304
3416
|
## 095 2026-01-17 4c2a671dc3f4 `rpc`
|
|
3305
3417
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4c2a671dc3f4 patchFile=/tmp/leeroy-wip-pass2/095.patch patchSha256=6aa8fddd2772556524f0568d5a2bccfccdaab0fb4a1df234ae6f8bd33867c558 patchBytes=17576 patchLines=426 notesReviewed=yes reviewedAt=2026-01-24T21:53:26+0100 notesUpdated=yes
|
|
3418
|
+
Pass3PrPlan: finalPr=PR15 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=preview-env daemon handler: security-sensitive env preview with policies/heuristics and thorough tests; keep in preview-env end-to-end PR.
|
|
3306
3419
|
|
|
3307
3420
|
- Subject: feat(rpc): add preview-env handler
|
|
3308
3421
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3335,6 +3448,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4c2a671dc3f4 patchFile=/
|
|
|
3335
3448
|
|
|
3336
3449
|
## 096 2026-01-15 2973f7fe6861 `codex`
|
|
3337
3450
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2973f7fe6861 patchFile=/tmp/leeroy-wip-pass2/096.patch patchSha256=3e1f48b2afe0e7844cc032ad624ff3bc7f63a1950862666d53aaccd9557490c6 patchBytes=9238 patchLines=242 notesReviewed=yes reviewedAt=2026-01-24T21:54:17+0100 notesUpdated=no
|
|
3451
|
+
Pass3PrPlan: finalPr=PR21 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=Codex MCP safety: harden codex/mcp-server detection and avoid stdout payload leaks; keep with codex tool-call/permission correctness PR.
|
|
3338
3452
|
|
|
3339
3453
|
- Subject: fix(codex): harden MCP command detection
|
|
3340
3454
|
- Reasons: safety/security-sensitive area
|
|
@@ -3370,6 +3484,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2973f7fe6861 patchFile=/
|
|
|
3370
3484
|
|
|
3371
3485
|
## 097 2026-01-15 c863db3d5bbc `offline`
|
|
3372
3486
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c863db3d5bbc patchFile=/tmp/leeroy-wip-pass2/097.patch patchSha256=32bf80f2b0853267c5ae8073e09dc4052cf05cc241006c168614da2cffca5439 patchBytes=4754 patchLines=130 notesReviewed=yes reviewedAt=2026-01-24T21:55:09+0100 notesUpdated=no
|
|
3487
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=Resume/offline reliability: safer offline session stub (EventEmitter + aligned surface) with test; keep with resume/offline tooling PR.
|
|
3373
3488
|
|
|
3374
3489
|
- Subject: refactor(offline): make offline session stub safer
|
|
3375
3490
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3398,6 +3513,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c863db3d5bbc patchFile=/
|
|
|
3398
3513
|
|
|
3399
3514
|
## 098 2026-01-15 0a1a91a631e7 `tmux`
|
|
3400
3515
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0a1a91a631e7 patchFile=/tmp/leeroy-wip-pass2/098.patch patchSha256=a82d831612efb8e049226844eb4012087d4937724779ec76fa3c899be2a45af2 patchBytes=20638 patchLines=479 notesReviewed=yes reviewedAt=2026-01-24T21:56:06+0100 notesUpdated=yes
|
|
3516
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=TMUX feature: per-instance socket path support + quoting/validation hardening + tests; keep in terminal/tmux end-to-end PR.
|
|
3401
3517
|
|
|
3402
3518
|
- Subject: feat(tmux): support per-instance socket path
|
|
3403
3519
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3440,6 +3556,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0a1a91a631e7 patchFile=/
|
|
|
3440
3556
|
|
|
3441
3557
|
## 099 2026-01-15 c52227082c2b `tmux`
|
|
3442
3558
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c52227082c2b patchFile=/tmp/leeroy-wip-pass2/099.patch patchSha256=8fcb1e38cd9e571e2e71d652bef92d1ff58ecb5c94531bca1ea5c12fcf58de10 patchBytes=68578 patchLines=1678 notesReviewed=yes reviewedAt=2026-01-24T21:59:16+0100 notesUpdated=yes
|
|
3559
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T12:59:52+0100 manualReviewedForPrPlan=yes notes=Large mixed tmux+daemon spawn reliability: TMUX_TMPDIR/env correctness + deterministic session selection + tests; split into tmux vs daemon vs codex/logging pieces during rewrite; keep core tmux/daemon parts under PR18/PR16 as appropriate.
|
|
3443
3560
|
|
|
3444
3561
|
- Subject: fix(tmux): correct env, tmpdir, and session selection
|
|
3445
3562
|
- Reasons: safety/security-sensitive area
|
|
@@ -3499,6 +3616,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c52227082c2b patchFile=/
|
|
|
3499
3616
|
|
|
3500
3617
|
## 100 2026-01-16 7a01a8e42629 `claude`
|
|
3501
3618
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7a01a8e42629 patchFile=/tmp/leeroy-wip-pass2/100.patch patchSha256=3a5b6360339afeb6ed3363fb66a332db4d008bee9b3f1abeb2b0ab6bd473924f patchBytes=4948 patchLines=117 notesReviewed=yes reviewedAt=2026-01-24T22:00:22+0100 notesUpdated=no
|
|
3619
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T13:02:08+0100 manualReviewedForPrPlan=yes notes=Claude scanner test reliability: align transcript path mapping and reduce flakiness (waitFor); keep with Claude transcript/session scanning PR.
|
|
3502
3620
|
|
|
3503
3621
|
- Subject: test(claude): align sessionScanner path mapping
|
|
3504
3622
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3527,6 +3645,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7a01a8e42629 patchFile=/
|
|
|
3527
3645
|
|
|
3528
3646
|
## 101 2026-01-17 1075a768e551 `rpc`
|
|
3529
3647
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1075a768e551 patchFile=/tmp/leeroy-wip-pass2/101.patch patchSha256=d999914eba7a69d93fcfd4671ba844a8b853acf80605549454970438f9ba4f41 patchBytes=7789 patchLines=208 notesReviewed=yes reviewedAt=2026-01-24T22:01:26+0100 notesUpdated=yes
|
|
3648
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T13:02:08+0100 manualReviewedForPrPlan=yes notes=detect-cli daemon handler (PATH scan + tests): foundational for capabilities/diagnostics; keep with capabilities end-to-end PR.
|
|
3530
3649
|
|
|
3531
3650
|
- Subject: feat(rpc): add detect-cli handler
|
|
3532
3651
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3557,6 +3676,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1075a768e551 patchFile=/
|
|
|
3557
3676
|
|
|
3558
3677
|
## 102 2026-01-21 c988f68ca4d0 `ui`
|
|
3559
3678
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c988f68ca4d0 patchFile=/tmp/leeroy-wip-pass2/102.patch patchSha256=11ecb4a4e4ea947f09aa214e51377caec83ba779a548578217f2a7ee5cec5ec7 patchBytes=24188 patchLines=527 notesReviewed=yes reviewedAt=2026-01-24T22:11:23+0100 notesUpdated=yes
|
|
3679
|
+
Pass3PrPlan: finalPr=PR30 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=Agent error surfaces: surface Codex/Gemini errors in session UI + add shared CLI formatting helpers/tests; keep separate from modal/overlay primitives PR.
|
|
3560
3680
|
|
|
3561
3681
|
- Subject: feat(ui): surface Codex/Gemini errors in session UI
|
|
3562
3682
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3591,6 +3711,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c988f68ca4d0 patchFile=/
|
|
|
3591
3711
|
|
|
3592
3712
|
## 103 2026-01-21 b2269ee11252 `claude`
|
|
3593
3713
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b2269ee11252 patchFile=/tmp/leeroy-wip-pass2/103.patch patchSha256=cf9d1c3d1c11b8f947a6829d1151207b278740561e7e9c0c62812f9979e641b2 patchBytes=62570 patchLines=1600 notesReviewed=yes reviewedAt=2026-01-24T22:15:19+0100 notesUpdated=yes
|
|
3714
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T13:02:08+0100 manualReviewedForPrPlan=yes notes=Claude hook switching/transcript correctness: prefer hook transcript_path, idempotent switch, waitForSessionFound, and tests; large but cohesive, may split into hook-path vs switch-RPC vs tests during rewrite.
|
|
3594
3715
|
|
|
3595
3716
|
- Subject: fix(claude): use hook transcript path across switching
|
|
3596
3717
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3639,6 +3760,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b2269ee11252 patchFile=/
|
|
|
3639
3760
|
|
|
3640
3761
|
## 104 2026-01-21 f53cf71d416c `persistence`
|
|
3641
3762
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f53cf71d416c patchFile=/tmp/leeroy-wip-pass2/104.patch patchSha256=c6a15de58398ba05150e0c76876ff207f0cb46324c1e763401111140eaf9158d patchBytes=2622 patchLines=63 notesReviewed=yes reviewedAt=2026-01-24T22:16:05+0100 notesUpdated=no
|
|
3763
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T13:02:08+0100 manualReviewedForPrPlan=yes notes=CLI schema cleanup: remove deprecated tmuxConfig + env injection; keep with daemon/CLI spawn/schema alignment PR.
|
|
3642
3764
|
|
|
3643
3765
|
- Subject: refactor(persistence): remove deprecated tmuxConfig
|
|
3644
3766
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3666,6 +3788,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f53cf71d416c patchFile=/
|
|
|
3666
3788
|
|
|
3667
3789
|
## 105 2026-01-21 8dae65f6c585 `rpc`
|
|
3668
3790
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8dae65f6c585 patchFile=/tmp/leeroy-wip-pass2/105.patch patchSha256=2c7d6936b9a9bb12b20a6419899b34039e91bfcb58076ee36ea8189da7804a87 patchBytes=17844 patchLines=416 notesReviewed=yes reviewedAt=2026-01-24T22:16:51+0100 notesUpdated=yes
|
|
3791
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T13:02:08+0100 manualReviewedForPrPlan=yes notes=detect-cli enrichment: include tmux + version parsing + optional login status + tests; keep with capabilities/diagnostics PR and order after 101.
|
|
3669
3792
|
|
|
3670
3793
|
- Subject: feat(rpc): include tmux in detect-cli
|
|
3671
3794
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3703,6 +3826,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8dae65f6c585 patchFile=/
|
|
|
3703
3826
|
|
|
3704
3827
|
## 106 2026-01-21 ad66c6aaa3ae `terminal`
|
|
3705
3828
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ad66c6aaa3ae patchFile=/tmp/leeroy-wip-pass2/106.patch patchSha256=3d6e395250cebf51ffe4f82a279b4407665c893d55d42dee5bd7a69c541c82a0 patchBytes=47830 patchLines=1371 notesReviewed=yes reviewedAt=2026-01-24T22:18:04+0100 notesUpdated=yes
|
|
3829
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T13:02:08+0100 manualReviewedForPrPlan=yes notes=Terminal feature: add metadata + attach tooling + headless tmux launcher + runtime flags and strong tests; large, consider splitting into metadata vs attach command vs runtime flags during rewrite.
|
|
3706
3830
|
|
|
3707
3831
|
- Subject: feat(terminal): add tmux metadata + attach tooling
|
|
3708
3832
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3741,6 +3865,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ad66c6aaa3ae patchFile=/
|
|
|
3741
3865
|
|
|
3742
3866
|
## 107 2026-01-21 c13d51ee4638 `daemon`
|
|
3743
3867
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c13d51ee4638 patchFile=/tmp/leeroy-wip-pass2/107.patch patchSha256=f1b4d85a17e6b6eb2e3b3623b47a9ce05e4634756a9f584ed2873eb0693ed53a patchBytes=28540 patchLines=665 notesReviewed=yes reviewedAt=2026-01-24T22:18:59+0100 notesUpdated=yes
|
|
3868
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T13:02:08+0100 manualReviewedForPrPlan=yes notes=Daemon: tmux spawn support + runtime/backoff hardening; keep adjacent to terminal/tmux series and ensure terminal options forwarding stays consistent.
|
|
3744
3869
|
|
|
3745
3870
|
- Subject: feat(daemon): support tmux spawn + harden runtime
|
|
3746
3871
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3779,6 +3904,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c13d51ee4638 patchFile=/
|
|
|
3779
3904
|
|
|
3780
3905
|
## 108 2026-01-21 f7db44dea458 `docs`
|
|
3781
3906
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f7db44dea458 patchFile=/tmp/leeroy-wip-pass2/108.patch patchSha256=f5fd09d2bb72379dfd58d163dae1326f5eb30d40f128b29dee41121a0b595514 patchBytes=524 patchLines=18 notesReviewed=yes reviewedAt=2026-01-24T22:20:24+0100 notesUpdated=no
|
|
3907
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T13:02:08+0100 manualReviewedForPrPlan=yes notes=Docs-only: add cli AGENTS.md symlink; keep in Foundations/DevX.
|
|
3782
3908
|
|
|
3783
3909
|
- Subject: docs: add AGENTS.md symlink
|
|
3784
3910
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3804,6 +3930,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f7db44dea458 patchFile=/
|
|
|
3804
3930
|
|
|
3805
3931
|
## 109 2026-01-21 af5000ea6318 `ui`
|
|
3806
3932
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=af5000ea6318 patchFile=/tmp/leeroy-wip-pass2/109.patch patchSha256=60b9f67574d7599d92a182dfa55f618b98bd11e5ce8fee5403d42b1f5de1d361 patchBytes=3587 patchLines=75 notesReviewed=yes reviewedAt=2026-01-24T22:20:50+0100 notesUpdated=no
|
|
3933
|
+
Pass3PrPlan: finalPr=PR30 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=Agent error surfaces follow-up: polish Codex/Gemini error message formatting + tests; keep adjacent to 102.
|
|
3807
3934
|
|
|
3808
3935
|
- Subject: fix(ui): polish Codex and Gemini error messages
|
|
3809
3936
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3830,6 +3957,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=af5000ea6318 patchFile=/
|
|
|
3830
3957
|
|
|
3831
3958
|
## 110 2026-01-21 f68552d03ab9 `tmux`
|
|
3832
3959
|
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f68552d03ab9 patchFile=/tmp/leeroy-wip-pass2/110.patch patchSha256=1a6a3abf018cc15fd95308d7fcabfefbf83bbb49904de901318da0a125378761 patchBytes=3791 patchLines=109 notesReviewed=yes reviewedAt=2026-01-24T22:21:22+0100 notesUpdated=no
|
|
3960
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=TMUX UX: print attach instructions in correct order (inside vs outside tmux) + tests; keep with terminal/tmux end-to-end PR.
|
|
3833
3961
|
|
|
3834
3962
|
- Subject: fix(tmux): print attach instructions in correct order
|
|
3835
3963
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3857,7 +3985,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f68552d03ab9 patchFile=/
|
|
|
3857
3985
|
---
|
|
3858
3986
|
|
|
3859
3987
|
## 111 2026-01-21 4e4bb65ff3f0 `tmux`
|
|
3860
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4e4bb65ff3f0 patchFile=/tmp/leeroy-wip-pass2/111.patch patchSha256=71887a7db86be20d1e41c337bb2a58f0130acdb056c1ebd9a0f8786c5e15403e patchBytes=3004 patchLines=68 notesReviewed=
|
|
3988
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4e4bb65ff3f0 patchFile=/tmp/leeroy-wip-pass2/111.patch patchSha256=71887a7db86be20d1e41c337bb2a58f0130acdb056c1ebd9a0f8786c5e15403e patchBytes=3004 patchLines=68 notesReviewed=yes reviewedAt=2026-01-24T22:21:47+0100 notesUpdated=no
|
|
3989
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=TMUX test robustness: avoid brittle assertions for attach instructions; keep adjacent to 110.
|
|
3861
3990
|
|
|
3862
3991
|
- Subject: test(tmux): avoid brittle assertions
|
|
3863
3992
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3884,7 +4013,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4e4bb65ff3f0 patchFile=/
|
|
|
3884
4013
|
---
|
|
3885
4014
|
|
|
3886
4015
|
## 112 2026-01-21 45f4eb5d145c `detect-cli`
|
|
3887
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=45f4eb5d145c patchFile=/tmp/leeroy-wip-pass2/112.patch patchSha256=978de92bacd197cdf02e40b59b067b1eaf67fc17a05b1f04dd6eb9bb41578777 patchBytes=1773 patchLines=49 notesReviewed=
|
|
4016
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=45f4eb5d145c patchFile=/tmp/leeroy-wip-pass2/112.patch patchSha256=978de92bacd197cdf02e40b59b067b1eaf67fc17a05b1f04dd6eb9bb41578777 patchBytes=1773 patchLines=49 notesReviewed=yes reviewedAt=2026-01-24T22:22:13+0100 notesUpdated=no
|
|
4017
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=detect-cli test hygiene: avoid process.env reassignment; keep with capabilities/detect-cli PR.
|
|
3888
4018
|
|
|
3889
4019
|
- Subject: test(detect-cli): avoid process.env reassignment
|
|
3890
4020
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3911,7 +4041,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=45f4eb5d145c patchFile=/
|
|
|
3911
4041
|
---
|
|
3912
4042
|
|
|
3913
4043
|
## 113 2026-01-21 51782fdbfbcd `codex`
|
|
3914
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=51782fdbfbcd patchFile=/tmp/leeroy-wip-pass2/113.patch patchSha256=16f8931d350cde0a26d3b46e49c920e9b4d58f19ba99020a3604f9e7a19d9253 patchBytes=889 patchLines=21 notesReviewed=
|
|
4044
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=51782fdbfbcd patchFile=/tmp/leeroy-wip-pass2/113.patch patchSha256=16f8931d350cde0a26d3b46e49c920e9b4d58f19ba99020a3604f9e7a19d9253 patchBytes=889 patchLines=21 notesReviewed=yes reviewedAt=2026-01-24T22:22:40+0100 notesUpdated=no
|
|
4045
|
+
Pass3PrPlan: finalPr=PR21 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=Codex MCP client test isolation: reset shared transport instances deterministically; keep with Codex MCP tool-call correctness PR.
|
|
3915
4046
|
|
|
3916
4047
|
- Subject: test(codex): reset transport instances between tests
|
|
3917
4048
|
- Reasons: safety/security-sensitive area
|
|
@@ -3936,7 +4067,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=51782fdbfbcd patchFile=/
|
|
|
3936
4067
|
---
|
|
3937
4068
|
|
|
3938
4069
|
## 114 2026-01-21 0ad76f4877ae `cli`
|
|
3939
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0ad76f4877ae patchFile=/tmp/leeroy-wip-pass2/114.patch patchSha256=1bf8701713c523749d310b281e5d6d661dd0a1ac56387921bd72f69da58384b6 patchBytes=796 patchLines=23 notesReviewed=
|
|
4070
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0ad76f4877ae patchFile=/tmp/leeroy-wip-pass2/114.patch patchSha256=1bf8701713c523749d310b281e5d6d661dd0a1ac56387921bd72f69da58384b6 patchBytes=796 patchLines=23 notesReviewed=yes reviewedAt=2026-01-24T22:23:08+0100 notesUpdated=no
|
|
4071
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=CLI code style: whitespace/indentation fix in Gemini daemon start block (no behavior); squash into nearby CLI changes if desired.
|
|
3940
4072
|
|
|
3941
4073
|
- Subject: chore(cli): fix gemini daemon block indentation
|
|
3942
4074
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3961,7 +4093,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0ad76f4877ae patchFile=/
|
|
|
3961
4093
|
---
|
|
3962
4094
|
|
|
3963
4095
|
## 115 2026-01-21 a8093e3e4ddb `persistence`
|
|
3964
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a8093e3e4ddb patchFile=/tmp/leeroy-wip-pass2/115.patch patchSha256=3420822641f5afa625dc3e0ba74db3ba10a8626334544a4792bde9eb4374a63c patchBytes=926 patchLines=21 notesReviewed=
|
|
4096
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a8093e3e4ddb patchFile=/tmp/leeroy-wip-pass2/115.patch patchSha256=3420822641f5afa625dc3e0ba74db3ba10a8626334544a4792bde9eb4374a63c patchBytes=926 patchLines=21 notesReviewed=yes reviewedAt=2026-01-24T22:23:33+0100 notesUpdated=no
|
|
4097
|
+
Pass3PrPlan: finalPr=PR05 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=Docs-only: update profile schema version comment in persistence module; keep with persistence PR (or squash into adjacent persistence changes).
|
|
3965
4098
|
|
|
3966
4099
|
- Subject: docs(persistence): update profile schema version comment
|
|
3967
4100
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -3986,7 +4119,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a8093e3e4ddb patchFile=/
|
|
|
3986
4119
|
---
|
|
3987
4120
|
|
|
3988
4121
|
## 116 2026-01-21 b16c3658b944 `gemini`
|
|
3989
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b16c3658b944 patchFile=/tmp/leeroy-wip-pass2/116.patch patchSha256=10f3b6671931c4fea61fa9a5457164e7631cb88d0742e69d1f5b95a79aa0874c patchBytes=1280 patchLines=24 notesReviewed=
|
|
4122
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b16c3658b944 patchFile=/tmp/leeroy-wip-pass2/116.patch patchSha256=10f3b6671931c4fea61fa9a5457164e7631cb88d0742e69d1f5b95a79aa0874c patchBytes=1280 patchLines=24 notesReviewed=yes reviewedAt=2026-01-24T22:24:11+0100 notesUpdated=no
|
|
4123
|
+
Pass3PrPlan: finalPr=PR30 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=Agent error formatting robustness: normalize Gemini errorDetails shape for consistent UI checks; keep with Codex/Gemini error surface PR.
|
|
3990
4124
|
|
|
3991
4125
|
- Subject: fix(gemini): normalize error details for UI
|
|
3992
4126
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -4013,7 +4147,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b16c3658b944 patchFile=/
|
|
|
4013
4147
|
---
|
|
4014
4148
|
|
|
4015
4149
|
## 117 2026-01-21 d9591372655f `common`
|
|
4016
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d9591372655f patchFile=/tmp/leeroy-wip-pass2/117.patch patchSha256=ace20816f9d2755efdc5a488bee70435c87d582e160182818d5bcbc48a24bcf0 patchBytes=1230 patchLines=22 notesReviewed=
|
|
4150
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d9591372655f patchFile=/tmp/leeroy-wip-pass2/117.patch patchSha256=ace20816f9d2755efdc5a488bee70435c87d582e160182818d5bcbc48a24bcf0 patchBytes=1230 patchLines=22 notesReviewed=yes reviewedAt=2026-01-24T22:24:48+0100 notesUpdated=no
|
|
4151
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=detect-cli robustness: handle execFileAsync non-zero exit codes across node/platform shapes; keep adjacent to detect-cli handler series.
|
|
4017
4152
|
|
|
4018
4153
|
- Subject: fix(common): handle execFileAsync exit codes
|
|
4019
4154
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -4039,7 +4174,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d9591372655f patchFile=/
|
|
|
4039
4174
|
---
|
|
4040
4175
|
|
|
4041
4176
|
## 118 2026-01-22 ab95e8cf920c `sync`
|
|
4042
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab95e8cf920c patchFile=/tmp/leeroy-wip-pass2/118.patch patchSha256=66ac52b7e573865bf218d966b913633fb1087b1c31792efcb0273a2094486141 patchBytes=5426 patchLines=160 notesReviewed=
|
|
4177
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab95e8cf920c patchFile=/tmp/leeroy-wip-pass2/118.patch patchSha256=66ac52b7e573865bf218d966b913633fb1087b1c31792efcb0273a2094486141 patchBytes=5426 patchLines=160 notesReviewed=yes reviewedAt=2026-01-24T22:25:33+0100 notesUpdated=yes
|
|
4178
|
+
Pass3PrPlan: finalPr=PR27 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=Sync reliability: ensure invalidateAndAwait resolves on command errors (no hangs) + add tests; keep in sync robustness PR.
|
|
4043
4179
|
|
|
4044
4180
|
- Subject: fix(sync): avoid hanging invalidateAndAwait on errors
|
|
4045
4181
|
- Reasons: safety/reliability-sensitive area (prevents deadlocks/hangs)
|
|
@@ -4052,6 +4188,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab95e8cf920c patchFile=/
|
|
|
4052
4188
|
- Replaces `backoffForever` with an injectable backoff (`BackoffFunc`) defaulting to `createBackoff(...)`.
|
|
4053
4189
|
- Adds `onError` callback support and tracks failure count.
|
|
4054
4190
|
- Critical fix: catches failures so `invalidateAndAwait()` always resolves pending awaiters even when the command throws; previously it could hang forever.
|
|
4191
|
+
- Behavior change (important): retries are now bounded by `createBackoff`’s default `maxFailureCount` (currently 8); on terminal failure it invokes `onError` in the catch and resolves awaiters instead of retrying forever.
|
|
4055
4192
|
- Avoids unhandled promise chains by `void`-ing `_doSync()` calls.
|
|
4056
4193
|
- Adds `cli/src/utils/sync.test.ts` validating:
|
|
4057
4194
|
- `invalidateAndAwait` resolves even when the command throws.
|
|
@@ -4072,7 +4209,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab95e8cf920c patchFile=/
|
|
|
4072
4209
|
---
|
|
4073
4210
|
|
|
4074
4211
|
## 119 2026-01-22 6f98c95fb5d8 `claude`
|
|
4075
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6f98c95fb5d8 patchFile=/tmp/leeroy-wip-pass2/119.patch patchSha256=838e1cf143030a5f2593857ae404888f883c6e6b4b7ebd8fb80d3201c9632390 patchBytes=35603 patchLines=855 notesReviewed=
|
|
4212
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6f98c95fb5d8 patchFile=/tmp/leeroy-wip-pass2/119.patch patchSha256=838e1cf143030a5f2593857ae404888f883c6e6b4b7ebd8fb80d3201c9632390 patchBytes=35603 patchLines=855 notesReviewed=yes reviewedAt=2026-01-24T22:27:03+0100 notesUpdated=yes
|
|
4213
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=Claude session continuity: support -c/-r flags, CLAUDE_CONFIG_DIR consistency, and avoid session loss on remote/local switch with strong tests; keep with Claude transcript/session handling PR (after 103).
|
|
4076
4214
|
|
|
4077
4215
|
- Subject: fix(claude): support -c/-r and avoid session loss on switch
|
|
4078
4216
|
- Reasons: safety/reliability-sensitive area (session continuity)
|
|
@@ -4086,7 +4224,14 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6f98c95fb5d8 patchFile=/
|
|
|
4086
4224
|
- Threads a `CLAUDE_CONFIG_DIR` override through the path helpers so local session discovery and transcript scanning are consistent with the actual Claude config dir used at runtime.
|
|
4087
4225
|
- Switch/session continuity:
|
|
4088
4226
|
- Clears `session.sessionId` and `session.transcriptPath` before spawning a local resume session (tests assert this), avoiding stale IDs/transcripts causing session-loss when hooks “fork” a resume into a new session ID.
|
|
4089
|
-
-
|
|
4227
|
+
- If local spawn fails before Claude reports the forked session, restores the previous `sessionId/transcriptPath` so remote mode can still resume the last-known session (prevents “session lost” dead-ends on fast switch).
|
|
4228
|
+
- `Session.clearSessionId()` now clears `transcriptPath` as well (test added), so “new session boundary” is consistent.
|
|
4229
|
+
- Remote launcher correctness: tracks `previousSessionId` across iterations and uses a `forceNewSession` flag on reset to avoid double parent-chain resets when the session ID changes mid-run (system init / resume / fork / compact).
|
|
4230
|
+
- Remote `--continue`/`--resume` semantics:
|
|
4231
|
+
- Avoids discarding a resume session just because `claudeCheckSession` fails transcript validation early (important for fast switch when transcript may exist but not contain UUID/message lines yet).
|
|
4232
|
+
- Honors `--continue/-c` by passing `continue: true` to the Claude SDK.
|
|
4233
|
+
- Treats `--resume/-r` without an ID as “resume last session” by using `claudeFindLastSession(...)` (non-interactive remote mode).
|
|
4234
|
+
- Adds/extends many launcher/session tests around switch idempotency and transcript/sessionId races.
|
|
4090
4235
|
- Refactors:
|
|
4091
4236
|
- `getProjectPath(...)` and `claudeFindLastSession(...)` accept an explicit claude config dir override.
|
|
4092
4237
|
- Coherence:
|
|
@@ -4104,7 +4249,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6f98c95fb5d8 patchFile=/
|
|
|
4104
4249
|
---
|
|
4105
4250
|
|
|
4106
4251
|
## 120 2026-01-16 9489d70848f3 `claude`
|
|
4107
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9489d70848f3 patchFile=/tmp/leeroy-wip-pass2/120.patch patchSha256=410c21de11c9acb2535f2acab3c016ae5690d5213def0191c98b328880d7e429 patchBytes=826 patchLines=20 notesReviewed=
|
|
4252
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9489d70848f3 patchFile=/tmp/leeroy-wip-pass2/120.patch patchSha256=410c21de11c9acb2535f2acab3c016ae5690d5213def0191c98b328880d7e429 patchBytes=826 patchLines=20 notesReviewed=yes reviewedAt=2026-01-24T22:30:30+0100 notesUpdated=no
|
|
4253
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T13:40:00+0100 manualReviewedForPrPlan=yes notes=Trivial test cleanup (blank line) with misleading subject; squash into nearby Claude tests during rewrite.
|
|
4108
4254
|
|
|
4109
4255
|
- Subject: test(claude): align sessionScanner path mapping
|
|
4110
4256
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -4129,7 +4275,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9489d70848f3 patchFile=/
|
|
|
4129
4275
|
---
|
|
4130
4276
|
|
|
4131
4277
|
## 121 2026-01-12 9c4cb44b7d86 `daemon`
|
|
4132
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c4cb44b7d86 patchFile=/tmp/leeroy-wip-pass2/121.patch patchSha256=99c4d3f4aa1de8302a73d5e1141f76222598f8dd28aed42743a3a27c069b8b26 patchBytes=19771 patchLines=495 notesReviewed=
|
|
4278
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c4cb44b7d86 patchFile=/tmp/leeroy-wip-pass2/121.patch patchSha256=99c4d3f4aa1de8302a73d5e1141f76222598f8dd28aed42743a3a27c069b8b26 patchBytes=19771 patchLines=495 notesReviewed=yes reviewedAt=2026-01-24T22:31:11+0100 notesUpdated=yes
|
|
4279
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Daemon reliability: session marker registry + restart reattach semantics + atomic daemon state persistence; keep with ownership-gated process safety.
|
|
4133
4280
|
|
|
4134
4281
|
- Subject: fix(daemon): reattach sessions after daemon restart
|
|
4135
4282
|
- Reasons: safety/reliability-sensitive area (process ownership + restart continuity)
|
|
@@ -4151,6 +4298,10 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c4cb44b7d86 patchFile=/
|
|
|
4151
4298
|
- Removes markers when sessions exit/are cleaned up.
|
|
4152
4299
|
- API surface:
|
|
4153
4300
|
- Makes `stopSession` async (`Promise<boolean>`) across the daemon control server and apiMachine handler.
|
|
4301
|
+
- Persistence hardening (also in this commit; important for restart/reattach correctness):
|
|
4302
|
+
- `persistence.ts` adds a zod `DaemonLocallyPersistedStateSchema` and validates reads.
|
|
4303
|
+
- `readDaemonState()` now retries up to 3 times on transient read errors (but fails closed on `SyntaxError` / invalid schema).
|
|
4304
|
+
- `writeDaemonState()` becomes atomic via `*.tmp` + `renameSync` with Windows `EEXIST/EPERM` fallback; also ensures parent dir exists and cleans up orphan `*.tmp` files.
|
|
4154
4305
|
- Coherence:
|
|
4155
4306
|
- Matches subject and is strongly aligned with reliability + “ownership-gated kills” principles.
|
|
4156
4307
|
|
|
@@ -4166,7 +4317,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c4cb44b7d86 patchFile=/
|
|
|
4166
4317
|
---
|
|
4167
4318
|
|
|
4168
4319
|
## 122 2026-01-14 dbde6d871670 `daemon`
|
|
4169
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dbde6d871670 patchFile=/tmp/leeroy-wip-pass2/122.patch patchSha256=425e25bd818a27228a3718449865e31d36f01c62caacd74073750d79d93a7280 patchBytes=10606 patchLines=278 notesReviewed=
|
|
4320
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dbde6d871670 patchFile=/tmp/leeroy-wip-pass2/122.patch patchSha256=425e25bd818a27228a3718449865e31d36f01c62caacd74073750d79d93a7280 patchBytes=10606 patchLines=278 notesReviewed=yes reviewedAt=2026-01-24T22:31:56+0100 notesUpdated=no
|
|
4321
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Daemon reliability tests: PID classification strictness + session marker semantics; keep adjacent to 121.
|
|
4170
4322
|
|
|
4171
4323
|
- Subject: test(daemon): add PID classification + session marker tests
|
|
4172
4324
|
- Reasons: safety/reliability-sensitive area (tests for ownership gating)
|
|
@@ -4196,7 +4348,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dbde6d871670 patchFile=/
|
|
|
4196
4348
|
---
|
|
4197
4349
|
|
|
4198
4350
|
## 123 2026-01-14 7cffdd5ce614 `daemon`
|
|
4199
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7cffdd5ce614 patchFile=/tmp/leeroy-wip-pass2/123.patch patchSha256=89b569fa130b6df175f9de9ac140dd213b835490ff97a5aa37487b6cc4d82c3f patchBytes=9585 patchLines=207 notesReviewed=
|
|
4351
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7cffdd5ce614 patchFile=/tmp/leeroy-wip-pass2/123.patch patchSha256=89b569fa130b6df175f9de9ac140dd213b835490ff97a5aa37487b6cc4d82c3f patchBytes=9585 patchLines=207 notesReviewed=yes reviewedAt=2026-01-24T22:32:42+0100 notesUpdated=no
|
|
4352
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Daemon safety hardening: PID reuse mitigation via process command hashing for reattach/stop; keep adjacent to 121/122.
|
|
4200
4353
|
|
|
4201
4354
|
- Subject: fix(daemon): verify PID via command hash for reattach/stop
|
|
4202
4355
|
- Reasons: safety/security-sensitive area (PID reuse mitigation)
|
|
@@ -4228,7 +4381,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7cffdd5ce614 patchFile=/
|
|
|
4228
4381
|
---
|
|
4229
4382
|
|
|
4230
4383
|
## 124 2026-01-13 8b88dcd73d40 `claude`
|
|
4231
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8b88dcd73d40 patchFile=/tmp/leeroy-wip-pass2/124.patch patchSha256=39d4e468290fc1869c70575d79c787da0b81f17506ce0fc4b8e7403e0e3b0f57 patchBytes=6503 patchLines=149 notesReviewed=
|
|
4384
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8b88dcd73d40 patchFile=/tmp/leeroy-wip-pass2/124.patch patchSha256=39d4e468290fc1869c70575d79c787da0b81f17506ce0fc4b8e7403e0e3b0f57 patchBytes=6503 patchLines=149 notesReviewed=yes reviewedAt=2026-01-24T22:33:10+0100 notesUpdated=no
|
|
4385
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Permission framework (Claude baseline): carry selected permission mode across remote/local switches by persisting lastPermissionMode and updating Claude args before spawn; safety-critical.
|
|
4232
4386
|
|
|
4233
4387
|
- Subject: fix(claude): carry permission mode across remote/local switches
|
|
4234
4388
|
- Reasons: safety/security-sensitive area
|
|
@@ -4260,7 +4414,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8b88dcd73d40 patchFile=/
|
|
|
4260
4414
|
---
|
|
4261
4415
|
|
|
4262
4416
|
## 125 2026-01-13 8f0e10c9428b `claude`
|
|
4263
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8f0e10c9428b patchFile=/tmp/leeroy-wip-pass2/125.patch patchSha256=f63543b0a8ff41e6064cf9680650c5aa0f4b0d4711cf3eb4b04015e200d34474 patchBytes=8317 patchLines=188 notesReviewed=
|
|
4417
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8f0e10c9428b patchFile=/tmp/leeroy-wip-pass2/125.patch patchSha256=f63543b0a8ff41e6064cf9680650c5aa0f4b0d4711cf3eb4b04015e200d34474 patchBytes=8317 patchLines=188 notesReviewed=yes reviewedAt=2026-01-24T22:33:49+0100 notesUpdated=no
|
|
4418
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Permission framework (metadata publish): publish permissionMode(+updatedAt) into session metadata for Claude so app can seed UI state before first app-originated message; keep adjacent to 124 and app-side consumption.
|
|
4264
4419
|
|
|
4265
4420
|
- Subject: fix(claude): publish permission mode in session metadata
|
|
4266
4421
|
- Reasons: safety/security-sensitive area
|
|
@@ -4297,7 +4452,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8f0e10c9428b patchFile=/
|
|
|
4297
4452
|
---
|
|
4298
4453
|
|
|
4299
4454
|
## 126 2026-01-13 ffad20faa406 `cli`
|
|
4300
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ffad20faa406 patchFile=/tmp/leeroy-wip-pass2/126.patch patchSha256=6b3d0db00b8297708e4c126cda7c32cc1757917052997e3e89d2afb7b0f932bc patchBytes=16431 patchLines=352 notesReviewed=
|
|
4455
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ffad20faa406 patchFile=/tmp/leeroy-wip-pass2/126.patch patchSha256=6b3d0db00b8297708e4c126cda7c32cc1757917052997e3e89d2afb7b0f932bc patchBytes=16431 patchLines=352 notesReviewed=yes reviewedAt=2026-01-24T22:34:28+0100 notesUpdated=no
|
|
4456
|
+
Pass3PrPlan: finalPr=PR11 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Permission modes (Codex/Gemini): seed/update permissionMode in metadata + CLI arg parsing + canonical permission constants; keep with agent-specific permission-mode PR (adjacent to 125 for shared metadata shape).
|
|
4301
4457
|
|
|
4302
4458
|
- Subject: fix(cli): publish permission mode for codex/gemini sessions
|
|
4303
4459
|
- Reasons: safety/security-sensitive area
|
|
@@ -4341,7 +4497,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ffad20faa406 patchFile=/
|
|
|
4341
4497
|
---
|
|
4342
4498
|
|
|
4343
4499
|
## 127 2026-01-13 eb72c6e69434 `codex`
|
|
4344
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=eb72c6e69434 patchFile=/tmp/leeroy-wip-pass2/127.patch patchSha256=37144c1d8f0462514b28be4ce13ecc782ca18e4b8e5fd3296be01c38f77113dc patchBytes=8988 patchLines=173 notesReviewed=
|
|
4500
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=eb72c6e69434 patchFile=/tmp/leeroy-wip-pass2/127.patch patchSha256=37144c1d8f0462514b28be4ce13ecc782ca18e4b8e5fd3296be01c38f77113dc patchBytes=8988 patchLines=173 notesReviewed=yes reviewedAt=2026-01-24T22:37:39+0100 notesUpdated=no
|
|
4501
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Codex session lifecycle: remove brittle experimental resume + disable model overrides (restart drops context explicitly); squash into the earlier Codex “model override/experimental resume” intro commits during rewrite.
|
|
4345
4502
|
|
|
4346
4503
|
- Subject: fix(codex): disable model override and remove experimental resume
|
|
4347
4504
|
- Reasons: reliability; removes a brittle/unsupported resume path and prevents misleading UI behavior (model switching that can’t be honored)
|
|
@@ -4375,7 +4532,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=eb72c6e69434 patchFile=/
|
|
|
4375
4532
|
---
|
|
4376
4533
|
|
|
4377
4534
|
## 128 2026-01-21 d317f6bfa282 `typecheck`
|
|
4378
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d317f6bfa282 patchFile=/tmp/leeroy-wip-pass2/128.patch patchSha256=7d619c16cb24462638734c1315b9ea8009a3985d40fceec02197075d008387bd patchBytes=1915 patchLines=50 notesReviewed=
|
|
4535
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d317f6bfa282 patchFile=/tmp/leeroy-wip-pass2/128.patch patchSha256=7d619c16cb24462638734c1315b9ea8009a3985d40fceec02197075d008387bd patchBytes=1915 patchLines=50 notesReviewed=yes reviewedAt=2026-01-24T22:38:30+0100 notesUpdated=no
|
|
4536
|
+
Pass3PrPlan: finalPr=PR11 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Follow-up compile fix: remove duplicated terminalRuntime keys introduced in Codex/Gemini metadata plumbing + align async stopSession test stub; squash into 126 during rewrite.
|
|
4379
4537
|
|
|
4380
4538
|
- Subject: fix(typecheck): resolve duplicate terminalRuntime and RPC handler types
|
|
4381
4539
|
- Reasons: fixes real TypeScript errors / type drift introduced by nearby commits
|
|
@@ -4405,7 +4563,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d317f6bfa282 patchFile=/
|
|
|
4405
4563
|
---
|
|
4406
4564
|
|
|
4407
4565
|
## 129 2026-01-21 a8682d427794 `cli`
|
|
4408
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a8682d427794 patchFile=/tmp/leeroy-wip-pass2/129.patch patchSha256=947a93b2c50fa20c7d24f8d7fe673af70e00f9609eb66a2a5f62eca5c6f9123b patchBytes=995 patchLines=21 notesReviewed=
|
|
4566
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a8682d427794 patchFile=/tmp/leeroy-wip-pass2/129.patch patchSha256=947a93b2c50fa20c7d24f8d7fe673af70e00f9609eb66a2a5f62eca5c6f9123b patchBytes=995 patchLines=21 notesReviewed=yes reviewedAt=2026-01-24T22:39:02+0100 notesUpdated=no
|
|
4567
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=detect-cli reliability: relax tmux version probe timeout to reduce false negatives on slow machines; keep with capabilities/detect-cli PR.
|
|
4409
4568
|
|
|
4410
4569
|
- Subject: fix(detect-cli): relax tmux version probe timeout
|
|
4411
4570
|
- Reasons: reliability; avoids false negatives on slow machines / cold disks / heavy load
|
|
@@ -4429,7 +4588,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a8682d427794 patchFile=/
|
|
|
4429
4588
|
---
|
|
4430
4589
|
|
|
4431
4590
|
## 130 2026-01-07 e2824dbc858b `queue`
|
|
4432
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e2824dbc858b patchFile=/tmp/leeroy-wip-pass2/130.patch patchSha256=93510969262820b68b311d7d7edeffd55470d857bccda37b4d1e1ef256e906c6 patchBytes=7458 patchLines=155 notesReviewed=
|
|
4591
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e2824dbc858b patchFile=/tmp/leeroy-wip-pass2/130.patch patchSha256=93510969262820b68b311d7d7edeffd55470d857bccda37b4d1e1ef256e906c6 patchBytes=7458 patchLines=155 notesReviewed=yes reviewedAt=2026-01-24T22:39:35+0100 notesUpdated=no
|
|
4592
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T13:17:11+0100 manualReviewedForPrPlan=yes notes=Mixed: (a) queue feature: add pending-pop/pull API + agent-side drain semantics; (b) resume: add codexSessionId metadata. Keep PR13 but needsSplit=yes: move codexSessionId metadata to PR19 during rewrite.
|
|
4433
4593
|
|
|
4434
4594
|
- Subject: feat(queue): add server-side pending message pull support
|
|
4435
4595
|
- Reasons: enables “defer committing UI messages to transcript” by letting the agent pull server-staged messages when ready
|
|
@@ -4471,7 +4631,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e2824dbc858b patchFile=/
|
|
|
4471
4631
|
---
|
|
4472
4632
|
|
|
4473
4633
|
## 131 2026-01-12 37a2c55a6c2f `session`
|
|
4474
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=37a2c55a6c2f patchFile=/tmp/leeroy-wip-pass2/131.patch patchSha256=68b33689da303dc91fe0a0d90841f26f061bfa13b0b2779156640251e74cefbf patchBytes=2238 patchLines=50 notesReviewed=
|
|
4634
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=37a2c55a6c2f patchFile=/tmp/leeroy-wip-pass2/131.patch patchSha256=68b33689da303dc91fe0a0d90841f26f061bfa13b0b2779156640251e74cefbf patchBytes=2238 patchLines=50 notesReviewed=yes reviewedAt=2026-01-24T22:40:05+0100 notesUpdated=no
|
|
4635
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Agent lifecycle correctness: prime Codex/Gemini agentStateVersion so UI readiness flips true; keep with resume/session lifecycle PR since resume/attach relies on readiness.
|
|
4475
4636
|
|
|
4476
4637
|
- Subject: fix(session): prime agent state for readiness
|
|
4477
4638
|
- Reasons: correctness; ensures the UI’s “agent ready” signal becomes true for Codex/Gemini on session start
|
|
@@ -4499,7 +4660,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=37a2c55a6c2f patchFile=/
|
|
|
4499
4660
|
---
|
|
4500
4661
|
|
|
4501
4662
|
## 132 2026-01-21 88494b122194 `tools`
|
|
4502
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=88494b122194 patchFile=/tmp/leeroy-wip-pass2/132.patch patchSha256=1bb827b658bf676d4cafa97e0a1fbb677ce20e89541ca55c496c15be19982c80 patchBytes=6195 patchLines=173 notesReviewed=
|
|
4663
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=88494b122194 patchFile=/tmp/leeroy-wip-pass2/132.patch patchSha256=1bb827b658bf676d4cafa97e0a1fbb677ce20e89541ca55c496c15be19982c80 patchBytes=6195 patchLines=173 notesReviewed=yes reviewedAt=2026-01-24T22:40:48+0100 notesUpdated=no
|
|
4664
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Mixed + later reverted by 140: Windows arm64 tools mapping + rg.exe launcher + test-runner env fallbacks. Keep in tools PR as a pair with its revert; likely drop 132+140 in rewrite unless we intentionally reintroduce parts. needsSplit=yes
|
|
4503
4665
|
|
|
4504
4666
|
- Subject: fix(tools): support Windows arm64 tool unpacking
|
|
4505
4667
|
- Reasons: platform compatibility (Windows ARM running x64 tools under emulation), plus test harness reliability changes
|
|
@@ -4542,7 +4704,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=88494b122194 patchFile=/
|
|
|
4542
4704
|
---
|
|
4543
4705
|
|
|
4544
4706
|
## 133 2026-01-09 d71587eda2db `resume`
|
|
4545
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d71587eda2db patchFile=/tmp/leeroy-wip-pass2/133.patch patchSha256=c971266bb10bc1e5b1d08786d71c52848de972e1bd0e9983a05f7269b38ba902 patchBytes=10151 patchLines=218 notesReviewed=
|
|
4707
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d71587eda2db patchFile=/tmp/leeroy-wip-pass2/133.patch patchSha256=c971266bb10bc1e5b1d08786d71c52848de972e1bd0e9983a05f7269b38ba902 patchBytes=10151 patchLines=218 notesReviewed=yes reviewedAt=2026-01-24T22:41:30+0100 notesUpdated=no
|
|
4708
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Resume plumbing (Claude): plumb vendor resume id through daemon spawn with strict allowlist; keep adjacent to resume UI/RPC callers so it lands end-to-end.
|
|
4546
4709
|
|
|
4547
4710
|
- Subject: feat: resume Claude sessions from UI
|
|
4548
4711
|
- Reasons: introduces a controlled “vendor resume id” plumbing path; safety-gated to Claude in upstream
|
|
@@ -4577,7 +4740,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d71587eda2db patchFile=/
|
|
|
4577
4740
|
---
|
|
4578
4741
|
|
|
4579
4742
|
## 134 2026-01-11 a80868aff50d `resume`
|
|
4580
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a80868aff50d patchFile=/tmp/leeroy-wip-pass2/134.patch patchSha256=51800354db7127967253bb7b54d93e74ad4b0f9cc0bce291490413faffc92b3c patchBytes=24151 patchLines=538 notesReviewed=
|
|
4743
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a80868aff50d patchFile=/tmp/leeroy-wip-pass2/134.patch patchSha256=51800354db7127967253bb7b54d93e74ad4b0f9cc0bce291490413faffc92b3c patchBytes=24151 patchLines=538 notesReviewed=yes reviewedAt=2026-01-24T22:42:27+0100 notesUpdated=no
|
|
4744
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Inactive resume core (Claude): resume-session RPC + persisted session file + --existing-session + initial message injection. Large mixed commit; keep in resume PR but split during rewrite into persistence format + RPC plumbing + Claude attach + types (needsSplit=yes).
|
|
4581
4745
|
|
|
4582
4746
|
- Subject: feat: resume inactive Claude sessions from UI
|
|
4583
4747
|
- Reasons: implements “inactive session resume” by attaching a new CLI worker to an existing Happy session (and optionally vendor-resuming Claude)
|
|
@@ -4644,7 +4808,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a80868aff50d patchFile=/
|
|
|
4644
4808
|
---
|
|
4645
4809
|
|
|
4646
4810
|
## 135 2026-01-12 bcaa530b12d7 `resume`
|
|
4647
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bcaa530b12d7 patchFile=/tmp/leeroy-wip-pass2/135.patch patchSha256=7561d4a5e463553cc4bf588412dc7cece7ec1033d235b320aa959724d340a78d patchBytes=9675 patchLines=229 notesReviewed=
|
|
4811
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bcaa530b12d7 patchFile=/tmp/leeroy-wip-pass2/135.patch patchSha256=7561d4a5e463553cc4bf588412dc7cece7ec1033d235b320aa959724d340a78d patchBytes=9675 patchLines=229 notesReviewed=yes reviewedAt=2026-01-24T22:47:01+0100 notesUpdated=no
|
|
4812
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Resume UX/tooling: add `happy resume` command and persist vendorResumeId into local session file; keep with inactive resume end-to-end PR.
|
|
4648
4813
|
|
|
4649
4814
|
- Subject: feat(resume): add happy resume and persist vendor resume id
|
|
4650
4815
|
- Reasons: adds a user-facing recovery command (`happy resume`) and ensures the vendor resume id is persisted once discovered
|
|
@@ -4687,7 +4852,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bcaa530b12d7 patchFile=/
|
|
|
4687
4852
|
---
|
|
4688
4853
|
|
|
4689
4854
|
## 136 2026-01-12 e085e75c5d36 `resume`
|
|
4690
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e085e75c5d36 patchFile=/tmp/leeroy-wip-pass2/136.patch patchSha256=452991bc1eca3a28189df45150e8cb2677f7ee444af83678c2d164d8a0ef3fd8 patchBytes=11945 patchLines=254 notesReviewed=
|
|
4855
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e085e75c5d36 patchFile=/tmp/leeroy-wip-pass2/136.patch patchSha256=452991bc1eca3a28189df45150e8cb2677f7ee444af83678c2d164d8a0ef3fd8 patchBytes=11945 patchLines=254 notesReviewed=yes reviewedAt=2026-01-24T22:47:53+0100 notesUpdated=no
|
|
4856
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Resume robustness: allow resume-session without agentSessionId and derive effective vendor resume id from persisted local session state; must squash/follow immediately with compile-fix for duplicate import.
|
|
4691
4857
|
|
|
4692
4858
|
- Subject: feat(resume): allow resume-session without agentSessionId
|
|
4693
4859
|
- Reasons: makes “inactive session resume” more robust by allowing the daemon to derive the vendor resume id from local state
|
|
@@ -4722,7 +4888,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e085e75c5d36 patchFile=/
|
|
|
4722
4888
|
---
|
|
4723
4889
|
|
|
4724
4890
|
## 137 2026-01-12 68a6ba4bc244 `fork`
|
|
4725
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=68a6ba4bc244 patchFile=/tmp/leeroy-wip-pass2/137.patch patchSha256=09b9dd4d2c2f8544ed66f7bc3c8667e4bba75d5cd6fa965616b8b0b929112434 patchBytes=23853 patchLines=497 notesReviewed=
|
|
4891
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=68a6ba4bc244 patchFile=/tmp/leeroy-wip-pass2/137.patch patchSha256=09b9dd4d2c2f8544ed66f7bc3c8667e4bba75d5cd6fa965616b8b0b929112434 patchBytes=23853 patchLines=497 notesReviewed=yes reviewedAt=2026-01-24T22:48:49+0100 notesUpdated=no
|
|
4892
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Codex inactive resume: attach to existing session + vendor resume id via codex-reply MCP tool. Treat as upstream-targeted per decision: remove “fork-only” framing/gating during rewrite. Big mixed; split into MCP resume seeding + attach plumbing + persistence updates (needsSplit=yes).
|
|
4726
4893
|
|
|
4727
4894
|
- Subject: feat(fork): enable Codex inactive-session resume via codex-reply
|
|
4728
4895
|
- Reasons: safety/security-sensitive area
|
|
@@ -4781,7 +4948,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=68a6ba4bc244 patchFile=/
|
|
|
4781
4948
|
---
|
|
4782
4949
|
|
|
4783
4950
|
## 138 2026-01-22 d3aefaa9b598 `daemon`
|
|
4784
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d3aefaa9b598 patchFile=/tmp/leeroy-wip-pass2/138.patch patchSha256=84e78084d52f7e771deaf52f514ec75cc0376492c391fbca3fe5dc52fdb49c7d patchBytes=9489 patchLines=210 notesReviewed=
|
|
4951
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d3aefaa9b598 patchFile=/tmp/leeroy-wip-pass2/138.patch patchSha256=84e78084d52f7e771deaf52f514ec75cc0376492c391fbca3fe5dc52fdb49c7d patchBytes=9489 patchLines=210 notesReviewed=yes reviewedAt=2026-01-24T22:49:26+0100 notesUpdated=no
|
|
4952
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Daemon refactor: extract pidSafety + marker adoption helpers to keep reattach/kill ownership gates strict and testable; keep with daemon reattach series.
|
|
4785
4953
|
|
|
4786
4954
|
- Subject: refactor(daemon): extract reattach and pid safety helpers
|
|
4787
4955
|
- Reasons: reliability/safety; isolates PID-reuse protection logic so it stays strict and testable
|
|
@@ -4822,7 +4990,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d3aefaa9b598 patchFile=/
|
|
|
4822
4990
|
---
|
|
4823
4991
|
|
|
4824
4992
|
## 139 2026-01-22 72397b7e8c94 `test`
|
|
4825
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=72397b7e8c94 patchFile=/tmp/leeroy-wip-pass2/139.patch patchSha256=df9fca792af161b02458bb3a2f4dc937a154a83b01de8ba580e235e947b5bb8b patchBytes=9080 patchLines=258 notesReviewed=
|
|
4993
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=72397b7e8c94 patchFile=/tmp/leeroy-wip-pass2/139.patch patchSha256=df9fca792af161b02458bb3a2f4dc937a154a83b01de8ba580e235e947b5bb8b patchBytes=9080 patchLines=258 notesReviewed=yes reviewedAt=2026-01-24T22:50:06+0100 notesUpdated=no
|
|
4994
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Daemon opt-in real integration tests for reattach/command hashing; keep with daemon reliability PR (gated by env var, safe for CI).
|
|
4826
4995
|
|
|
4827
4996
|
- Subject: test(daemon): add opt-in reattach integration tests
|
|
4828
4997
|
- Reasons: validates the strict PID-safety / marker adoption logic against real OS process listing and command hashing
|
|
@@ -4854,7 +5023,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=72397b7e8c94 patchFile=/
|
|
|
4854
5023
|
---
|
|
4855
5024
|
|
|
4856
5025
|
## 140 2026-01-22 9c40c54018c2 `cli`
|
|
4857
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c40c54018c2 patchFile=/tmp/leeroy-wip-pass2/140.patch patchSha256=eb909f9775dd5ada4bdbe85356bb0966679858bb5986524d600f7dd471607c53 patchBytes=6275 patchLines=175 notesReviewed=
|
|
5026
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c40c54018c2 patchFile=/tmp/leeroy-wip-pass2/140.patch patchSha256=eb909f9775dd5ada4bdbe85356bb0966679858bb5986524d600f7dd471607c53 patchBytes=6275 patchLines=175 notesReviewed=yes reviewedAt=2026-01-24T22:52:35+0100 notesUpdated=no
|
|
5027
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T13:23:41+0100 manualReviewedForPrPlan=yes notes=Revert of 132 (Windows arm64 tools + scripts tests + test env fallback). Keep paired with 132 in tools PR; likely drop both (net no-op) unless reintroducing pieces intentionally.
|
|
4858
5028
|
|
|
4859
5029
|
- Subject: Revert "fix(tools): support Windows arm64 tool unpacking"
|
|
4860
5030
|
- Reasons: non-Conventional-Commits subject; revert commit
|
|
@@ -4893,7 +5063,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c40c54018c2 patchFile=/
|
|
|
4893
5063
|
---
|
|
4894
5064
|
|
|
4895
5065
|
## 141 2026-01-22 ab35b47ff699 `resume`
|
|
4896
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab35b47ff699 patchFile=/tmp/leeroy-wip-pass2/141.patch patchSha256=d4e54e806288f0c6edb2ab4d786de5f4684a7e297032bb3494763ae893eebf17 patchBytes=53960 patchLines=1080 notesReviewed=
|
|
5066
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab35b47ff699 patchFile=/tmp/leeroy-wip-pass2/141.patch patchSha256=d4e54e806288f0c6edb2ab4d786de5f4684a7e297032bb3494763ae893eebf17 patchBytes=53960 patchLines=1080 notesReviewed=yes reviewedAt=2026-01-24T22:54:06+0100 notesUpdated=no
|
|
5067
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Inactive resume finalization: remove HAPPY_INITIAL_MESSAGE flow in favor of pending-queue + spawn-only; add experimental Codex resume gating (app+daemon) + resume-server install/status surfaces. Large mixed; keep in resume PR but split during rewrite (needsSplit=yes).
|
|
4897
5068
|
|
|
4898
5069
|
- Subject: fix(resume): make inactive resume reliable; gate Codex resume
|
|
4899
5070
|
- Reasons: multiple major areas: cli, expo-app; safety/security-sensitive area
|
|
@@ -4965,7 +5136,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab35b47ff699 patchFile=/
|
|
|
4965
5136
|
---
|
|
4966
5137
|
|
|
4967
5138
|
## 142 2026-01-22 aa9b11684389 `codex`
|
|
4968
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=aa9b11684389 patchFile=/tmp/leeroy-wip-pass2/142.patch patchSha256=669155234b852409456b69b513c95fa35fef784e6c456c26ff694a323d494590 patchBytes=1017 patchLines=21 notesReviewed=
|
|
5139
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=aa9b11684389 patchFile=/tmp/leeroy-wip-pass2/142.patch patchSha256=669155234b852409456b69b513c95fa35fef784e6c456c26ff694a323d494590 patchBytes=1017 patchLines=21 notesReviewed=yes reviewedAt=2026-01-24T22:54:32+0100 notesUpdated=no
|
|
5140
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Resume-server installer reliability: increase npm install execFile buffer to avoid maxBuffer failures; keep adjacent to 141/144/146.
|
|
4969
5141
|
|
|
4970
5142
|
- Subject: fix(codex): increase installer output buffer
|
|
4971
5143
|
- Reasons: reliability; avoids `execFile` buffer overflow when `npm install` emits large output (common in verbose installs)
|
|
@@ -4992,7 +5164,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=aa9b11684389 patchFile=/
|
|
|
4992
5164
|
---
|
|
4993
5165
|
|
|
4994
5166
|
## 143 2026-01-22 c4beebbfa375 `app`
|
|
4995
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c4beebbfa375 patchFile=/tmp/leeroy-wip-pass2/143.patch patchSha256=818cb06f839d355eb6f859700abc520dde89360b5e2bfcc9c531c81ec30d30a2 patchBytes=9499 patchLines=151 notesReviewed=
|
|
5167
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c4beebbfa375 patchFile=/tmp/leeroy-wip-pass2/143.patch patchSha256=818cb06f839d355eb6f859700abc520dde89360b5e2bfcc9c531c81ec30d30a2 patchBytes=9499 patchLines=151 notesReviewed=yes reviewedAt=2026-01-24T22:54:52+0100 notesUpdated=no
|
|
5168
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Resume UX gating: add expCodexResume experiment toggle + translations; keep with inactive resume/Codex resume gating PR.
|
|
4996
5169
|
|
|
4997
5170
|
- Subject: feat(ui): add Codex resume experiment toggle
|
|
4998
5171
|
- Reasons: exposes Codex resume gating as an explicit experiment flag in the UI
|
|
@@ -5019,7 +5192,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c4beebbfa375 patchFile=/
|
|
|
5019
5192
|
---
|
|
5020
5193
|
|
|
5021
5194
|
## 144 2026-01-22 0140ae276869 `codex`
|
|
5022
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0140ae276869 patchFile=/tmp/leeroy-wip-pass2/144.patch patchSha256=da1d68ddbd6e718dcee9bde45d79db2fdb031e3e40cdee7c3204d35123ac5c84 patchBytes=20922 patchLines=449 notesReviewed=
|
|
5195
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0140ae276869 patchFile=/tmp/leeroy-wip-pass2/144.patch patchSha256=da1d68ddbd6e718dcee9bde45d79db2fdb031e3e40cdee7c3204d35123ac5c84 patchBytes=20922 patchLines=449 notesReviewed=yes reviewedAt=2026-01-24T22:55:39+0100 notesUpdated=no
|
|
5196
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Resume-server installer refactor: switch to install-dep + mcp-server wrapper binary (codex-mcp-resume) and update app ops/settings accordingly; keep with 141/146.
|
|
5023
5197
|
|
|
5024
5198
|
- Subject: refactor(codex): install mcp resume server via install-dep
|
|
5025
5199
|
- Reasons: multiple major areas: cli, expo-app; safety/security-sensitive area
|
|
@@ -5073,7 +5247,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0140ae276869 patchFile=/
|
|
|
5073
5247
|
---
|
|
5074
5248
|
|
|
5075
5249
|
## 145 2026-01-22 2ec41b621b54 `codex`
|
|
5076
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2ec41b621b54 patchFile=/tmp/leeroy-wip-pass2/145.patch patchSha256=efd08aabefa137e9e983d4c5efcbe2d8e04c093973a6a79dd95ff1ed93e6a9cd patchBytes=1848 patchLines=39 notesReviewed=
|
|
5250
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2ec41b621b54 patchFile=/tmp/leeroy-wip-pass2/145.patch patchSha256=efd08aabefa137e9e983d4c5efcbe2d8e04c093973a6a79dd95ff1ed93e6a9cd patchBytes=1848 patchLines=39 notesReviewed=yes reviewedAt=2026-01-24T22:56:00+0100 notesUpdated=no
|
|
5251
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Resume-server Windows fix: detect installed binary with F_OK on win32 (X_OK unreliable); keep adjacent to 144/146.
|
|
5077
5252
|
|
|
5078
5253
|
- Subject: fix(codex): detect resume binary on Windows
|
|
5079
5254
|
- Reasons: correctness on Windows; `fs.access(..., X_OK)` is not reliable/meaningful for Windows executables
|
|
@@ -5102,7 +5277,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2ec41b621b54 patchFile=/
|
|
|
5102
5277
|
---
|
|
5103
5278
|
|
|
5104
5279
|
## 146 2026-01-22 e1deb6db8ddb `codex`
|
|
5105
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e1deb6db8ddb patchFile=/tmp/leeroy-wip-pass2/146.patch patchSha256=9b831cce3cd6420cf89ba5f4b8c0e3c726826fc682812c897227b487c25ba544 patchBytes=17863 patchLines=364 notesReviewed=
|
|
5280
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e1deb6db8ddb patchFile=/tmp/leeroy-wip-pass2/146.patch patchSha256=9b831cce3cd6420cf89ba5f4b8c0e3c726826fc682812c897227b487c25ba544 patchBytes=17863 patchLines=364 notesReviewed=yes reviewedAt=2026-01-24T22:56:28+0100 notesUpdated=no
|
|
5281
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Resume-server API consolidation: add dep-status + install-dep and drop codex-resume-specific RPCs; update machine UI + ops to use generic dep APIs.
|
|
5106
5282
|
|
|
5107
5283
|
- Subject: refactor(codex): add dep-status and drop codex-resume RPCs
|
|
5108
5284
|
- Reasons: multiple major areas: cli, expo-app
|
|
@@ -5143,7 +5319,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e1deb6db8ddb patchFile=/
|
|
|
5143
5319
|
---
|
|
5144
5320
|
|
|
5145
5321
|
## 147 2026-01-22 231d7ad9bdd9 `app`
|
|
5146
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=231d7ad9bdd9 patchFile=/tmp/leeroy-wip-pass2/147.patch patchSha256=61ec89be876220236ee267e4c6c6ea5a0c0f252db616b2b47740e96118c944a4 patchBytes=959 patchLines=21 notesReviewed=
|
|
5322
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=231d7ad9bdd9 patchFile=/tmp/leeroy-wip-pass2/147.patch patchSha256=61ec89be876220236ee267e4c6c6ea5a0c0f252db616b2b47740e96118c944a4 patchBytes=959 patchLines=21 notesReviewed=yes reviewedAt=2026-01-24T22:57:00+0100 notesUpdated=no
|
|
5323
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Resume-server UX copy: clarify machine screen section label (“Codex resume server”); keep adjacent to 146.
|
|
5147
5324
|
|
|
5148
5325
|
- Subject: fix(ui): clarify Codex resume server label
|
|
5149
5326
|
- Reasons: UX clarity; prevents “Resume Codex” from sounding like an action on a session rather than a machine-level installer/status section
|
|
@@ -5169,7 +5346,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=231d7ad9bdd9 patchFile=/
|
|
|
5169
5346
|
---
|
|
5170
5347
|
|
|
5171
5348
|
## 148 2026-01-22 8bebf04aca92 `cli`
|
|
5172
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8bebf04aca92 patchFile=/tmp/leeroy-wip-pass2/148.patch patchSha256=5afb051e441a3e49c0f1bc5110d2a3f3a150b01eae0b0ac4afe08bb7898ab763 patchBytes=95216 patchLines=2353 notesReviewed=
|
|
5349
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8bebf04aca92 patchFile=/tmp/leeroy-wip-pass2/148.patch patchSha256=5afb051e441a3e49c0f1bc5110d2a3f3a150b01eae0b0ac4afe08bb7898ab763 patchBytes=95216 patchLines=2353 notesReviewed=yes reviewedAt=2026-01-24T22:58:28+0100 notesUpdated=yes
|
|
5350
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Capabilities protocol final feature: add checklist-based capabilities.* RPC (detect/describe/invoke) and migrate detect-cli/dep-status/install-dep; also extracts preview-env handler module. Keep under capabilities PR but needsSplit=yes: move preview-env extraction to PR15 during rewrite.
|
|
5173
5351
|
|
|
5174
5352
|
- Subject: refactor(cli): modularize capabilities and env preview
|
|
5175
5353
|
- Reasons: large change (+1296/-908); safety/security-sensitive area
|
|
@@ -5253,7 +5431,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8bebf04aca92 patchFile=/
|
|
|
5253
5431
|
---
|
|
5254
5432
|
|
|
5255
5433
|
## 149 2026-01-22 bcf10af94626 `test`
|
|
5256
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bcf10af94626 patchFile=/tmp/leeroy-wip-pass2/149.patch patchSha256=3680c05a9986bb7a88b6cf09ffedd3ca44f0f1c07c8fecde4031e88d02da5828 patchBytes=3896 patchLines=93 notesReviewed=
|
|
5434
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bcf10af94626 patchFile=/tmp/leeroy-wip-pass2/149.patch patchSha256=3680c05a9986bb7a88b6cf09ffedd3ca44f0f1c07c8fecde4031e88d02da5828 patchBytes=3896 patchLines=93 notesReviewed=yes reviewedAt=2026-01-24T22:59:07+0100 notesUpdated=no
|
|
5435
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=Capabilities UI test alignment: update useCLIDetection hook tests for capabilities snapshot model; keep adjacent to app-side capabilities migration commits.
|
|
5257
5436
|
|
|
5258
5437
|
- Subject: test(ui): update useCLIDetection hook tests for capabilities
|
|
5259
5438
|
- Reasons: keeps tests aligned with the new “capabilities snapshot” data model used by the UI
|
|
@@ -5286,7 +5465,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bcf10af94626 patchFile=/
|
|
|
5286
5465
|
---
|
|
5287
5466
|
|
|
5288
5467
|
## 150 2026-01-22 a5cac698f15b `cli`
|
|
5289
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a5cac698f15b patchFile=/tmp/leeroy-wip-pass2/150.patch patchSha256=3694dd443122580af8b8145d55135c8a8a096631b741e919f13c0b817962250e patchBytes=81312 patchLines=1988 notesReviewed=
|
|
5468
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a5cac698f15b patchFile=/tmp/leeroy-wip-pass2/150.patch patchSha256=3694dd443122580af8b8145d55135c8a8a096631b741e919f13c0b817962250e patchBytes=81312 patchLines=1988 notesReviewed=yes reviewedAt=2026-01-24T23:10:58+0100 notesUpdated=no
|
|
5469
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T13:27:40+0100 manualReviewedForPrPlan=yes notes=MessageQueueV1 core (CLI): metadata-backed pending queue w/ inFlight acking via localId, plus discard-on-switch policy + ACP lifecycle edges. Very mixed; keep in queue PR but needsSplit=yes (split queue semantics vs switching prompt vs ACP lifecycle vs idle-wake util).
|
|
5290
5470
|
|
|
5291
5471
|
- Subject: feat(cli): harden session queue, switching, and lifecycle
|
|
5292
5472
|
- Reasons: safety/security-sensitive area
|
|
@@ -5389,7 +5569,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a5cac698f15b patchFile=/
|
|
|
5389
5569
|
---
|
|
5390
5570
|
|
|
5391
5571
|
## 151 2026-01-22 3fc704424e8d `app`
|
|
5392
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3fc704424e8d patchFile=/tmp/leeroy-wip-pass2/151.patch patchSha256=7ed45b3314f7105169d3ac395b48d833d5bac29717fc5b3a7f05ea532840cba0 patchBytes=196858 patchLines=4390 notesReviewed=
|
|
5572
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3fc704424e8d patchFile=/tmp/leeroy-wip-pass2/151.patch patchSha256=7ed45b3314f7105169d3ac395b48d833d5bac29717fc5b3a7f05ea532840cba0 patchBytes=196858 patchLines=4390 notesReviewed=yes reviewedAt=2026-01-24T23:14:06+0100 notesUpdated=yes
|
|
5573
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T13:31:51+0100 manualReviewedForPrPlan=yes notes=Mixed mega-commit spanning MessageQueueV1 (app metadata-backed queue + CAS updater + submit-mode policy + discard markers) and Capabilities protocol migration + NewSession wizard extraction. Keep finalPr=PR13 but needsSplit=yes: move capabilities migration + new-session wizard pieces to PR14/PR26 during rewrite; keep queue+submit-mode+discard-markers in PR13.
|
|
5393
5574
|
|
|
5394
5575
|
- Subject: feat(app): add pending queue, discard markers, and capabilities
|
|
5395
5576
|
- Reasons: too many files (44)
|
|
@@ -5505,7 +5686,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3fc704424e8d patchFile=/
|
|
|
5505
5686
|
---
|
|
5506
5687
|
|
|
5507
5688
|
## 152 2026-01-22 49893dd7d16a `terminal`
|
|
5508
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=49893dd7d16a patchFile=/tmp/leeroy-wip-pass2/152.patch patchSha256=6b2581e37dc06e54a24ff31b994563bd41887a3e228e1a0788c0861dc67b508f patchBytes=12596 patchLines=348 notesReviewed=
|
|
5689
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=49893dd7d16a patchFile=/tmp/leeroy-wip-pass2/152.patch patchSha256=6b2581e37dc06e54a24ff31b994563bd41887a3e228e1a0788c0861dc67b508f patchBytes=12596 patchLines=348 notesReviewed=yes reviewedAt=2026-01-24T23:15:23+0100 notesUpdated=yes
|
|
5690
|
+
Pass3PrPlan: finalPr=PR31 plannedAt=2026-01-25T13:40:30+0100 manualReviewedForPrPlan=yes notes=Terminal switching reliability: deterministic remote→local input handling + stdin drain helper with tests; not tmux-specific, keep in terminal-switching PR.
|
|
5509
5691
|
|
|
5510
5692
|
- Subject: fix(terminal): harden remote→local switching input
|
|
5511
5693
|
- Reasons: user-reported terminal corruption/sluggish input after switching remote→local (especially after “space spam”); this aims to make switching deterministic and prevent buffered input leakage
|
|
@@ -5529,6 +5711,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=49893dd7d16a patchFile=/
|
|
|
5529
5711
|
- `cli/src/utils/terminalStdinCleanup.test.ts` (new): verifies draining + pause and the non-TTY no-op behavior.
|
|
5530
5712
|
- Coherence / correctness notes:
|
|
5531
5713
|
- The commit message describes draining buffered input “after the Ink UI unmounts”; in this commit the cleanup helper is introduced and tested, but it is not wired into the remote→local switch path yet (at least not in the diffs shown here). If a follow-up commit integrates it, these should remain adjacent in history.
|
|
5714
|
+
- Ordering constraint: commit `150` uses `cleanupStdinAfterInk(...)`. During rewrite, ensure this commit lands before any commit that imports/uses `cli/src/utils/terminalStdinCleanup.ts`.
|
|
5532
5715
|
|
|
5533
5716
|
### Verdict
|
|
5534
5717
|
|
|
@@ -5542,7 +5725,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=49893dd7d16a patchFile=/
|
|
|
5542
5725
|
---
|
|
5543
5726
|
|
|
5544
5727
|
## 153 2026-01-22 0126667539b6 `claude`
|
|
5545
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0126667539b6 patchFile=/tmp/leeroy-wip-pass2/153.patch patchSha256=37b2b9ca38d9a57a8c9e8fc86d0c9eaae64486c46229be56c4639631e51402fd patchBytes=4757 patchLines=128 notesReviewed=
|
|
5728
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0126667539b6 patchFile=/tmp/leeroy-wip-pass2/153.patch patchSha256=37b2b9ca38d9a57a8c9e8fc86d0c9eaae64486c46229be56c4639631e51402fd patchBytes=4757 patchLines=128 notesReviewed=yes reviewedAt=2026-01-24T23:15:59+0100 notesUpdated=no
|
|
5729
|
+
Pass3PrPlan: finalPr=PR31 plannedAt=2026-01-25T13:40:30+0100 manualReviewedForPrPlan=yes notes=Terminal mode-switch reliability: forward SIGINT/SIGTERM(/SIGHUP) to Claude binary child to avoid orphaned stdin owners; not tmux-specific, keep with terminal switching PR.
|
|
5546
5730
|
|
|
5547
5731
|
- Subject: fix(claude): forward signals to binary child process
|
|
5548
5732
|
- Reasons: reliability; prevents orphaned Claude processes (multiple stdin readers) during mode switches when Claude is installed as a native binary
|
|
@@ -5573,7 +5757,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0126667539b6 patchFile=/
|
|
|
5573
5757
|
---
|
|
5574
5758
|
|
|
5575
5759
|
## 154 2026-01-22 39c7b8a56b32 `app`
|
|
5576
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=39c7b8a56b32 patchFile=/tmp/leeroy-wip-pass2/154.patch patchSha256=b876dd3fe35a303fc2178015b06b7498edd5ec493fd3e6bb98e8785b5f475ab6 patchBytes=33250 patchLines=668 notesReviewed=
|
|
5760
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=39c7b8a56b32 patchFile=/tmp/leeroy-wip-pass2/154.patch patchSha256=b876dd3fe35a303fc2178015b06b7498edd5ec493fd3e6bb98e8785b5f475ab6 patchBytes=33250 patchLines=668 notesReviewed=yes reviewedAt=2026-01-24T23:17:24+0100 notesUpdated=no
|
|
5761
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T13:40:30+0100 manualReviewedForPrPlan=yes notes=Mixed settings rename: tmux keys belong in TMUX PR; message-send key rename belongs with queue/submit-mode work. Keep finalPr=PR18 but needsSplit=yes and move message-send rename to PR13 during rewrite.
|
|
5577
5762
|
|
|
5578
5763
|
- Subject: refactor(app): rename tmux/message-send settings under session
|
|
5579
5764
|
- Reasons: makes settings naming coherent (“session” owns both message sending policy and tmux terminal preferences) and reduces settings surface duplication
|
|
@@ -5610,7 +5795,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=39c7b8a56b32 patchFile=/
|
|
|
5610
5795
|
---
|
|
5611
5796
|
|
|
5612
5797
|
## 155 2026-01-22 fcec6c311b6b `sync`
|
|
5613
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fcec6c311b6b patchFile=/tmp/leeroy-wip-pass2/155.patch patchSha256=4cdfa859a03d32adecfcaccd43fed2d1bbba0574c855ead2a96b2c10092baf07 patchBytes=14781 patchLines=338 notesReviewed=
|
|
5798
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fcec6c311b6b patchFile=/tmp/leeroy-wip-pass2/155.patch patchSha256=4cdfa859a03d32adecfcaccd43fed2d1bbba0574c855ead2a96b2c10092baf07 patchBytes=14781 patchLines=338 notesReviewed=yes reviewedAt=2026-01-24T23:21:35+0100 notesUpdated=no
|
|
5799
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T13:31:51+0100 manualReviewedForPrPlan=yes notes=Sessions UX (cross-device unread): move unread markers from local MMKV to encrypted metadata readStateV1 + focus/blur marking; keep with sessions/message UX PR (unread consistency story).
|
|
5614
5800
|
|
|
5615
5801
|
- Subject: feat(sync): add cross-device unread markers
|
|
5616
5802
|
- Reasons: correctness/UX; makes “unread” consistent across devices by storing read markers in encrypted session metadata instead of local-only MMKV state
|
|
@@ -5652,7 +5838,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fcec6c311b6b patchFile=/
|
|
|
5652
5838
|
---
|
|
5653
5839
|
|
|
5654
5840
|
## 156 2026-01-22 8c16ee8f9cef `auth`
|
|
5655
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8c16ee8f9cef patchFile=/tmp/leeroy-wip-pass2/156.patch patchSha256=6d9c90b140a896689127d8d93f835d828e3869cfdf4c802f940bd066838ea35f patchBytes=7177 patchLines=175 notesReviewed=
|
|
5841
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8c16ee8f9cef patchFile=/tmp/leeroy-wip-pass2/156.patch patchSha256=6d9c90b140a896689127d8d93f835d828e3869cfdf4c802f940bd066838ea35f patchBytes=7177 patchLines=175 notesReviewed=yes reviewedAt=2026-01-24T23:22:24+0100 notesUpdated=no
|
|
5842
|
+
Pass3PrPlan: finalPr=PR04 plannedAt=2026-01-25T13:31:51+0100 manualReviewedForPrPlan=yes notes=Auth hardening: tolerate null service_tier in raw usage payload + add unauth route guard (layout-level) with tests; keep in Auth+storage scoping PR.
|
|
5656
5843
|
|
|
5657
5844
|
- Subject: fix(auth): surface auth failures and gate unauth routes
|
|
5658
5845
|
- Reasons: safety/security-sensitive area
|
|
@@ -5696,7 +5883,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8c16ee8f9cef patchFile=/
|
|
|
5696
5883
|
---
|
|
5697
5884
|
|
|
5698
5885
|
## 157 2026-01-22 320a89e19ca0 `test`
|
|
5699
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=320a89e19ca0 patchFile=/tmp/leeroy-wip-pass2/157.patch patchSha256=4b1601ef8c003fc12fc3ab0ad3cadfbe2172c712d0e75bedd4582983ed5cc46a patchBytes=1801 patchLines=46 notesReviewed=
|
|
5886
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=320a89e19ca0 patchFile=/tmp/leeroy-wip-pass2/157.patch patchSha256=4b1601ef8c003fc12fc3ab0ad3cadfbe2172c712d0e75bedd4582983ed5cc46a patchBytes=1801 patchLines=46 notesReviewed=yes reviewedAt=2026-01-24T23:22:55+0100 notesUpdated=no
|
|
5887
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T13:31:51+0100 manualReviewedForPrPlan=yes notes=DevX/validation: root scripts run expo-app+cli+server test/typecheck/build via happys wrappers; keep in Foundations PR.
|
|
5700
5888
|
|
|
5701
5889
|
- Subject: test(happy): run cli and server checks from root scripts
|
|
5702
5890
|
- Reasons: reliability; makes `happys test/typecheck happy` exercise the full monorepo surface (expo-app + cli + server), not just the app
|
|
@@ -5728,7 +5916,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=320a89e19ca0 patchFile=/
|
|
|
5728
5916
|
---
|
|
5729
5917
|
|
|
5730
5918
|
## 158 2026-01-22 3b3609fed434 `rpc`
|
|
5731
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3b3609fed434 patchFile=/tmp/leeroy-wip-pass2/158.patch patchSha256=20570c138e4c5fd64eb5e32ce104b830e042b2e16ec5235e0cc87e7c4bb85c37 patchBytes=12225 patchLines=321 notesReviewed=
|
|
5919
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3b3609fed434 patchFile=/tmp/leeroy-wip-pass2/158.patch patchSha256=20570c138e4c5fd64eb5e32ce104b830e042b2e16ec5235e0cc87e7c4bb85c37 patchBytes=12225 patchLines=321 notesReviewed=yes reviewedAt=2026-01-24T23:25:15+01:00 notesUpdated=no
|
|
5920
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T13:31:51+0100 manualReviewedForPrPlan=yes notes=RPC robustness: add structured errorCode=RPC_METHOD_NOT_AVAILABLE while preserving legacy error string; update app ops fallback logic + add tests server/app side; keep with CLI/app reliability PR.
|
|
5732
5921
|
|
|
5733
5922
|
- Subject: fix(rpc): add structured code for missing RPC methods
|
|
5734
5923
|
- Reasons: multiple major areas: expo-app, server
|
|
@@ -5776,7 +5965,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3b3609fed434 patchFile=/
|
|
|
5776
5965
|
---
|
|
5777
5966
|
|
|
5778
5967
|
## 159 2026-01-22 0e2c7928f24c `scanner`
|
|
5779
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0e2c7928f24c patchFile=/tmp/leeroy-wip-pass2/159.patch patchSha256=a7c5dc4351fb8acf7a67277f22fa524fdc85630d99a97ed548f765fc3adf8317 patchBytes=6110 patchLines=149 notesReviewed=
|
|
5968
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0e2c7928f24c patchFile=/tmp/leeroy-wip-pass2/159.patch patchSha256=a7c5dc4351fb8acf7a67277f22fa524fdc85630d99a97ed548f765fc3adf8317 patchBytes=6110 patchLines=149 notesReviewed=yes reviewedAt=2026-01-24T23:25:44+01:00 notesUpdated=no
|
|
5969
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T13:31:51+0100 manualReviewedForPrPlan=yes notes=Claude scanner robustness: tolerate onMessage callback exceptions + regression test; keep with Claude transcript/scanner correctness PR.
|
|
5780
5970
|
|
|
5781
5971
|
- Subject: fix(scanner): tolerate onMessage exceptions
|
|
5782
5972
|
- Reasons: reliability; prevents session scanner crashes (or cascading retries/backoff) when consumer callbacks throw
|
|
@@ -5812,7 +6002,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0e2c7928f24c patchFile=/
|
|
|
5812
6002
|
---
|
|
5813
6003
|
|
|
5814
6004
|
## 160 2026-01-22 7fbe1f1cc727 `permission`
|
|
5815
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7fbe1f1cc727 patchFile=/tmp/leeroy-wip-pass2/160.patch patchSha256=70c3ff59d267a94b1219febb476c6aa6147a0fba1cb3b0551f85f80d268c218f patchBytes=10264 patchLines=226 notesReviewed=
|
|
6005
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7fbe1f1cc727 patchFile=/tmp/leeroy-wip-pass2/160.patch patchSha256=70c3ff59d267a94b1219febb476c6aa6147a0fba1cb3b0551f85f80d268c218f patchBytes=10264 patchLines=226 notesReviewed=yes reviewedAt=2026-01-24T23:26:19+01:00 notesUpdated=no
|
|
6006
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T13:31:51+0100 manualReviewedForPrPlan=yes notes=Permission arbitration correctness: avoid bumping permissionModeUpdatedAt on no-op updates (Claude/Codex/Gemini) via shared helper + tests; keep with permission framework PR.
|
|
5816
6007
|
|
|
5817
6008
|
- Subject: fix(permission): avoid no-op permissionModeUpdatedAt bumps
|
|
5818
6009
|
- Reasons: safety/security-sensitive area
|
|
@@ -5852,7 +6043,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7fbe1f1cc727 patchFile=/
|
|
|
5852
6043
|
---
|
|
5853
6044
|
|
|
5854
6045
|
## 161 2026-01-22 2026fbab5cb3 `claude`
|
|
5855
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2026fbab5cb3 patchFile=/tmp/leeroy-wip-pass2/161.patch patchSha256=31517c689a995f3333abd75a8fb77a7ec2f4741c754754505d9c5935985df95f patchBytes=1126 patchLines=23 notesReviewed=
|
|
6046
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2026fbab5cb3 patchFile=/tmp/leeroy-wip-pass2/161.patch patchSha256=31517c689a995f3333abd75a8fb77a7ec2f4741c754754505d9c5935985df95f patchBytes=1126 patchLines=23 notesReviewed=yes reviewedAt=2026-01-24T23:26:49+01:00 notesUpdated=no
|
|
6047
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Claude local-runner correctness: treat -c as --continue for session control detection; keep with Claude session handling/transcript correctness PR (adjacent to other -c/-r fixes).
|
|
5856
6048
|
|
|
5857
6049
|
- Subject: fix(claude): accept -c as continue flag
|
|
5858
6050
|
- Reasons: correctness; treats the short `-c` flag as equivalent to `--continue` for “user provided session control” detection
|
|
@@ -5879,7 +6071,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2026fbab5cb3 patchFile=/
|
|
|
5879
6071
|
---
|
|
5880
6072
|
|
|
5881
6073
|
## 162 2026-01-22 ee0bec2a0b90 `resume`
|
|
5882
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ee0bec2a0b90 patchFile=/tmp/leeroy-wip-pass2/162.patch patchSha256=40ff48cf0193fef5f9b52f235624fbe1d558451bbc5a579c90dc1594c515a0b5 patchBytes=5105 patchLines=141 notesReviewed=
|
|
6074
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ee0bec2a0b90 patchFile=/tmp/leeroy-wip-pass2/162.patch patchSha256=40ff48cf0193fef5f9b52f235624fbe1d558451bbc5a579c90dc1594c515a0b5 patchBytes=5105 patchLines=141 notesReviewed=yes reviewedAt=2026-01-24T23:27:08+01:00 notesUpdated=no
|
|
6075
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Docs cleanup for resume: delete inactive resume design doc; likely squash into broader resume docs reorg or drop only if doc is intentionally superseded elsewhere.
|
|
5883
6076
|
|
|
5884
6077
|
- Subject: Delete INACTIVE_SESSION_RESUME.md
|
|
5885
6078
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -5903,7 +6096,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ee0bec2a0b90 patchFile=/
|
|
|
5903
6096
|
---
|
|
5904
6097
|
|
|
5905
6098
|
## 163 2026-01-22 84df0d260513 `expo-app`
|
|
5906
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=84df0d260513 patchFile=/tmp/leeroy-wip-pass2/163.patch patchSha256=647e0bf42ed51f9ea03236552fffbc44c4b31a662983ae7322dde43cfd59088b patchBytes=7646 patchLines=170 notesReviewed=
|
|
6099
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=84df0d260513 patchFile=/tmp/leeroy-wip-pass2/163.patch patchSha256=647e0bf42ed51f9ea03236552fffbc44c4b31a662983ae7322dde43cfd59088b patchBytes=7646 patchLines=170 notesReviewed=yes reviewedAt=2026-01-24T23:27:39+01:00 notesUpdated=no
|
|
6100
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Expo install stability: deterministic postinstall (hoisted patch-package support) + libsodium-wrappers ESM patch + related typing fix; keep with Expo web/build stability PR.
|
|
5907
6101
|
|
|
5908
6102
|
- Subject: fix(expo-app): stabilize postinstall and libsodium patches
|
|
5909
6103
|
- Reasons: install reliability across Yarn workspace hoisting layouts; fixes a missing libsodium ESM file and cleans up obsolete patches
|
|
@@ -5943,7 +6137,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=84df0d260513 patchFile=/
|
|
|
5943
6137
|
---
|
|
5944
6138
|
|
|
5945
6139
|
## 164 2026-01-23 544f9711b6cf `app`
|
|
5946
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=544f9711b6cf patchFile=/tmp/leeroy-wip-pass2/164.patch patchSha256=653e794fc7d88d4cb7dcfbb9ce3183711c1676538f59be901a03b7e1dab8eea8 patchBytes=14784 patchLines=402 notesReviewed=
|
|
6140
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=544f9711b6cf patchFile=/tmp/leeroy-wip-pass2/164.patch patchSha256=653e794fc7d88d4cb7dcfbb9ce3183711c1676538f59be901a03b7e1dab8eea8 patchBytes=14784 patchLines=402 notesReviewed=yes reviewedAt=2026-01-24T23:28:17+01:00 notesUpdated=no
|
|
6141
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Tool UX: respond to AskUserQuestion via interaction.respond with back-compat fallback; ExitPlanMode uses allow/deny without extra chat message; keep with AskUserQuestion/ExitPlan native handling PR (requires 158 errorCode support).
|
|
5947
6142
|
|
|
5948
6143
|
- Subject: fix(ui): respond to plan/question tools via session RPC
|
|
5949
6144
|
- Reasons: correctness + UX; avoids extra chat messages and uses the intended session interaction RPCs with backward-compatible fallbacks
|
|
@@ -5981,7 +6176,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=544f9711b6cf patchFile=/
|
|
|
5981
6176
|
---
|
|
5982
6177
|
|
|
5983
6178
|
## 165 2026-01-23 8b3f39f22664 `cli`
|
|
5984
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8b3f39f22664 patchFile=/tmp/leeroy-wip-pass2/165.patch patchSha256=1161d8d015498f4d4565a2f1ff3869a340af8f3908d3e04f6e9fea4251a63cc6 patchBytes=11312 patchLines=284 notesReviewed=
|
|
6179
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8b3f39f22664 patchFile=/tmp/leeroy-wip-pass2/165.patch patchSha256=1161d8d015498f4d4565a2f1ff3869a340af8f3908d3e04f6e9fea4251a63cc6 patchBytes=11312 patchLines=284 notesReviewed=yes reviewedAt=2026-01-24T23:28:57+01:00 notesUpdated=no
|
|
6180
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Tool plumbing (CLI): add interaction.respond RPC for AskUserQuestion by injecting tool_result into active Claude remote prompt; keep adjacent to 164 so UI+CLI land end-to-end.
|
|
5985
6181
|
|
|
5986
6182
|
- Subject: feat(cli): add interaction.respond for AskUserQuestion
|
|
5987
6183
|
- Reasons: safety/security-sensitive area
|
|
@@ -6025,7 +6221,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8b3f39f22664 patchFile=/
|
|
|
6025
6221
|
---
|
|
6026
6222
|
|
|
6027
6223
|
## 166 2025-12-24 ed4bc007308a `codex`
|
|
6028
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ed4bc007308a patchFile=/tmp/leeroy-wip-pass2/166.patch patchSha256=313995b8b37901f7b3b7e63e5261a4eb57f65aa3df753791321da3e5ee35331c patchBytes=21029 patchLines=408 notesReviewed=
|
|
6224
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ed4bc007308a patchFile=/tmp/leeroy-wip-pass2/166.patch patchSha256=313995b8b37901f7b3b7e63e5261a4eb57f65aa3df753791321da3e5ee35331c patchBytes=21029 patchLines=408 notesReviewed=yes reviewedAt=2026-01-24T23:29:59+01:00 notesUpdated=no
|
|
6225
|
+
Pass3PrPlan: finalPr=PR32 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Codex approvals (app): add execpolicy approval decision + button + payload plumbing + reducer refresh of tool input; keep with Codex approvals/MCP interactions PR and squash with follow-ups (167/168/169) in rewrite.
|
|
6029
6226
|
|
|
6030
6227
|
- Subject: feat: add execpolicy approval option for Codex
|
|
6031
6228
|
- Reasons: safety/security-sensitive area
|
|
@@ -6076,7 +6273,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ed4bc007308a patchFile=/
|
|
|
6076
6273
|
---
|
|
6077
6274
|
|
|
6078
6275
|
## 167 2025-12-24 78adc9c58811 `codex`
|
|
6079
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=78adc9c58811 patchFile=/tmp/leeroy-wip-pass2/167.patch patchSha256=f79673db33828b75c4c4857daf48e801c141a59084e0579208201fd35a55f208 patchBytes=29731 patchLines=722 notesReviewed=
|
|
6276
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=78adc9c58811 patchFile=/tmp/leeroy-wip-pass2/167.patch patchSha256=f79673db33828b75c4c4857daf48e801c141a59084e0579208201fd35a55f208 patchBytes=29731 patchLines=722 notesReviewed=yes reviewedAt=2026-01-24T23:46:10+01:00 notesUpdated=no
|
|
6277
|
+
Pass3PrPlan: finalPr=PR32 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Codex approvals (CLI): support approved_execpolicy_amendment end-to-end + version-aware elicitation handling + MCP tool-call begin/end surfacing. Large mixed; keep in Codex approvals/MCP PR (split protocol vs tool-call UX during rewrite).
|
|
6080
6278
|
|
|
6081
6279
|
- Subject: feat(codex): support execpolicy approvals and MCP tool calls
|
|
6082
6280
|
- Reasons: safety/security-sensitive area
|
|
@@ -6138,7 +6336,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=78adc9c58811 patchFile=/
|
|
|
6138
6336
|
---
|
|
6139
6337
|
|
|
6140
6338
|
## 168 2026-01-22 9dfa09bef8d8 `i18n`
|
|
6141
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9dfa09bef8d8 patchFile=/tmp/leeroy-wip-pass2/168.patch patchSha256=82cdd407e4325ceb57fa77e931c32d65c4cba3ab83f1df419fca8a5f20058c49 patchBytes=1618 patchLines=34 notesReviewed=
|
|
6339
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9dfa09bef8d8 patchFile=/tmp/leeroy-wip-pass2/168.patch patchSha256=82cdd407e4325ceb57fa77e931c32d65c4cba3ab83f1df419fca8a5f20058c49 patchBytes=1618 patchLines=34 notesReviewed=yes reviewedAt=2026-01-24T23:46:30+01:00 notesUpdated=no
|
|
6340
|
+
Pass3PrPlan: finalPr=PR32 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Codex approvals i18n completion: add missing execpolicy approval button label translations (it/ja); squash into 166 during rewrite.
|
|
6142
6341
|
|
|
6143
6342
|
- Subject: fix(i18n): add Codex execpolicy button text
|
|
6144
6343
|
- Reasons: safety/security-sensitive area
|
|
@@ -6163,7 +6362,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9dfa09bef8d8 patchFile=/
|
|
|
6163
6362
|
---
|
|
6164
6363
|
|
|
6165
6364
|
## 169 2026-01-22 559d39da116d `reducer`
|
|
6166
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=559d39da116d patchFile=/tmp/leeroy-wip-pass2/169.patch patchSha256=eb72e7822d4b50128b65a45f8a56ec4e7a03c4229438b504a1ae6231913b9260 patchBytes=2997 patchLines=55 notesReviewed=
|
|
6365
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=559d39da116d patchFile=/tmp/leeroy-wip-pass2/169.patch patchSha256=eb72e7822d4b50128b65a45f8a56ec4e7a03c4229438b504a1ae6231913b9260 patchBytes=2997 patchLines=55 notesReviewed=yes reviewedAt=2026-01-24T23:46:56+01:00 notesUpdated=no
|
|
6366
|
+
Pass3PrPlan: finalPr=PR32 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Codex approvals UI stability: keep permission/tool messages idempotent by only updating tool input when arguments changed; keep adjacent to 166 to avoid re-render churn.
|
|
6167
6367
|
|
|
6168
6368
|
- Subject: fix(reducer): keep permission messages idempotent
|
|
6169
6369
|
- Reasons: safety/security-sensitive area
|
|
@@ -6197,7 +6397,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=559d39da116d patchFile=/
|
|
|
6197
6397
|
---
|
|
6198
6398
|
|
|
6199
6399
|
## 170 2026-01-18 cc3c711ae28e `claude`
|
|
6200
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=cc3c711ae28e patchFile=/tmp/leeroy-wip-pass2/170.patch patchSha256=2ae2f48f4e085956b66783b6277e62d15bf2a988d1085d362b512bf561cf0baf patchBytes=1608 patchLines=38 notesReviewed=
|
|
6400
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=cc3c711ae28e patchFile=/tmp/leeroy-wip-pass2/170.patch patchSha256=2ae2f48f4e085956b66783b6277e62d15bf2a988d1085d362b512bf561cf0baf patchBytes=1608 patchLines=38 notesReviewed=yes reviewedAt=2026-01-24T23:47:37+01:00 notesUpdated=no
|
|
6401
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T13:46:10+0100 manualReviewedForPrPlan=yes notes=Claude local-runner correctness: append claudeArgs last so prompt/slash commands are positioned correctly; keep with Claude session handling PR.
|
|
6201
6402
|
|
|
6202
6403
|
- Subject: fix: move claudeArgs to end of args array for slash command support
|
|
6203
6404
|
- Reasons: correctness/UX; ensures the user prompt (including slash commands like `/help`) is positioned where the Claude CLI expects it
|
|
@@ -6226,7 +6427,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=cc3c711ae28e patchFile=/
|
|
|
6226
6427
|
---
|
|
6227
6428
|
|
|
6228
6429
|
## 171 2026-01-19 d06d5a833f8e `claude`
|
|
6229
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d06d5a833f8e patchFile=/tmp/leeroy-wip-pass2/171.patch patchSha256=5c8f631aee8021ca7e39a5cb765a569b23b35449e95a76c5e2e251385c07feff patchBytes=1766 patchLines=41 notesReviewed=
|
|
6430
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d06d5a833f8e patchFile=/tmp/leeroy-wip-pass2/171.patch patchSha256=5c8f631aee8021ca7e39a5cb765a569b23b35449e95a76c5e2e251385c07feff patchBytes=1766 patchLines=41 notesReviewed=yes reviewedAt=2026-01-24T23:47:58+01:00 notesUpdated=no
|
|
6431
|
+
Pass3PrPlan: finalPr=PR31 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=Forward OS signals from CLI to Claude local child; treat as terminal switching/signal-handling reliability (non-tmux).
|
|
6230
6432
|
|
|
6231
6433
|
- Subject: Add signal forwarding to claudeLocal.ts
|
|
6232
6434
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -6252,7 +6454,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d06d5a833f8e patchFile=/
|
|
|
6252
6454
|
---
|
|
6253
6455
|
|
|
6254
6456
|
## 172 2025-11-20 1b7cb3bfea86 `codex`
|
|
6255
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1b7cb3bfea86 patchFile=/tmp/leeroy-wip-pass2/172.patch patchSha256=965a84e5008cfafa3520667d4d4d9d211b18ca05fd25fe7056f56916f35888fd patchBytes=6005 patchLines=160 notesReviewed=
|
|
6457
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1b7cb3bfea86 patchFile=/tmp/leeroy-wip-pass2/172.patch patchSha256=965a84e5008cfafa3520667d4d4d9d211b18ca05fd25fe7056f56916f35888fd patchBytes=6005 patchLines=160 notesReviewed=yes reviewedAt=2026-01-24T23:48:32+01:00 notesUpdated=no
|
|
6458
|
+
Pass3PrPlan: finalPr=PR33 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=Codex /clear semantics: treat as session boundary (queue isolate+clear) and reset internal state; includes tiny Claude log-label fix.
|
|
6256
6459
|
|
|
6257
6460
|
- Subject: feat: handle /clear command as session reset in codex
|
|
6258
6461
|
- Reasons: UX/correctness; `/clear` should reset the Codex session state deterministically (similar to “new conversation”) instead of behaving like a normal message
|
|
@@ -6291,7 +6494,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1b7cb3bfea86 patchFile=/
|
|
|
6291
6494
|
---
|
|
6292
6495
|
|
|
6293
6496
|
## 173 2026-01-11 332ab2b0cd93 `cli`
|
|
6294
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=332ab2b0cd93 patchFile=/tmp/leeroy-wip-pass2/173.patch patchSha256=0e7a4d713ed05358397d1899edf3645cd9445e00b934d92bed64c493bf01104c patchBytes=3847 patchLines=96 notesReviewed=
|
|
6497
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=332ab2b0cd93 patchFile=/tmp/leeroy-wip-pass2/173.patch patchSha256=0e7a4d713ed05358397d1899edf3645cd9445e00b934d92bed64c493bf01104c patchBytes=3847 patchLines=96 notesReviewed=yes reviewedAt=2026-01-24T23:54:36+01:00 notesUpdated=no
|
|
6498
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=Claude remote launcher: treat abort errors as expected to avoid spurious process-error noise (reliability/UX).
|
|
6295
6499
|
|
|
6296
6500
|
- Subject: fix(cli): improve abort error handling to reduce spurious error messages
|
|
6297
6501
|
- Reasons: reliability/UX; prevents “process error” noise when a Claude run is intentionally aborted (mode switches, user aborts)
|
|
@@ -6326,7 +6530,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=332ab2b0cd93 patchFile=/
|
|
|
6326
6530
|
---
|
|
6327
6531
|
|
|
6328
6532
|
## 174 2025-12-24 e956463db3e2 `codex`
|
|
6329
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e956463db3e2 patchFile=/tmp/leeroy-wip-pass2/174.patch patchSha256=10e92d0373450683972e28cdfccaa743ee45ec967377a5fe4a4bccc8bfd70e89 patchBytes=2456 patchLines=61 notesReviewed=
|
|
6533
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e956463db3e2 patchFile=/tmp/leeroy-wip-pass2/174.patch patchSha256=10e92d0373450683972e28cdfccaa743ee45ec967377a5fe4a4bccc8bfd70e89 patchBytes=2456 patchLines=61 notesReviewed=yes reviewedAt=2026-01-24T23:55:09+01:00 notesUpdated=no
|
|
6534
|
+
Pass3PrPlan: finalPr=PR32 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=MCP bridge runner compatibility: spawn happy-mcp via process.execPath (bun or node) for Codex+Gemini (avoid relying on .mjs executable bits).
|
|
6330
6535
|
|
|
6331
6536
|
- Subject: fix: use runtime execPath for MCP bridge
|
|
6332
6537
|
- Reasons: safety/security-sensitive area
|
|
@@ -6355,7 +6560,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e956463db3e2 patchFile=/
|
|
|
6355
6560
|
---
|
|
6356
6561
|
|
|
6357
6562
|
## 175 2026-01-23 f0a7d8d0b40c `codex`
|
|
6358
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0a7d8d0b40c patchFile=/tmp/leeroy-wip-pass2/175.patch patchSha256=8820467c0173b29a1067ece29396bc891bcacf60dacb63662e70263ee0053d53 patchBytes=5271 patchLines=127 notesReviewed=
|
|
6563
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0a7d8d0b40c patchFile=/tmp/leeroy-wip-pass2/175.patch patchSha256=8820467c0173b29a1067ece29396bc891bcacf60dacb63662e70263ee0053d53 patchBytes=5271 patchLines=127 notesReviewed=yes reviewedAt=2026-01-24T23:55:40+01:00 notesUpdated=no
|
|
6564
|
+
Pass3PrPlan: finalPr=PR32 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=Codex approvals correctness: key approvals/execpolicy amendment caching by MCP tool call id; includes focused unit tests.
|
|
6359
6565
|
|
|
6360
6566
|
- Subject: fix(codex): use mcp tool call id for approvals
|
|
6361
6567
|
- Reasons: safety/security-sensitive area
|
|
@@ -6393,7 +6599,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0a7d8d0b40c patchFile=/
|
|
|
6393
6599
|
---
|
|
6394
6600
|
|
|
6395
6601
|
## 176 2026-01-22 da620b6865ad `server`
|
|
6396
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=da620b6865ad patchFile=/tmp/leeroy-wip-pass2/176.patch patchSha256=e0ebaae88a249285a06cbe36e1f2546b87a800fa88342eb152b67c6c04ee4b3e patchBytes=100525 patchLines=2758 notesReviewed=
|
|
6602
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=da620b6865ad patchFile=/tmp/leeroy-wip-pass2/176.patch patchSha256=e0ebaae88a249285a06cbe36e1f2546b87a800fa88342eb152b67c6c04ee4b3e patchBytes=100525 patchLines=2758 notesReviewed=yes reviewedAt=2026-01-24T23:57:40+01:00 notesUpdated=yes
|
|
6603
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=Server-light final feature (flavors + sqlite + local files). needsSplit=yes: move optional UI serving + /files route hardening into PR23 during rewrite.
|
|
6397
6604
|
|
|
6398
6605
|
- Subject: feat(server): add full/light flavors with sqlite migrations
|
|
6399
6606
|
- Reasons: too many files (38)
|
|
@@ -6483,7 +6690,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=da620b6865ad patchFile=/
|
|
|
6483
6690
|
---
|
|
6484
6691
|
|
|
6485
6692
|
## 177 2026-01-23 893ce7af5df0 `expo-app`
|
|
6486
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=893ce7af5df0 patchFile=/tmp/leeroy-wip-pass2/177.patch patchSha256=97c8738e46c630764e2cedd97ec2f6335bc17eb43072880b817124c4a299d7a5 patchBytes=4585 patchLines=146 notesReviewed=
|
|
6693
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=893ce7af5df0 patchFile=/tmp/leeroy-wip-pass2/177.patch patchSha256=97c8738e46c630764e2cedd97ec2f6335bc17eb43072880b817124c4a299d7a5 patchBytes=4585 patchLines=146 notesReviewed=yes reviewedAt=2026-01-24T23:58:23+01:00 notesUpdated=no
|
|
6694
|
+
Pass3PrPlan: finalPr=PR04 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=Auth redirect correctness: avoid hooks-order violations in RootLayout redirect path; includes regression test.
|
|
6487
6695
|
|
|
6488
6696
|
- Subject: fix(expo-app): avoid hooks order violation on redirect
|
|
6489
6697
|
- Reasons: correctness; ensures hook call order is stable even when the layout redirects unauthenticated users
|
|
@@ -6513,7 +6721,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=893ce7af5df0 patchFile=/
|
|
|
6513
6721
|
---
|
|
6514
6722
|
|
|
6515
6723
|
## 178 2026-01-23 7afbc9a2decd `expo-app`
|
|
6516
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7afbc9a2decd patchFile=/tmp/leeroy-wip-pass2/178.patch patchSha256=f014094d3724e30cbb0dfd1322b838be65dfbac3bf7c86e5a2ac8be402c187e7 patchBytes=5316 patchLines=140 notesReviewed=
|
|
6724
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7afbc9a2decd patchFile=/tmp/leeroy-wip-pass2/178.patch patchSha256=f014094d3724e30cbb0dfd1322b838be65dfbac3bf7c86e5a2ac8be402c187e7 patchBytes=5316 patchLines=140 notesReviewed=yes reviewedAt=2026-01-25T00:34:53+01:00 notesUpdated=no
|
|
6725
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=New-session wizard/resume pick reliability: persist resumeSessionId in drafts + safe clipboard paste helper (tests).
|
|
6517
6726
|
|
|
6518
6727
|
- Subject: fix(expo-app): persist resumeSessionId and harden clipboard paste
|
|
6519
6728
|
- Reasons: reliability/UX; ensures resume session id is preserved across app restarts and prevents paste crashes when clipboard read fails
|
|
@@ -6542,7 +6751,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7afbc9a2decd patchFile=/
|
|
|
6542
6751
|
---
|
|
6543
6752
|
|
|
6544
6753
|
## 179 2026-01-23 9a13879b753a `expo-app`
|
|
6545
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9a13879b753a patchFile=/tmp/leeroy-wip-pass2/179.patch patchSha256=ee6374e5659b6afeda10ef1730af181290787a18b6dafb8fd123b1ea6e4e5b4c patchBytes=2273 patchLines=53 notesReviewed=
|
|
6754
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9a13879b753a patchFile=/tmp/leeroy-wip-pass2/179.patch patchSha256=ee6374e5659b6afeda10ef1730af181290787a18b6dafb8fd123b1ea6e4e5b4c patchBytes=2273 patchLines=53 notesReviewed=yes reviewedAt=2026-01-25T00:35:24+01:00 notesUpdated=no
|
|
6755
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=Sessions list correctness: avoid false homeDir prefix matches in display formatting; includes regression test.
|
|
6546
6756
|
|
|
6547
6757
|
- Subject: fix(expo-app): avoid false homeDir prefix matches
|
|
6548
6758
|
- Reasons: correctness; prevents incorrect “path is inside home” detection (e.g. `/home/userfoo` is not under `/home/user`)
|
|
@@ -6570,7 +6780,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9a13879b753a patchFile=/
|
|
|
6570
6780
|
---
|
|
6571
6781
|
|
|
6572
6782
|
## 180 2026-01-23 c107a779e07d `expo-app`
|
|
6573
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c107a779e07d patchFile=/tmp/leeroy-wip-pass2/180.patch patchSha256=e3f7b3488d6c39963b04a49382076338d608bda6b8ab2fb5d3f52adf4d0e054c patchBytes=3330 patchLines=87 notesReviewed=
|
|
6783
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c107a779e07d patchFile=/tmp/leeroy-wip-pass2/180.patch patchSha256=e3f7b3488d6c39963b04a49382076338d608bda6b8ab2fb5d3f52adf4d0e054c patchBytes=3330 patchLines=87 notesReviewed=yes reviewedAt=2026-01-25T00:35:58+01:00 notesUpdated=no
|
|
6784
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T14:04:18+0100 manualReviewedForPrPlan=yes notes=Capabilities UI reliability: set cache state to error on detect throw (avoid stuck loading) with hook regression test.
|
|
6574
6785
|
|
|
6575
6786
|
- Subject: fix(expo-app): avoid stuck loading in capabilities cache
|
|
6576
6787
|
- Reasons: reliability; ensures cache transitions to `error` when detection throws instead of remaining stuck in `loading`
|
|
@@ -6601,7 +6812,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c107a779e07d patchFile=/
|
|
|
6601
6812
|
---
|
|
6602
6813
|
|
|
6603
6814
|
## 181 2026-01-23 35c0974eff1f `expo-app`
|
|
6604
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=35c0974eff1f patchFile=/tmp/leeroy-wip-pass2/181.patch patchSha256=861d5bfb4c2caf443d4d1bd9dc482b807eda60c90b44dc2003e44c5b5b49c591 patchBytes=2920 patchLines=64 notesReviewed=
|
|
6815
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=35c0974eff1f patchFile=/tmp/leeroy-wip-pass2/181.patch patchSha256=861d5bfb4c2caf443d4d1bd9dc482b807eda60c90b44dc2003e44c5b5b49c591 patchBytes=2920 patchLines=64 notesReviewed=yes reviewedAt=2026-01-25T00:36:44+01:00 notesUpdated=no
|
|
6816
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Mostly pending/messages UI + message-send mode type dedupe; needsSplit=yes to move useCLIDetection error-shape tweak into PR14 during rewrite.
|
|
6605
6817
|
|
|
6606
6818
|
- Subject: refactor(expo-app): remove dead code and dedupe types
|
|
6607
6819
|
- Reasons: small cleanup + reduces duplication; also removes an unused/duplicative error field
|
|
@@ -6630,7 +6842,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=35c0974eff1f patchFile=/
|
|
|
6630
6842
|
---
|
|
6631
6843
|
|
|
6632
6844
|
## 182 2026-01-23 b319d85e72c3 `i18n`
|
|
6633
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b319d85e72c3 patchFile=/tmp/leeroy-wip-pass2/182.patch patchSha256=819e4753a283c457bb1a14ee9a17cd7596399461ed18b81bcde4eac78c24edfb patchBytes=870 patchLines=21 notesReviewed=
|
|
6845
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b319d85e72c3 patchFile=/tmp/leeroy-wip-pass2/182.patch patchSha256=819e4753a283c457bb1a14ee9a17cd7596399461ed18b81bcde4eac78c24edfb patchBytes=870 patchLines=21 notesReviewed=yes reviewedAt=2026-01-25T00:37:12+01:00 notesUpdated=no
|
|
6846
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Resume feature i18n fix (inactive resumable label typo in es.ts); fold into PR19.
|
|
6634
6847
|
|
|
6635
6848
|
- Subject: fix(i18n): correct Spanish resumable label
|
|
6636
6849
|
- Reasons: translation correctness (typo fix)
|
|
@@ -6654,7 +6867,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b319d85e72c3 patchFile=/
|
|
|
6654
6867
|
---
|
|
6655
6868
|
|
|
6656
6869
|
## 183 2026-01-23 46186162ae14 `happy-cli`
|
|
6657
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=46186162ae14 patchFile=/tmp/leeroy-wip-pass2/183.patch patchSha256=a2ea9fbfb29a945d1ff6c0eadf6884571707dbadec36deaf1d0017457c2444e1 patchBytes=2477 patchLines=69 notesReviewed=
|
|
6870
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=46186162ae14 patchFile=/tmp/leeroy-wip-pass2/183.patch patchSha256=a2ea9fbfb29a945d1ff6c0eadf6884571707dbadec36deaf1d0017457c2444e1 patchBytes=2477 patchLines=69 notesReviewed=yes reviewedAt=2026-01-25T00:37:43+01:00 notesUpdated=no
|
|
6871
|
+
Pass3PrPlan: finalPr=PR32 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Test stability for MCP schema mocks; needsSplit=yes (terminal timer cleanup belongs to PR31; MCP schema mocks to PR32; logger test tweak can fold into PR01/PR17 during rewrite).
|
|
6658
6872
|
|
|
6659
6873
|
- Subject: test(happy-cli): fix timer cleanup and MCP schema mocks
|
|
6660
6874
|
- Reasons: safety/security-sensitive area
|
|
@@ -6685,7 +6899,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=46186162ae14 patchFile=/
|
|
|
6685
6899
|
---
|
|
6686
6900
|
|
|
6687
6901
|
## 184 2026-01-23 ac5bf2f3abfa `happy-cli`
|
|
6688
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ac5bf2f3abfa patchFile=/tmp/leeroy-wip-pass2/184.patch patchSha256=8e6963c9a91dede97b944e885b9786d5c0059dff553ac23360b7ef9f6c51affb patchBytes=1119 patchLines=29 notesReviewed=
|
|
6902
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ac5bf2f3abfa patchFile=/tmp/leeroy-wip-pass2/184.patch patchSha256=8e6963c9a91dede97b944e885b9786d5c0059dff553ac23360b7ef9f6c51affb patchBytes=1119 patchLines=29 notesReviewed=yes reviewedAt=2026-01-25T00:38:29+01:00 notesUpdated=no
|
|
6903
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Test reliability for runtime override selection (module caching); ok to fold into Foundations/DevX or squash into the owning CLI invocation change during rewrite.
|
|
6689
6904
|
|
|
6690
6905
|
- Subject: test(happy-cli): reset modules for runtime override
|
|
6691
6906
|
- Reasons: test reliability; ensures env-driven runtime overrides don’t leak via module caching between tests
|
|
@@ -6712,7 +6927,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ac5bf2f3abfa patchFile=/
|
|
|
6712
6927
|
---
|
|
6713
6928
|
|
|
6714
6929
|
## 185 2026-01-23 947b8d1814fb `expo-app`
|
|
6715
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=947b8d1814fb patchFile=/tmp/leeroy-wip-pass2/185.patch patchSha256=adf28fb35c7a7d7bccaec3750954b396381ea8b4e4c008b21e8ef2f6dcc7f877 patchBytes=1017 patchLines=20 notesReviewed=
|
|
6930
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=947b8d1814fb patchFile=/tmp/leeroy-wip-pass2/185.patch patchSha256=adf28fb35c7a7d7bccaec3750954b396381ea8b4e4c008b21e8ef2f6dcc7f877 patchBytes=1017 patchLines=20 notesReviewed=yes reviewedAt=2026-01-25T00:39:01+01:00 notesUpdated=no
|
|
6931
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Small sessions-related cleanup (remove unused optimistic-only flag); squash into adjacent sessions list UX work.
|
|
6716
6932
|
|
|
6717
6933
|
- Subject: refactor(expo-app): remove unused optimistic flag
|
|
6718
6934
|
- Reasons: cleanup; removes an unused intermediate boolean
|
|
@@ -6736,7 +6952,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=947b8d1814fb patchFile=/
|
|
|
6736
6952
|
---
|
|
6737
6953
|
|
|
6738
6954
|
## 186 2026-01-23 8cc823d1ba2d `server-light`
|
|
6739
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8cc823d1ba2d patchFile=/tmp/leeroy-wip-pass2/186.patch patchSha256=d8313bf1e7ab9139ec5d34c47d940a2eb5d5a71bbfdf2092ccf08daac5fb10e2 patchBytes=3706 patchLines=81 notesReviewed=
|
|
6955
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8cc823d1ba2d patchFile=/tmp/leeroy-wip-pass2/186.patch patchSha256=d8313bf1e7ab9139ec5d34c47d940a2eb5d5a71bbfdf2092ccf08daac5fb10e2 patchBytes=3706 patchLines=81 notesReviewed=yes reviewedAt=2026-01-25T00:39:44+01:00 notesUpdated=no
|
|
6956
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Server-light hardening: validate PORT fallback + normalize public paths (Windows slashes) with tests; keep in server-light feature PR.
|
|
6740
6957
|
|
|
6741
6958
|
- Subject: fix(server-light): validate PORT and normalize paths
|
|
6742
6959
|
- Reasons: correctness + cross-platform hardening (invalid PORT should not produce invalid URLs; Windows path separators should be normalized)
|
|
@@ -6767,7 +6984,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8cc823d1ba2d patchFile=/
|
|
|
6767
6984
|
---
|
|
6768
6985
|
|
|
6769
6986
|
## 187 2026-01-23 8cb995a1abe1 `server`
|
|
6770
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8cb995a1abe1 patchFile=/tmp/leeroy-wip-pass2/187.patch patchSha256=f78f92edf9157e92097bc5feea135e202b9912b65eecb8918dd4e1eebe4ce39b patchBytes=1037 patchLines=21 notesReviewed=
|
|
6987
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8cb995a1abe1 patchFile=/tmp/leeroy-wip-pass2/187.patch patchSha256=f78f92edf9157e92097bc5feea135e202b9912b65eecb8918dd4e1eebe4ce39b patchBytes=1037 patchLines=21 notesReviewed=yes reviewedAt=2026-01-25T00:40:20+01:00 notesUpdated=no
|
|
6988
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Server-light schema-gen test fix (regex correctness); keep with server-light schema/migrations work.
|
|
6771
6989
|
|
|
6772
6990
|
- Subject: test(server): fix schema generation sort regex
|
|
6773
6991
|
- Reasons: test correctness; ensures the regex actually matches whitespace (not a literal `\\s`)
|
|
@@ -6791,7 +7009,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8cb995a1abe1 patchFile=/
|
|
|
6791
7009
|
---
|
|
6792
7010
|
|
|
6793
7011
|
## 188 2026-01-23 04d9c60ef8e7 `happy-cli`
|
|
6794
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=04d9c60ef8e7 patchFile=/tmp/leeroy-wip-pass2/188.patch patchSha256=05518fd5348cf6b3a19a017209670cd9798a1528fcfbf2ed78991ff6a4ee08db patchBytes=855 patchLines=21 notesReviewed=
|
|
7012
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=04d9c60ef8e7 patchFile=/tmp/leeroy-wip-pass2/188.patch patchSha256=05518fd5348cf6b3a19a017209670cd9798a1528fcfbf2ed78991ff6a4ee08db patchBytes=855 patchLines=21 notesReviewed=yes reviewedAt=2026-01-25T00:40:59+01:00 notesUpdated=no
|
|
7013
|
+
Pass3PrPlan: finalPr=PR30 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Gemini error formatting cleanup (dead branch); keep with agent error surfaces PR.
|
|
6795
7014
|
|
|
6796
7015
|
- Subject: refactor(happy-cli): remove unreachable gemini error branch
|
|
6797
7016
|
- Reasons: cleanup; removes a redundant fallback branch in Gemini error formatting
|
|
@@ -6816,7 +7035,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=04d9c60ef8e7 patchFile=/
|
|
|
6816
7035
|
---
|
|
6817
7036
|
|
|
6818
7037
|
## 189 2026-01-23 2616e5e19253 `server`
|
|
6819
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2616e5e19253 patchFile=/tmp/leeroy-wip-pass2/189.patch patchSha256=21e7b22d86392e531843090ee10424c638fac803cf67bda3abfb9017a5c5710e patchBytes=2725 patchLines=62 notesReviewed=
|
|
7038
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2616e5e19253 patchFile=/tmp/leeroy-wip-pass2/189.patch patchSha256=21e7b22d86392e531843090ee10424c638fac803cf67bda3abfb9017a5c5710e patchBytes=2725 patchLines=62 notesReviewed=yes reviewedAt=2026-01-25T00:41:36+01:00 notesUpdated=no
|
|
7039
|
+
Pass3PrPlan: finalPr=PR23 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Serve-UI reliability: 404 (not crash) when index.html missing; includes focused test; keep in server UI/public-files PR.
|
|
6820
7040
|
|
|
6821
7041
|
- Subject: fix(server): handle missing UI index.html
|
|
6822
7042
|
- Reasons: reliability; serving the UI should fail gracefully (404) when the configured UI build dir is wrong or missing, not crash the request handler
|
|
@@ -6848,7 +7068,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2616e5e19253 patchFile=/
|
|
|
6848
7068
|
---
|
|
6849
7069
|
|
|
6850
7070
|
## 190 2026-01-23 911365366024 `server`
|
|
6851
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=911365366024 patchFile=/tmp/leeroy-wip-pass2/190.patch patchSha256=c8fdeeb877b02c42d7c48b314cb6b9cc5029eb4c5e9d36d9ebad3eaf60591ef3 patchBytes=1648 patchLines=42 notesReviewed=
|
|
7071
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=911365366024 patchFile=/tmp/leeroy-wip-pass2/190.patch patchSha256=c8fdeeb877b02c42d7c48b314cb6b9cc5029eb4c5e9d36d9ebad3eaf60591ef3 patchBytes=1648 patchLines=42 notesReviewed=yes reviewedAt=2026-01-25T00:42:18+01:00 notesUpdated=no
|
|
7072
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:22:18+0100 manualReviewedForPrPlan=yes notes=Server-light tooling/test reliability: add server typecheck alias + ensure vitest imports in light specs; keep with server-light stack.
|
|
6852
7073
|
|
|
6853
7074
|
- Subject: fix(server): make build typecheck tests
|
|
6854
7075
|
- Reasons: reliability; ensures `typecheck` exists as a stable script and server tests explicitly import vitest helpers
|
|
@@ -6874,7 +7095,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=911365366024 patchFile=/
|
|
|
6874
7095
|
---
|
|
6875
7096
|
|
|
6876
7097
|
## 191 2026-01-23 0dd19e7fb257 `expo-app`
|
|
6877
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0dd19e7fb257 patchFile=/tmp/leeroy-wip-pass2/191.patch patchSha256=420a47a5b66edff2b1f183db4ef7d61df10cfb4bc19aa925b96ce453c50da2e2 patchBytes=2263 patchLines=54 notesReviewed=
|
|
7098
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0dd19e7fb257 patchFile=/tmp/leeroy-wip-pass2/191.patch patchSha256=420a47a5b66edff2b1f183db4ef7d61df10cfb4bc19aa925b96ce453c50da2e2 patchBytes=2263 patchLines=54 notesReviewed=yes reviewedAt=2026-01-25T00:55:34+01:00 notesUpdated=no
|
|
7099
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Codex resume installer default safety: set codexResumeInstallSpec default to empty; needsSplit=yes to move unrelated sessionRename cleanup in sync/ops into PR29 during rewrite.
|
|
6878
7100
|
|
|
6879
7101
|
- Subject: fix(expo-app): default codex resume spec to empty
|
|
6880
7102
|
- Reasons: safety/portability; avoids shipping a fork-specific default Codex resume installer spec as the global default setting
|
|
@@ -6901,7 +7123,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0dd19e7fb257 patchFile=/
|
|
|
6901
7123
|
---
|
|
6902
7124
|
|
|
6903
7125
|
## 192 2026-01-23 229e5fc36570 `server-light`
|
|
6904
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=229e5fc36570 patchFile=/tmp/leeroy-wip-pass2/192.patch patchSha256=3cfa929367e1afb15a7c5b134ffd216462cd369ac0d35386d3426101967f6268 patchBytes=1888 patchLines=42 notesReviewed=
|
|
7126
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=229e5fc36570 patchFile=/tmp/leeroy-wip-pass2/192.patch patchSha256=3cfa929367e1afb15a7c5b134ffd216462cd369ac0d35386d3426101967f6268 patchBytes=1888 patchLines=42 notesReviewed=yes reviewedAt=2026-01-25T00:56:15+01:00 notesUpdated=no
|
|
7127
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Server-light correctness: form sqlite DB URL via pathToFileURL (proper file:/// + escaping) with test expectation update.
|
|
6905
7128
|
|
|
6906
7129
|
- Subject: fix(server-light): use file URLs for sqlite db
|
|
6907
7130
|
- Reasons: correctness; Prisma sqlite URLs are file URLs and should be formed with proper URL escaping and `file:///` prefix
|
|
@@ -6927,7 +7150,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=229e5fc36570 patchFile=/
|
|
|
6927
7150
|
---
|
|
6928
7151
|
|
|
6929
7152
|
## 193 2026-01-23 e6f597e436c5 `server`
|
|
6930
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e6f597e436c5 patchFile=/tmp/leeroy-wip-pass2/193.patch patchSha256=dc54424a65e56c0638a32fa8153e9b3ab73bd938201980c78e0f796e3cb45d72 patchBytes=2788 patchLines=43 notesReviewed=
|
|
7153
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e6f597e436c5 patchFile=/tmp/leeroy-wip-pass2/193.patch patchSha256=dc54424a65e56c0638a32fa8153e9b3ab73bd938201980c78e0f796e3cb45d72 patchBytes=2788 patchLines=43 notesReviewed=yes reviewedAt=2026-01-25T00:56:54+01:00 notesUpdated=no
|
|
7154
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Server-light integration/typecheck: Buffer.from on S3 putObject + tsconfig module settings; needsSplit=yes (keep Buffer.from fix + final tsconfig end-state in PR22; squash tsconfig churn with 194).
|
|
6931
7155
|
|
|
6932
7156
|
- Subject: fix(server): fix server-light typecheck
|
|
6933
7157
|
- Reasons: type correctness for `Uint8Array` uploads and TS module settings compatibility
|
|
@@ -6957,7 +7181,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e6f597e436c5 patchFile=/
|
|
|
6957
7181
|
---
|
|
6958
7182
|
|
|
6959
7183
|
## 194 2026-01-23 1564e800e355 `server`
|
|
6960
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1564e800e355 patchFile=/tmp/leeroy-wip-pass2/194.patch patchSha256=5462f80f29297c9898605cd75ae9cdd05fa4f00cd69672982ed31c9fbb99a8bb patchBytes=2233 patchLines=30 notesReviewed=
|
|
7184
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1564e800e355 patchFile=/tmp/leeroy-wip-pass2/194.patch patchSha256=5462f80f29297c9898605cd75ae9cdd05fa4f00cd69672982ed31c9fbb99a8bb patchBytes=2233 patchLines=30 notesReviewed=yes reviewedAt=2026-01-25T00:57:31+01:00 notesUpdated=no
|
|
7185
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=TS config churn follow-up: squash into 193 and keep only final server tsconfig module settings that make typecheck pass.
|
|
6961
7186
|
|
|
6962
7187
|
- Subject: fix(server): relax module settings for typecheck
|
|
6963
7188
|
- Reasons: typecheck compatibility; relaxes module config to avoid typecheck breakage under stricter `nodenext` settings
|
|
@@ -6984,7 +7209,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1564e800e355 patchFile=/
|
|
|
6984
7209
|
---
|
|
6985
7210
|
|
|
6986
7211
|
## 195 2026-01-23 8ab11f2788c1 `happy-cli`
|
|
6987
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8ab11f2788c1 patchFile=/tmp/leeroy-wip-pass2/195.patch patchSha256=afb436043cf24622040672e89f8cac022dc62b699fb95bf168a58cd8d7ad780f patchBytes=1277 patchLines=29 notesReviewed=
|
|
7212
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8ab11f2788c1 patchFile=/tmp/leeroy-wip-pass2/195.patch patchSha256=afb436043cf24622040672e89f8cac022dc62b699fb95bf168a58cd8d7ad780f patchBytes=1277 patchLines=29 notesReviewed=yes reviewedAt=2026-01-25T00:58:11+01:00 notesUpdated=no
|
|
7213
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Capabilities robustness: parse CLI version semver from full combined stdout+stderr, not only first line.
|
|
6988
7214
|
|
|
6989
7215
|
- Subject: fix(happy-cli): parse CLI versions from full output
|
|
6990
7216
|
- Reasons: reliability; some CLIs may emit version strings outside the first line (or to stderr), so parsing only the first line is brittle
|
|
@@ -7011,7 +7237,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8ab11f2788c1 patchFile=/
|
|
|
7011
7237
|
---
|
|
7012
7238
|
|
|
7013
7239
|
## 196 2026-01-23 21e096e9454e `i18n`
|
|
7014
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=21e096e9454e patchFile=/tmp/leeroy-wip-pass2/196.patch patchSha256=37006e85b70998764baca225929819c4341579e63d48fc4ccc7d4673d4219a13 patchBytes=8089 patchLines=149 notesReviewed=
|
|
7240
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=21e096e9454e patchFile=/tmp/leeroy-wip-pass2/196.patch patchSha256=37006e85b70998764baca225929819c4341579e63d48fc4ccc7d4673d4219a13 patchBytes=8089 patchLines=149 notesReviewed=yes reviewedAt=2026-01-25T00:58:49+01:00 notesUpdated=no
|
|
7241
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Settings UI i18n: localize Session settings item title/subtitle in SettingsView with new keys across locales; fold into settings screens PR.
|
|
7015
7242
|
|
|
7016
7243
|
- Subject: fix(i18n): localize session settings item
|
|
7017
7244
|
- Reasons: i18n completeness; removes hard-coded “Session” strings in settings list and adds translations
|
|
@@ -7038,7 +7265,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=21e096e9454e patchFile=/
|
|
|
7038
7265
|
---
|
|
7039
7266
|
|
|
7040
7267
|
## 197 2026-01-23 7ca9e93196d6 `i18n`
|
|
7041
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7ca9e93196d6 patchFile=/tmp/leeroy-wip-pass2/197.patch patchSha256=53fd77986785ca2a159580e1937ae145ad127adb87ad8ef48ea6c0b909e629e2 patchBytes=9742 patchLines=176 notesReviewed=
|
|
7268
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7ca9e93196d6 patchFile=/tmp/leeroy-wip-pass2/197.patch patchSha256=53fd77986785ca2a159580e1937ae145ad127adb87ad8ef48ea6c0b909e629e2 patchBytes=9742 patchLines=176 notesReviewed=yes reviewedAt=2026-01-25T00:59:32+01:00 notesUpdated=no
|
|
7269
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Tools UX i18n: translate ExitPlanMode tool view strings across locales; fold into AskUserQuestion/ExitPlan handling PR.
|
|
7042
7270
|
|
|
7043
7271
|
- Subject: fix(i18n): translate ExitPlanMode strings
|
|
7044
7272
|
- Reasons: i18n completeness; replaces English placeholder strings for ExitPlanMode tool UI with real translations
|
|
@@ -7070,7 +7298,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7ca9e93196d6 patchFile=/
|
|
|
7070
7298
|
---
|
|
7071
7299
|
|
|
7072
7300
|
## 198 2026-01-23 c4a81947f002 `expo-app`
|
|
7073
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c4a81947f002 patchFile=/tmp/leeroy-wip-pass2/198.patch patchSha256=fc35d802a1475928b9ac9aaab7c7b11812fc022516f692c7d9ea010fdda18fd1 patchBytes=4955 patchLines=136 notesReviewed=
|
|
7301
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c4a81947f002 patchFile=/tmp/leeroy-wip-pass2/198.patch patchSha256=fc35d802a1475928b9ac9aaab7c7b11812fc022516f692c7d9ea010fdda18fd1 patchBytes=4955 patchLines=136 notesReviewed=yes reviewedAt=2026-01-25T09:03:20+01:00 notesUpdated=no
|
|
7302
|
+
Pass3PrPlan: finalPr=PR35 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Friends search UX: useSearch returns stable error code + UI localizes via errors.searchFailed; includes debounce/retry hook test.
|
|
7074
7303
|
|
|
7075
7304
|
- Subject: fix(i18n): localize search error
|
|
7076
7305
|
- Reasons: correctness + UX; switches from displaying raw error strings to a stable error code + localized message
|
|
@@ -7101,7 +7330,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c4a81947f002 patchFile=/
|
|
|
7101
7330
|
---
|
|
7102
7331
|
|
|
7103
7332
|
## 199 2026-01-23 208f0222a997 `expo-app`
|
|
7104
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=208f0222a997 patchFile=/tmp/leeroy-wip-pass2/199.patch patchSha256=7bdee0d446ee03b8685de6983aaeff73f7d3d11a1639aee62c4874ccdd9847d4 patchBytes=17834 patchLines=346 notesReviewed=
|
|
7333
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=208f0222a997 patchFile=/tmp/leeroy-wip-pass2/199.patch patchSha256=7bdee0d446ee03b8685de6983aaeff73f7d3d11a1639aee62c4874ccdd9847d4 patchBytes=17834 patchLines=346 notesReviewed=yes reviewedAt=2026-01-25T09:04:11+01:00 notesUpdated=no
|
|
7334
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Mixed new-session web UX + resume-gating i18n; needsSplit=yes: keep BaseModal web wizard presentation in PR26 and move Codex resume dialog localization keys into PR19 during rewrite (or keep together if review prefers).
|
|
7105
7335
|
|
|
7106
7336
|
- Subject: fix(i18n): localize Codex resume dialog
|
|
7107
7337
|
- Reasons: UX/i18n; replaces hard-coded English modal strings and improves the web UX around new-session flow
|
|
@@ -7137,7 +7367,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=208f0222a997 patchFile=/
|
|
|
7137
7367
|
---
|
|
7138
7368
|
|
|
7139
7369
|
## 200 2026-01-23 02ad6b4a8352 `i18n`
|
|
7140
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=02ad6b4a8352 patchFile=/tmp/leeroy-wip-pass2/200.patch patchSha256=d1419ce45a807f126dc4c21c56f17936ce8fbcc31d35baba569b7d7a200b6bed patchBytes=10293 patchLines=181 notesReviewed=
|
|
7370
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=02ad6b4a8352 patchFile=/tmp/leeroy-wip-pass2/200.patch patchSha256=d1419ce45a807f126dc4c21c56f17936ce8fbcc31d35baba569b7d7a200b6bed patchBytes=10293 patchLines=181 notesReviewed=yes reviewedAt=2026-01-25T09:04:54+01:00 notesUpdated=no
|
|
7371
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T14:29:07+0100 manualReviewedForPrPlan=yes notes=Follow-up taxonomy for new-session dialog: move openMachine key from common.* to connect.* across locales; keep adjacent to 199 in new-session PR.
|
|
7141
7372
|
|
|
7142
7373
|
- Subject: fix(i18n): move openMachine to connect scope
|
|
7143
7374
|
- Reasons: i18n taxonomy; groups “Open machine” under connect/restore flow instead of global/common
|
|
@@ -7162,7 +7393,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=02ad6b4a8352 patchFile=/
|
|
|
7162
7393
|
---
|
|
7163
7394
|
|
|
7164
7395
|
## 201 2026-01-23 ce42bf56d7b6 `web`
|
|
7165
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ce42bf56d7b6 patchFile=/tmp/leeroy-wip-pass2/201.patch patchSha256=7b89641df6feec9562a56dce866b5e01ca8687518d877726567a72d1710c00c6 patchBytes=1462 patchLines=30 notesReviewed=
|
|
7396
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ce42bf56d7b6 patchFile=/tmp/leeroy-wip-pass2/201.patch patchSha256=7b89641df6feec9562a56dce866b5e01ca8687518d877726567a72d1710c00c6 patchBytes=1462 patchLines=30 notesReviewed=yes reviewedAt=2026-01-25T09:05:34+01:00 notesUpdated=no
|
|
7397
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Web runtime fix: force CJS libsodium-wrappers build to avoid top-level await parse failures; keep with foundations/crypto web stability.
|
|
7166
7398
|
|
|
7167
7399
|
- Subject: fix(web): correct libsodium wrapper typing
|
|
7168
7400
|
- Reasons: web runtime correctness; avoids Metro web blank-page failures caused by top-level `await` in ESM builds, while keeping TypeScript typing usable
|
|
@@ -7193,7 +7425,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ce42bf56d7b6 patchFile=/
|
|
|
7193
7425
|
---
|
|
7194
7426
|
|
|
7195
7427
|
## 202 2026-01-23 f0417ca11ac5 `web`
|
|
7196
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0417ca11ac5 patchFile=/tmp/leeroy-wip-pass2/202.patch patchSha256=550d3a822036e75747a8c2fd8c3269c1dd9493d72685b1451e53ecfa5d4627bf patchBytes=851 patchLines=18 notesReviewed=
|
|
7428
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0417ca11ac5 patchFile=/tmp/leeroy-wip-pass2/202.patch patchSha256=550d3a822036e75747a8c2fd8c3269c1dd9493d72685b1451e53ecfa5d4627bf patchBytes=851 patchLines=18 notesReviewed=yes reviewedAt=2026-01-25T09:06:11+01:00 notesUpdated=no
|
|
7429
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Follow-up typing fix to 201; squash into 201 in rewritten history.
|
|
7197
7430
|
|
|
7198
7431
|
- Subject: fix(web): keep libsodium wrapper namespace typing
|
|
7199
7432
|
- Reasons: TypeScript correctness; ensures the exported value preserves the `typeof sodiumType` namespace typing
|
|
@@ -7217,7 +7450,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0417ca11ac5 patchFile=/
|
|
|
7217
7450
|
---
|
|
7218
7451
|
|
|
7219
7452
|
## 203 2026-01-23 b6d3874bf175 `settings`
|
|
7220
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b6d3874bf175 patchFile=/tmp/leeroy-wip-pass2/203.patch patchSha256=f8cf00040ad9e6f22b593cd3a78a4e8a1f2c843cef39aa267bb6362835b6d542 patchBytes=893 patchLines=22 notesReviewed=
|
|
7453
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b6d3874bf175 patchFile=/tmp/leeroy-wip-pass2/203.patch patchSha256=f8cf00040ad9e6f22b593cd3a78a4e8a1f2c843cef39aa267bb6362835b6d542 patchBytes=893 patchLines=22 notesReviewed=yes reviewedAt=2026-01-25T09:06:54+01:00 notesUpdated=no
|
|
7454
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Settings/experiments UX correctness: master experiments toggle also controls expCodexResume.
|
|
7221
7455
|
|
|
7222
7456
|
- Subject: fix(settings): include Codex resume in master experiment toggle
|
|
7223
7457
|
- Reasons: UX correctness; turning off the master “experiments” switch should also disable the Codex resume experiment flag
|
|
@@ -7241,7 +7475,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b6d3874bf175 patchFile=/
|
|
|
7241
7475
|
---
|
|
7242
7476
|
|
|
7243
7477
|
## 204 2026-01-23 a4d7faba961f `expo-app`
|
|
7244
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a4d7faba961f patchFile=/tmp/leeroy-wip-pass2/204.patch patchSha256=fae26fc1c80f31081e159239c0c36c1d6bbeb572813a12230a3d9b2be1a93df7 patchBytes=23213 patchLines=338 notesReviewed=
|
|
7478
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a4d7faba961f patchFile=/tmp/leeroy-wip-pass2/204.patch patchSha256=fae26fc1c80f31081e159239c0c36c1d6bbeb572813a12230a3d9b2be1a93df7 patchBytes=23213 patchLines=338 notesReviewed=yes reviewedAt=2026-01-25T09:07:54+01:00 notesUpdated=no
|
|
7479
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Session UI i18n/copy: localize error fallbacks and profile info modal in SessionView; needsSplit=yes to move expInboxFriends translations into PR06 during rewrite.
|
|
7245
7480
|
|
|
7246
7481
|
- Subject: fix(i18n): localize session error fallbacks
|
|
7247
7482
|
- Reasons: UX/i18n; removes hard-coded English “Error / failed to …” fallbacks and localizes session-level error messaging
|
|
@@ -7275,7 +7510,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a4d7faba961f patchFile=/
|
|
|
7275
7510
|
---
|
|
7276
7511
|
|
|
7277
7512
|
## 205 2026-01-23 1ea2bddb8bbd `server`
|
|
7278
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1ea2bddb8bbd patchFile=/tmp/leeroy-wip-pass2/205.patch patchSha256=947dddc58e587ed05156cc9f9f5718acfe729a445322443c4dfdb6917b1678e7 patchBytes=1753 patchLines=45 notesReviewed=
|
|
7513
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1ea2bddb8bbd patchFile=/tmp/leeroy-wip-pass2/205.patch patchSha256=947dddc58e587ed05156cc9f9f5718acfe729a445322443c4dfdb6917b1678e7 patchBytes=1753 patchLines=45 notesReviewed=yes reviewedAt=2026-01-25T09:08:38+01:00 notesUpdated=no
|
|
7514
|
+
Pass3PrPlan: finalPr=PR23 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Server public-files/image pipeline test correctness: validate processImage contract (original dimensions, resized pixel buffer length).
|
|
7279
7515
|
|
|
7280
7516
|
- Subject: test(server): validate processImage resize output
|
|
7281
7517
|
- Reasons: test correctness; ensures pixel buffer length reflects the resized dimensions (while width/height metadata remains original)
|
|
@@ -7302,7 +7538,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1ea2bddb8bbd patchFile=/
|
|
|
7302
7538
|
---
|
|
7303
7539
|
|
|
7304
7540
|
## 206 2026-01-23 1e7d7f8a4747 `server`
|
|
7305
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1e7d7f8a4747 patchFile=/tmp/leeroy-wip-pass2/206.patch patchSha256=5a1c59132999e1cfef8bbb4c0ce93378543ec5f5bcb20b40cfa4ffc4b7da7176 patchBytes=621 patchLines=20 notesReviewed=
|
|
7541
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1e7d7f8a4747 patchFile=/tmp/leeroy-wip-pass2/206.patch patchSha256=5a1c59132999e1cfef8bbb4c0ce93378543ec5f5bcb20b40cfa4ffc4b7da7176 patchBytes=621 patchLines=20 notesReviewed=yes reviewedAt=2026-01-25T09:09:48+01:00 notesUpdated=no
|
|
7542
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Server-light correctness: keep light server process alive (remove process.exit(0) after startServer resolves).
|
|
7306
7543
|
|
|
7307
7544
|
- Subject: fix(server): keep light server running
|
|
7308
7545
|
- Reasons: correctness; `main.light.ts` should not exit immediately after `startServer('light')` resolves (that would shut down the server process)
|
|
@@ -7327,7 +7564,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1e7d7f8a4747 patchFile=/
|
|
|
7327
7564
|
---
|
|
7328
7565
|
|
|
7329
7566
|
## 207 2026-01-23 61bf70183ebf `cli`
|
|
7330
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=61bf70183ebf patchFile=/tmp/leeroy-wip-pass2/207.patch patchSha256=ad7f6fd4c987e6b1bc2e2582d195216aef90797d8924ff2e2497337a6c5d7c29 patchBytes=939 patchLines=24 notesReviewed=
|
|
7567
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=61bf70183ebf patchFile=/tmp/leeroy-wip-pass2/207.patch patchSha256=ad7f6fd4c987e6b1bc2e2582d195216aef90797d8924ff2e2497337a6c5d7c29 patchBytes=939 patchLines=24 notesReviewed=yes reviewedAt=2026-01-25T09:10:29+01:00 notesUpdated=no
|
|
7568
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Test correctness: set DEBUG before importing logger (env read at import time); can fold into foundations/test stability.
|
|
7331
7569
|
|
|
7332
7570
|
- Subject: test(cli): set DEBUG before importing logger
|
|
7333
7571
|
- Reasons: test correctness; `logger` reads env at import time, so setting `DEBUG` after import won’t enable debug-mode logging behavior
|
|
@@ -7351,7 +7589,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=61bf70183ebf patchFile=/
|
|
|
7351
7589
|
---
|
|
7352
7590
|
|
|
7353
7591
|
## 208 2026-01-23 61a18ac95e17 `tools`
|
|
7354
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=61a18ac95e17 patchFile=/tmp/leeroy-wip-pass2/208.patch patchSha256=4f8be371069810a2e3be4909fc95ce83aa3f21d23c226062ed56341f3a57e638 patchBytes=14286 patchLines=272 notesReviewed=
|
|
7592
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=61a18ac95e17 patchFile=/tmp/leeroy-wip-pass2/208.patch patchSha256=4f8be371069810a2e3be4909fc95ce83aa3f21d23c226062ed56341f3a57e638 patchBytes=14286 patchLines=272 notesReviewed=yes reviewedAt=2026-01-25T09:11:18+01:00 notesUpdated=no
|
|
7593
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Tools safety: require permission id for ExitPlanMode approve/reject actions; adds i18n key + focused tests.
|
|
7355
7594
|
|
|
7356
7595
|
- Subject: fix(tools): require permission id for ExitPlanMode actions
|
|
7357
7596
|
- Reasons: safety/security-sensitive area
|
|
@@ -7385,7 +7624,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=61a18ac95e17 patchFile=/
|
|
|
7385
7624
|
---
|
|
7386
7625
|
|
|
7387
7626
|
## 209 2026-01-23 5b36c9bf91c1 `tools`
|
|
7388
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5b36c9bf91c1 patchFile=/tmp/leeroy-wip-pass2/209.patch patchSha256=de2d00371feefc5671e0d0c0195bcca95675ff8fe781d6a1fc9081b791f4fc51 patchBytes=1226 patchLines=30 notesReviewed=
|
|
7627
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5b36c9bf91c1 patchFile=/tmp/leeroy-wip-pass2/209.patch patchSha256=de2d00371feefc5671e0d0c0195bcca95675ff8fe781d6a1fc9081b791f4fc51 patchBytes=1226 patchLines=30 notesReviewed=yes reviewedAt=2026-01-25T09:12:06+01:00 notesUpdated=no
|
|
7628
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Test follow-up to 208: avoid null permission shape in ExitPlanToolView tests; squash into 208.
|
|
7389
7629
|
|
|
7390
7630
|
- Subject: test(tools): avoid null permission in ExitPlanToolView tests
|
|
7391
7631
|
- Reasons: safety/security-sensitive area
|
|
@@ -7408,7 +7648,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5b36c9bf91c1 patchFile=/
|
|
|
7408
7648
|
---
|
|
7409
7649
|
|
|
7410
7650
|
## 210 2026-01-23 b7f63e928e4f `persistence`
|
|
7411
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b7f63e928e4f patchFile=/tmp/leeroy-wip-pass2/210.patch patchSha256=46f96d0e09165e28b91c1a31626cf02420872d0500b1122a321e8e8a90eba993 patchBytes=3215 patchLines=87 notesReviewed=
|
|
7651
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b7f63e928e4f patchFile=/tmp/leeroy-wip-pass2/210.patch patchSha256=46f96d0e09165e28b91c1a31626cf02420872d0500b1122a321e8e8a90eba993 patchBytes=3215 patchLines=87 notesReviewed=yes reviewedAt=2026-01-25T09:29:01+01:00 notesUpdated=no
|
|
7652
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T14:34:52+0100 manualReviewedForPrPlan=yes notes=Daemon/CLI race reliability: retry readDaemonState on ENOENT when state file appears shortly after start; includes regression test.
|
|
7412
7653
|
|
|
7413
7654
|
- Subject: fix(persistence): retry daemon state read when file appears
|
|
7414
7655
|
- Reasons: reliability (filesystem race between daemon state writer/reader)
|
|
@@ -7445,7 +7686,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b7f63e928e4f patchFile=/
|
|
|
7445
7686
|
---
|
|
7446
7687
|
|
|
7447
7688
|
## 211 2026-01-23 55428fb0253c `tools`
|
|
7448
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=55428fb0253c patchFile=/tmp/leeroy-wip-pass2/211.patch patchSha256=c35ec65034680683cb38c6c312a7186b6bb3f1745451e93b301d64e8ec9bc16a patchBytes=4597 patchLines=114 notesReviewed=
|
|
7689
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=55428fb0253c patchFile=/tmp/leeroy-wip-pass2/211.patch patchSha256=c35ec65034680683cb38c6c312a7186b6bb3f1745451e93b301d64e8ec9bc16a patchBytes=4597 patchLines=114 notesReviewed=yes reviewedAt=2026-01-25T09:29:44+01:00 notesUpdated=no
|
|
7690
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Tools safety: AskUserQuestionView shows modal error + no-ops when permission id missing (align with ExitPlanMode hardening); includes targeted test.
|
|
7449
7691
|
|
|
7450
7692
|
- Subject: fix(tools): alert when AskUserQuestion permission id is missing
|
|
7451
7693
|
- Reasons: safety/security-sensitive area
|
|
@@ -7477,7 +7719,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=55428fb0253c patchFile=/
|
|
|
7477
7719
|
---
|
|
7478
7720
|
|
|
7479
7721
|
## 212 2026-01-23 dc6955f88abd `terminal`
|
|
7480
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dc6955f88abd patchFile=/tmp/leeroy-wip-pass2/212.patch patchSha256=ed6b94e9fb61f1dd5c50c63cb39dfc022b5fd6269875dee5ab86f9d2dca7d44e patchBytes=4638 patchLines=118 notesReviewed=
|
|
7722
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dc6955f88abd patchFile=/tmp/leeroy-wip-pass2/212.patch patchSha256=ed6b94e9fb61f1dd5c50c63cb39dfc022b5fd6269875dee5ab86f9d2dca7d44e patchBytes=4638 patchLines=118 notesReviewed=yes reviewedAt=2026-01-25T09:30:31+01:00 notesUpdated=no
|
|
7723
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Terminal attachment security: encode sessionId -> filename (encodeURIComponent) for attachment info storage w/ legacy fallback; keep adjacent to 237/238 which fully close legacy traversal hole.
|
|
7481
7724
|
|
|
7482
7725
|
- Subject: fix(terminal): prevent sessionId path traversal in attachment info
|
|
7483
7726
|
- Reasons: safety/security-sensitive area
|
|
@@ -7514,7 +7757,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dc6955f88abd patchFile=/
|
|
|
7514
7757
|
---
|
|
7515
7758
|
|
|
7516
7759
|
## 213 2026-01-23 bb685fbeff7b `terminal`
|
|
7517
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bb685fbeff7b patchFile=/tmp/leeroy-wip-pass2/213.patch patchSha256=7c8a3f88614f35ea504045d16fc2ca04cc3e8d22887dd51c0c24e82fb33e8da7 patchBytes=1726 patchLines=41 notesReviewed=
|
|
7760
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bb685fbeff7b patchFile=/tmp/leeroy-wip-pass2/213.patch patchSha256=7c8a3f88614f35ea504045d16fc2ca04cc3e8d22887dd51c0c24e82fb33e8da7 patchBytes=1726 patchLines=41 notesReviewed=yes reviewedAt=2026-01-25T09:32:18+0100 notesUpdated=no
|
|
7761
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=TMUX/terminal CLI argv correctness: validate --happy-starting-mode has a real value (not missing / not another flag); includes targeted test.
|
|
7518
7762
|
|
|
7519
7763
|
- Subject: fix(terminal): clarify missing --happy-starting-mode value
|
|
7520
7764
|
- Reasons: reliability (avoid silently consuming the next flag as a value; clearer CLI errors)
|
|
@@ -7543,7 +7787,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bb685fbeff7b patchFile=/
|
|
|
7543
7787
|
---
|
|
7544
7788
|
|
|
7545
7789
|
## 214 2026-01-23 5bcc7d20cd6b `utils`
|
|
7546
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5bcc7d20cd6b patchFile=/tmp/leeroy-wip-pass2/214.patch patchSha256=a232db21349f2034b285fc47397de2f56292370bfcd58f90cb1a9859f156a38e patchBytes=1683 patchLines=42 notesReviewed=
|
|
7790
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5bcc7d20cd6b patchFile=/tmp/leeroy-wip-pass2/214.patch patchSha256=a232db21349f2034b285fc47397de2f56292370bfcd58f90cb1a9859f156a38e patchBytes=1683 patchLines=42 notesReviewed=yes reviewedAt=2026-01-25T09:32:38+0100 notesUpdated=no
|
|
7791
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Test stability: make serverConnectionErrors retry/jitter deterministic by stubbing Math.random and ensuring cleanup; keep with CLI backoff/reconnect reliability.
|
|
7547
7792
|
|
|
7548
7793
|
- Subject: test(utils): stabilize serverConnectionErrors retry count test
|
|
7549
7794
|
- Reasons: test reliability (remove nondeterministic jitter behavior)
|
|
@@ -7568,7 +7813,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5bcc7d20cd6b patchFile=/
|
|
|
7568
7813
|
---
|
|
7569
7814
|
|
|
7570
7815
|
## 215 2026-01-23 82968aa8fe6c `ui`
|
|
7571
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82968aa8fe6c patchFile=/tmp/leeroy-wip-pass2/215.patch patchSha256=43774cf387b7e18f68eb6c5eb81468fabb4d1c02135e4ea1345598fe0d5d5c41 patchBytes=10658 patchLines=262 notesReviewed=
|
|
7816
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82968aa8fe6c patchFile=/tmp/leeroy-wip-pass2/215.patch patchSha256=43774cf387b7e18f68eb6c5eb81468fabb4d1c02135e4ea1345598fe0d5d5c41 patchBytes=10658 patchLines=262 notesReviewed=yes reviewedAt=2026-01-25T09:33:08+0100 notesUpdated=no
|
|
7817
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Pending messages integrity: enforce abort→send→delete→close ordering in PendingMessagesModal; adds testIDs + regression tests incl send-failure behavior.
|
|
7572
7818
|
|
|
7573
7819
|
- Subject: fix(ui): send pending messages before closing modal
|
|
7574
7820
|
- Reasons: correctness + data integrity (avoid closing/removing pending messages before they are sent)
|
|
@@ -7604,7 +7850,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82968aa8fe6c patchFile=/
|
|
|
7604
7850
|
---
|
|
7605
7851
|
|
|
7606
7852
|
## 216 2026-01-23 b7219c8bfe2b `ink`
|
|
7607
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b7219c8bfe2b patchFile=/tmp/leeroy-wip-pass2/216.patch patchSha256=5e58977cf057fa2618b7dafcacda2b7744b0cf6a55984d5c260871d0721177d9 patchBytes=2959 patchLines=63 notesReviewed=
|
|
7853
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b7219c8bfe2b patchFile=/tmp/leeroy-wip-pass2/216.patch patchSha256=5e58977cf057fa2618b7dafcacda2b7744b0cf6a55984d5c260871d0721177d9 patchBytes=2959 patchLines=63 notesReviewed=yes reviewedAt=2026-01-25T09:33:26+0100 notesUpdated=no
|
|
7854
|
+
Pass3PrPlan: finalPr=PR31 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Ink lifecycle reliability: avoid async useInput handler; use cancellable timeouts and clear on unmount/messageBuffer changes (prevents callbacks after teardown).
|
|
7608
7855
|
|
|
7609
7856
|
- Subject: fix(ink): avoid async useInput handler
|
|
7610
7857
|
- Reasons: reliability (Ink input handlers should not be `async` / avoid dangling promises on unmount)
|
|
@@ -7630,7 +7877,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b7219c8bfe2b patchFile=/
|
|
|
7630
7877
|
---
|
|
7631
7878
|
|
|
7632
7879
|
## 217 2026-01-23 d70a6f6669fe `claude`
|
|
7633
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d70a6f6669fe patchFile=/tmp/leeroy-wip-pass2/217.patch patchSha256=ff8d0ea2b66af501ee8d4d6b7f4fdfc21ec3cb6bf3b99b228dccdbcde1f8a697 patchBytes=1956 patchLines=38 notesReviewed=
|
|
7880
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d70a6f6669fe patchFile=/tmp/leeroy-wip-pass2/217.patch patchSha256=ff8d0ea2b66af501ee8d4d6b7f4fdfc21ec3cb6bf3b99b228dccdbcde1f8a697 patchBytes=1956 patchLines=38 notesReviewed=yes reviewedAt=2026-01-25T09:33:54+0100 notesUpdated=no
|
|
7881
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Claude robustness: trim CLAUDE_CONFIG_DIR overrides (treat as user input) + regression test; keep with Claude session reliability.
|
|
7634
7882
|
|
|
7635
7883
|
- Subject: fix(claude): trim CLAUDE_CONFIG_DIR overrides
|
|
7636
7884
|
- Reasons: correctness (treat env var overrides robustly; avoid creating paths with accidental whitespace)
|
|
@@ -7655,7 +7903,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d70a6f6669fe patchFile=/
|
|
|
7655
7903
|
---
|
|
7656
7904
|
|
|
7657
7905
|
## 218 2026-01-23 47f638b73fca `utils`
|
|
7658
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=47f638b73fca patchFile=/tmp/leeroy-wip-pass2/218.patch patchSha256=24e9479a84f5a7da8b9fdeb89504d4eb9efa17ec0419831ceab08c40555a5a17 patchBytes=1588 patchLines=50 notesReviewed=
|
|
7906
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=47f638b73fca patchFile=/tmp/leeroy-wip-pass2/218.patch patchSha256=24e9479a84f5a7da8b9fdeb89504d4eb9efa17ec0419831ceab08c40555a5a17 patchBytes=1588 patchLines=50 notesReviewed=yes reviewedAt=2026-01-25T09:34:15+0100 notesUpdated=no
|
|
7907
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Backoff semantics test: failuresCount increments per attempt under custom backoff; keep adjacent to 219 (or squash into 219).
|
|
7659
7908
|
|
|
7660
7909
|
- Subject: test(utils): cover failuresCount with custom backoff
|
|
7661
7910
|
- Reasons: reliability/observability (ensure consistent `failuresCount` semantics for error callbacks)
|
|
@@ -7682,7 +7931,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=47f638b73fca patchFile=/
|
|
|
7682
7931
|
---
|
|
7683
7932
|
|
|
7684
7933
|
## 219 2026-01-23 2abc70fef03c `utils`
|
|
7685
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2abc70fef03c patchFile=/tmp/leeroy-wip-pass2/219.patch patchSha256=ba77d759456e68198cf8d274e54891c0f7372796e47aae5df7f869752a6df585 patchBytes=2008 patchLines=50 notesReviewed=
|
|
7934
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2abc70fef03c patchFile=/tmp/leeroy-wip-pass2/219.patch patchSha256=ba77d759456e68198cf8d274e54891c0f7372796e47aae5df7f869752a6df585 patchBytes=2008 patchLines=50 notesReviewed=yes reviewedAt=2026-01-25T09:34:44+0100 notesUpdated=no
|
|
7935
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Backoff semantics fix: move failuresCount tracking into InvalidateSync so it works with custom backoff implementations; optionally squash 218 into this.
|
|
7686
7936
|
|
|
7687
7937
|
- Subject: fix(utils): track failuresCount for custom backoff
|
|
7688
7938
|
- Reasons: correctness (make `failuresCount` behavior consistent across default vs custom backoff implementations)
|
|
@@ -7714,7 +7964,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2abc70fef03c patchFile=/
|
|
|
7714
7964
|
---
|
|
7715
7965
|
|
|
7716
7966
|
## 220 2026-01-23 dc8016f01c56 `server`
|
|
7717
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dc8016f01c56 patchFile=/tmp/leeroy-wip-pass2/220.patch patchSha256=f8a27472675baae86971bc8cc9e8b89fd68ada04eda4f03689ca3cf09ec1b283 patchBytes=4592 patchLines=114 notesReviewed=
|
|
7967
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dc8016f01c56 patchFile=/tmp/leeroy-wip-pass2/220.patch patchSha256=f8a27472675baae86971bc8cc9e8b89fd68ada04eda4f03689ca3cf09ec1b283 patchBytes=4592 patchLines=114 notesReviewed=yes reviewedAt=2026-01-25T09:35:12+0100 notesUpdated=no
|
|
7968
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:39:11+0100 manualReviewedForPrPlan=yes notes=Server-light migration reliability: validate HAPPY_SERVER_LIGHT_DATA_DIR (trim/require) + centralize deploy plan args; includes unit tests.
|
|
7718
7969
|
|
|
7719
7970
|
- Subject: fix(server): validate HAPPY_SERVER_LIGHT_DATA_DIR for light migrations
|
|
7720
7971
|
- Reasons: reliability (fail fast with a clear error rather than crashing mid-migration)
|
|
@@ -7746,7 +7997,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dc8016f01c56 patchFile=/
|
|
|
7746
7997
|
---
|
|
7747
7998
|
|
|
7748
7999
|
## 221 2026-01-23 b0085827322c `server`
|
|
7749
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b0085827322c patchFile=/tmp/leeroy-wip-pass2/221.patch patchSha256=78599b9524d5aee01e8aca14a7a44ee0252e5c7247327d25eaf65e773d0aa721 patchBytes=3706 patchLines=85 notesReviewed=
|
|
8000
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b0085827322c patchFile=/tmp/leeroy-wip-pass2/221.patch patchSha256=78599b9524d5aee01e8aca14a7a44ee0252e5c7247327d25eaf65e773d0aa721 patchBytes=3706 patchLines=85 notesReviewed=yes reviewedAt=2026-01-25T09:35:43+0100 notesUpdated=no
|
|
8001
|
+
Pass3PrPlan: finalPr=PR23 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=Serve-UI reliability: return 404 (not 500) when UI index missing in error handlers; includes regression test.
|
|
7750
8002
|
|
|
7751
8003
|
- Subject: fix(server): handle missing UI index in error handlers
|
|
7752
8004
|
- Reasons: reliability (serve “not found” instead of 500 when UI bundle is absent/misconfigured)
|
|
@@ -7779,7 +8031,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b0085827322c patchFile=/
|
|
|
7779
8031
|
---
|
|
7780
8032
|
|
|
7781
8033
|
## 222 2026-01-23 abf288056636 `cli`
|
|
7782
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=abf288056636 patchFile=/tmp/leeroy-wip-pass2/222.patch patchSha256=ff8a919aac319612e39ee8b56f391cc25d301d9c85716a63380bae36ec5e056b patchBytes=1914 patchLines=51 notesReviewed=
|
|
8034
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=abf288056636 patchFile=/tmp/leeroy-wip-pass2/222.patch patchSha256=ff8a919aac319612e39ee8b56f391cc25d301d9c85716a63380bae36ec5e056b patchBytes=1914 patchLines=51 notesReviewed=yes reviewedAt=2026-01-25T09:36:02+0100 notesUpdated=no
|
|
8035
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=Queue state parsing hardening: reject invalid messageQueueV1 inFlight shapes (null out overall) + test.
|
|
7783
8036
|
|
|
7784
8037
|
- Subject: fix(cli): reject invalid messageQueueV1 inFlight
|
|
7785
8038
|
- Reasons: correctness (avoid accepting partially-shaped persisted state)
|
|
@@ -7808,7 +8061,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=abf288056636 patchFile=/
|
|
|
7808
8061
|
---
|
|
7809
8062
|
|
|
7810
8063
|
## 223 2026-01-23 73ce32d242a0 `i18n`
|
|
7811
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=73ce32d242a0 patchFile=/tmp/leeroy-wip-pass2/223.patch patchSha256=7276f6144dbcfe2de6ed375f24e62e13cde97b36a45816b1690d7cc718592eaf patchBytes=2892 patchLines=44 notesReviewed=
|
|
8064
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=73ce32d242a0 patchFile=/tmp/leeroy-wip-pass2/223.patch patchSha256=7276f6144dbcfe2de6ed375f24e62e13cde97b36a45816b1690d7cc718592eaf patchBytes=2892 patchLines=44 notesReviewed=yes reviewedAt=2026-01-25T09:36:24+0100 notesUpdated=no
|
|
8065
|
+
Pass3PrPlan: finalPr=PR06 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=Settings/experiments i18n polish: translate Spanish experiment subtitles (pure translations).
|
|
7812
8066
|
|
|
7813
8067
|
- Subject: fix(i18n): translate Spanish experiment subtitles
|
|
7814
8068
|
- Reasons: UX polish (remove leftover English strings in Spanish locale)
|
|
@@ -7831,7 +8085,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=73ce32d242a0 patchFile=/
|
|
|
7831
8085
|
---
|
|
7832
8086
|
|
|
7833
8087
|
## 224 2026-01-23 98bc00096e86 `new-session`
|
|
7834
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=98bc00096e86 patchFile=/tmp/leeroy-wip-pass2/224.patch patchSha256=6fbcd1147947b83c51c4d7ae6a43121991b1e9abdaa57e657fbfe93e678879b4 patchBytes=26304 patchLines=388 notesReviewed=
|
|
8088
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=98bc00096e86 patchFile=/tmp/leeroy-wip-pass2/224.patch patchSha256=6fbcd1147947b83c51c4d7ae6a43121991b1e9abdaa57e657fbfe93e678879b4 patchBytes=26304 patchLines=388 notesReviewed=yes reviewedAt=2026-01-25T09:37:18+0100 notesUpdated=no
|
|
8089
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=Mixed new-session changes: localize Codex resume banner (belongs to resume UX) + refactors that depend on 225/226; needsSplit=yes to move WizardSectionHeaderRow refactor to PR26 and permissionModeOptions refactor to PR10 during rewrite.
|
|
7835
8090
|
|
|
7836
8091
|
- Subject: fix(i18n): localize Codex resume banner
|
|
7837
8092
|
- Reasons: UX/i18n, but the commit also includes unrelated refactors (mixed concerns)
|
|
@@ -7868,7 +8123,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=98bc00096e86 patchFile=/
|
|
|
7868
8123
|
---
|
|
7869
8124
|
|
|
7870
8125
|
## 225 2026-01-23 4fabec9b69b3 `new-session`
|
|
7871
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4fabec9b69b3 patchFile=/tmp/leeroy-wip-pass2/225.patch patchSha256=88b9efe8a607d65f0a3cc93c36ee4b75264579b4bf348793e74a0c220cb853ae patchBytes=2067 patchLines=58 notesReviewed=
|
|
8126
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4fabec9b69b3 patchFile=/tmp/leeroy-wip-pass2/225.patch patchSha256=88b9efe8a607d65f0a3cc93c36ee4b75264579b4bf348793e74a0c220cb853ae patchBytes=2067 patchLines=58 notesReviewed=yes reviewedAt=2026-01-25T09:37:37+0100 notesUpdated=no
|
|
8127
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=New-session wizard UI primitive: add WizardSectionHeaderRow component; reorder before 224 in rewritten history.
|
|
7872
8128
|
|
|
7873
8129
|
- Subject: feat(new-session): add WizardSectionHeaderRow
|
|
7874
8130
|
- Reasons: UI consistency (reduce repeated header-row markup in wizard sections)
|
|
@@ -7894,7 +8150,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4fabec9b69b3 patchFile=/
|
|
|
7894
8150
|
---
|
|
7895
8151
|
|
|
7896
8152
|
## 226 2026-01-23 c461ed1cb4ef `permission`
|
|
7897
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c461ed1cb4ef patchFile=/tmp/leeroy-wip-pass2/226.patch patchSha256=a8d7b0277e06ee4c0239fd94aa9b683d8b5a30744a87f55e9a1e4da9f86bc24b patchBytes=4784 patchLines=88 notesReviewed=
|
|
8153
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c461ed1cb4ef patchFile=/tmp/leeroy-wip-pass2/226.patch patchSha256=a8d7b0277e06ee4c0239fd94aa9b683d8b5a30744a87f55e9a1e4da9f86bc24b patchBytes=4784 patchLines=88 notesReviewed=yes reviewedAt=2026-01-25T09:38:18+0100 notesUpdated=no
|
|
8154
|
+
Pass3PrPlan: finalPr=PR10 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=Permission UX helpers: centralize permission mode option lists/labels per agent type; note follow-up to i18n-ize description strings if they are user-visible.
|
|
7898
8155
|
|
|
7899
8156
|
- Subject: feat(permission): add permission mode option helpers
|
|
7900
8157
|
- Reasons: safety/security-sensitive area
|
|
@@ -7928,7 +8185,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c461ed1cb4ef patchFile=/
|
|
|
7928
8185
|
---
|
|
7929
8186
|
|
|
7930
8187
|
## 227 2026-01-23 23b595edd0fe `sync`
|
|
7931
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=23b595edd0fe patchFile=/tmp/leeroy-wip-pass2/227.patch patchSha256=fae3d600fdbfd7dc688b5614ddbef2ddc14227771a98f46009978164cd37cceb patchBytes=973 patchLines=27 notesReviewed=
|
|
8188
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=23b595edd0fe patchFile=/tmp/leeroy-wip-pass2/227.patch patchSha256=fae3d600fdbfd7dc688b5614ddbef2ddc14227771a98f46009978164cd37cceb patchBytes=973 patchLines=27 notesReviewed=yes reviewedAt=2026-01-25T09:38:41+0100 notesUpdated=no
|
|
8189
|
+
Pass3PrPlan: finalPr=PR29 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=Sessions list display cleanup: simplify home-relative path formatting (~ prefix) without behavior change.
|
|
7932
8190
|
|
|
7933
8191
|
- Subject: refactor(sync): simplify path formatting
|
|
7934
8192
|
- Reasons: small refactor (reduce branching; keep output identical)
|
|
@@ -7956,7 +8214,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=23b595edd0fe patchFile=/
|
|
|
7956
8214
|
---
|
|
7957
8215
|
|
|
7958
8216
|
## 228 2026-01-23 523989b4de8e `server-light`
|
|
7959
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=523989b4de8e patchFile=/tmp/leeroy-wip-pass2/228.patch patchSha256=b630328267969617b97d78d03deb46f520f2035bd6e33651487c756c1b9108c8 patchBytes=1425 patchLines=35 notesReviewed=
|
|
8217
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=523989b4de8e patchFile=/tmp/leeroy-wip-pass2/228.patch patchSha256=b630328267969617b97d78d03deb46f520f2035bd6e33651487c756c1b9108c8 patchBytes=1425 patchLines=35 notesReviewed=yes reviewedAt=2026-01-25T09:39:02+0100 notesUpdated=no
|
|
8218
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=Server-light safety: avoid handy master secret file race via atomic write (wx) + EEXIST read-back; keep adjacent to light-flavor init work.
|
|
7960
8219
|
|
|
7961
8220
|
- Subject: fix(server-light): avoid master secret race
|
|
7962
8221
|
- Reasons: safety/security-sensitive area
|
|
@@ -7983,7 +8242,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=523989b4de8e patchFile=/
|
|
|
7983
8242
|
---
|
|
7984
8243
|
|
|
7985
8244
|
## 229 2026-01-23 d89a9427e765 `cli`
|
|
7986
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d89a9427e765 patchFile=/tmp/leeroy-wip-pass2/229.patch patchSha256=09a7cbdfe0ec774246a505a6adfa9ef7b0634bdff308a85682861263c46f73a2 patchBytes=3829 patchLines=91 notesReviewed=
|
|
8245
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d89a9427e765 patchFile=/tmp/leeroy-wip-pass2/229.patch patchSha256=09a7cbdfe0ec774246a505a6adfa9ef7b0634bdff308a85682861263c46f73a2 patchBytes=3829 patchLines=91 notesReviewed=yes reviewedAt=2026-01-25T09:39:36+0100 notesUpdated=no
|
|
8246
|
+
Pass3PrPlan: finalPr=PR17 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=CLI socket reliability: clean up metadata waiters on disconnect (resolve false; remove listeners) + test.
|
|
7987
8247
|
|
|
7988
8248
|
- Subject: fix(cli): clean up metadata waiters on disconnect
|
|
7989
8249
|
- Reasons: reliability (avoid hanging waiters and event-listener leaks on socket disconnect)
|
|
@@ -8013,7 +8273,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d89a9427e765 patchFile=/
|
|
|
8013
8273
|
---
|
|
8014
8274
|
|
|
8015
8275
|
## 230 2026-01-23 fedb8a66160a `cli`
|
|
8016
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fedb8a66160a patchFile=/tmp/leeroy-wip-pass2/230.patch patchSha256=b051d2500827992e30c437c46c726dfd4d7fa5e3147cbde7148a85111e07d630 patchBytes=1639 patchLines=36 notesReviewed=
|
|
8276
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fedb8a66160a patchFile=/tmp/leeroy-wip-pass2/230.patch patchSha256=b051d2500827992e30c437c46c726dfd4d7fa5e3147cbde7148a85111e07d630 patchBytes=1639 patchLines=36 notesReviewed=yes reviewedAt=2026-01-25T09:40:11+0100 notesUpdated=no
|
|
8277
|
+
Pass3PrPlan: finalPr=PR15 plannedAt=2026-01-25T14:42:48+0100 manualReviewedForPrPlan=yes notes=Preview-env contract test: accept lowercase env keys (adjacent to 231 impl; keep together in preview-env PR).
|
|
8017
8278
|
|
|
8018
8279
|
- Subject: test(cli): accept lowercase preview-env keys
|
|
8019
8280
|
- Reasons: define intended behavior before/alongside the implementation change
|
|
@@ -8040,7 +8301,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fedb8a66160a patchFile=/
|
|
|
8040
8301
|
---
|
|
8041
8302
|
|
|
8042
8303
|
## 231 2026-01-23 fc0ce89b13b7 `cli`
|
|
8043
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fc0ce89b13b7 patchFile=/tmp/leeroy-wip-pass2/231.patch patchSha256=aa8a6b5f3cbe7c42d787a67800c244bcd442cbbbe2df8100b11efb0d5140f40d patchBytes=3562 patchLines=71 notesReviewed=
|
|
8304
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fc0ce89b13b7 patchFile=/tmp/leeroy-wip-pass2/231.patch patchSha256=aa8a6b5f3cbe7c42d787a67800c244bcd442cbbbe2df8100b11efb0d5140f40d patchBytes=3562 patchLines=71 notesReviewed=yes reviewedAt=2026-01-25T09:40:41+0100 notesUpdated=no
|
|
8305
|
+
Pass3PrPlan: finalPr=PR15 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=preview-env safety: accept lowercase keys while blocking prototype pollution keys; keep adjacent to 230 test in preview-env PR.
|
|
8044
8306
|
|
|
8045
8307
|
- Subject: fix(cli): allow lowercase preview-env keys
|
|
8046
8308
|
- Reasons: correctness + security hardening (input validation + prototype-pollution defense)
|
|
@@ -8073,7 +8335,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fc0ce89b13b7 patchFile=/
|
|
|
8073
8335
|
---
|
|
8074
8336
|
|
|
8075
8337
|
## 232 2026-01-23 ad95c5b01c25 `hooks`
|
|
8076
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ad95c5b01c25 patchFile=/tmp/leeroy-wip-pass2/232.patch patchSha256=733a884857434803cf24e58f4eed1b7a444c07efcbf092a2e511f26c17c0b000 patchBytes=2158 patchLines=69 notesReviewed=
|
|
8338
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ad95c5b01c25 patchFile=/tmp/leeroy-wip-pass2/232.patch patchSha256=733a884857434803cf24e58f4eed1b7a444c07efcbf092a2e511f26c17c0b000 patchBytes=2158 patchLines=69 notesReviewed=yes reviewedAt=2026-01-25T09:41:05+0100 notesUpdated=no
|
|
8339
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Capabilities hook contract: test stable useCLIDetection timestamp when loaded snapshot lacks checkedAt; squash into 234 series.
|
|
8077
8340
|
|
|
8078
8341
|
- Subject: test(happy): keep useCLIDetection timestamp stable
|
|
8079
8342
|
- Reasons: define stable timestamp semantics for “loaded snapshots missing checkedAt”
|
|
@@ -8100,7 +8363,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ad95c5b01c25 patchFile=/
|
|
|
8100
8363
|
---
|
|
8101
8364
|
|
|
8102
8365
|
## 233 2026-01-23 c251edf3c307 `hooks`
|
|
8103
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c251edf3c307 patchFile=/tmp/leeroy-wip-pass2/233.patch patchSha256=8ac0cb76b673f42e5bd761b9f12bc4bb4beb372adfe83f8ece3aabfcc04fdece patchBytes=3645 patchLines=113 notesReviewed=
|
|
8366
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c251edf3c307 patchFile=/tmp/leeroy-wip-pass2/233.patch patchSha256=8ac0cb76b673f42e5bd761b9f12bc4bb4beb372adfe83f8ece3aabfcc04fdece patchBytes=3645 patchLines=113 notesReviewed=yes reviewedAt=2026-01-25T09:41:39+0100 notesUpdated=no
|
|
8367
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Test hygiene follow-up for 232 (act()+timer cleanup); squash into 232/234.
|
|
8104
8368
|
|
|
8105
8369
|
- Subject: test(happy): fix useCLIDetection timestamp test
|
|
8106
8370
|
- Reasons: test hygiene (proper `act()` usage; timer cleanup)
|
|
@@ -8126,7 +8390,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c251edf3c307 patchFile=/
|
|
|
8126
8390
|
---
|
|
8127
8391
|
|
|
8128
8392
|
## 234 2026-01-23 34fa4091d3cc `hooks`
|
|
8129
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=34fa4091d3cc patchFile=/tmp/leeroy-wip-pass2/234.patch patchSha256=f522777907fc44d6297900a370d381db8643cf2e6c802340711691e6ed472547 patchBytes=3538 patchLines=70 notesReviewed=
|
|
8393
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=34fa4091d3cc patchFile=/tmp/leeroy-wip-pass2/234.patch patchSha256=f522777907fc44d6297900a370d381db8643cf2e6c802340711691e6ed472547 patchBytes=3538 patchLines=70 notesReviewed=yes reviewedAt=2026-01-25T09:43:58+0100 notesUpdated=no
|
|
8394
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Capabilities hook reliability: stabilize useCLIDetection timestamp fallback when checkedAt missing; squash 232/233/235 into this in rewrite.
|
|
8130
8395
|
|
|
8131
8396
|
- Subject: fix(happy): stabilize useCLIDetection timestamp
|
|
8132
8397
|
- Reasons: reliability (avoid timestamp flapping across renders when `checkedAt` is missing)
|
|
@@ -8161,7 +8426,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=34fa4091d3cc patchFile=/
|
|
|
8161
8426
|
---
|
|
8162
8427
|
|
|
8163
8428
|
## 235 2026-01-23 31340e53294c `hooks`
|
|
8164
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=31340e53294c patchFile=/tmp/leeroy-wip-pass2/235.patch patchSha256=20441fb5c84ebd173a59154272d1c0297b021b7d3264fd571b05dabcae64bbc3 patchBytes=2000 patchLines=41 notesReviewed=
|
|
8429
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=31340e53294c patchFile=/tmp/leeroy-wip-pass2/235.patch patchSha256=20441fb5c84ebd173a59154272d1c0297b021b7d3264fd571b05dabcae64bbc3 patchBytes=2000 patchLines=41 notesReviewed=yes reviewedAt=2026-01-25T09:44:24+0100 notesUpdated=no
|
|
8430
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Back-and-forth cleanup: inline CLI detection request (undo part of 234); squash into 234.
|
|
8165
8431
|
|
|
8166
8432
|
- Subject: fix(happy): inline CLI detection request
|
|
8167
8433
|
- Reasons: simplify dependency surface (avoid shared-constant import for this hook)
|
|
@@ -8189,7 +8455,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=31340e53294c patchFile=/
|
|
|
8189
8455
|
---
|
|
8190
8456
|
|
|
8191
8457
|
## 236 2026-01-23 054250f408e2 `i18n`
|
|
8192
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=054250f408e2 patchFile=/tmp/leeroy-wip-pass2/236.patch patchSha256=024605aca8ca43a541838357ee03946ca858eaf9617fe72d96ecb3ad2d5ee4b5 patchBytes=21535 patchLines=394 notesReviewed=
|
|
8458
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=054250f408e2 patchFile=/tmp/leeroy-wip-pass2/236.patch patchSha256=024605aca8ca43a541838357ee03946ca858eaf9617fe72d96ecb3ad2d5ee4b5 patchBytes=21535 patchLines=394 notesReviewed=yes reviewedAt=2026-01-25T09:45:05+0100 notesUpdated=no
|
|
8459
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Resume UX i18n: localize Codex resume install/update modals (machine + new-session) + deps.* status strings; unify key scopes with 224 during rewrite.
|
|
8193
8460
|
|
|
8194
8461
|
- Subject: fix(i18n): localize codex resume install modals
|
|
8195
8462
|
- Reasons: UX/i18n + more robust user-facing install errors
|
|
@@ -8224,7 +8491,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=054250f408e2 patchFile=/
|
|
|
8224
8491
|
---
|
|
8225
8492
|
|
|
8226
8493
|
## 237 2026-01-23 241f0ae24b1d `cli`
|
|
8227
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=241f0ae24b1d patchFile=/tmp/leeroy-wip-pass2/237.patch patchSha256=eade827a038e651cf40824bd8746e951d432da56710508fbe64c14bfc9345421 patchBytes=1618 patchLines=40 notesReviewed=
|
|
8494
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=241f0ae24b1d patchFile=/tmp/leeroy-wip-pass2/237.patch patchSha256=eade827a038e651cf40824bd8746e951d432da56710508fbe64c14bfc9345421 patchBytes=1618 patchLines=40 notesReviewed=yes reviewedAt=2026-01-25T09:45:37+0100 notesUpdated=no
|
|
8495
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Terminal attachment security series: add regression test preventing legacy sessionId path traversal; keep adjacent to 212 and 238.
|
|
8228
8496
|
|
|
8229
8497
|
- Subject: test(cli): prevent legacy sessionId path traversal
|
|
8230
8498
|
- Reasons: safety/security-sensitive area
|
|
@@ -8248,7 +8516,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=241f0ae24b1d patchFile=/
|
|
|
8248
8516
|
---
|
|
8249
8517
|
|
|
8250
8518
|
## 238 2026-01-23 a1e4a6dd3fbd `cli`
|
|
8251
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a1e4a6dd3fbd patchFile=/tmp/leeroy-wip-pass2/238.patch patchSha256=17d4644af933f143aadcf2c747e71bef9b1c705e162c51515bf499013e2aa7fc patchBytes=1189 patchLines=23 notesReviewed=
|
|
8519
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a1e4a6dd3fbd patchFile=/tmp/leeroy-wip-pass2/238.patch patchSha256=17d4644af933f143aadcf2c747e71bef9b1c705e162c51515bf499013e2aa7fc patchBytes=1189 patchLines=23 notesReviewed=yes reviewedAt=2026-01-25T09:45:58+0100 notesUpdated=no
|
|
8520
|
+
Pass3PrPlan: finalPr=PR18 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Terminal attachment security fix: block legacy fallback when sessionId contains path separators (/, \\); completes 212+237 series.
|
|
8252
8521
|
|
|
8253
8522
|
- Subject: fix(cli): block legacy sessionId path traversal
|
|
8254
8523
|
- Reasons: safety/security-sensitive area
|
|
@@ -8272,7 +8541,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a1e4a6dd3fbd patchFile=/
|
|
|
8272
8541
|
---
|
|
8273
8542
|
|
|
8274
8543
|
## 239 2026-01-23 e2618e04a26b `a11y`
|
|
8275
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e2618e04a26b patchFile=/tmp/leeroy-wip-pass2/239.patch patchSha256=ae2ca5dc593b6b7515371e38b3f2077b2bff2b9d0e29f8e00b096f7bfb9977b5 patchBytes=2596 patchLines=36 notesReviewed=
|
|
8544
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e2618e04a26b patchFile=/tmp/leeroy-wip-pass2/239.patch patchSha256=ae2ca5dc593b6b7515371e38b3f2077b2bff2b9d0e29f8e00b096f7bfb9977b5 patchBytes=2596 patchLines=36 notesReviewed=yes reviewedAt=2026-01-25T09:46:21+0100 notesUpdated=no
|
|
8545
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Resume banner a11y: add accessibilityRole/Label to Codex resume banner actions (install/update/reinstall/check updates); depends on 224 banner UI.
|
|
8276
8546
|
|
|
8277
8547
|
- Subject: fix(a11y): add labels to codex resume actions
|
|
8278
8548
|
- Reasons: accessibility (screen readers need roles/labels for icon-only buttons)
|
|
@@ -8298,7 +8568,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e2618e04a26b patchFile=/
|
|
|
8298
8568
|
---
|
|
8299
8569
|
|
|
8300
8570
|
## 240 2026-01-23 d0f9ad5e8310 `claude`
|
|
8301
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d0f9ad5e8310 patchFile=/tmp/leeroy-wip-pass2/240.patch patchSha256=5b83e3eac76bea990744a4af4d0ede76e491000db3f3bc44743195f731ecf02d patchBytes=1540 patchLines=37 notesReviewed=
|
|
8571
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d0f9ad5e8310 patchFile=/tmp/leeroy-wip-pass2/240.patch patchSha256=5b83e3eac76bea990744a4af4d0ede76e491000db3f3bc44743195f731ecf02d patchBytes=1540 patchLines=37 notesReviewed=yes reviewedAt=2026-01-25T09:46:58+0100 notesUpdated=no
|
|
8572
|
+
Pass3PrPlan: finalPr=PR20 plannedAt=2026-01-25T14:47:03+0100 manualReviewedForPrPlan=yes notes=Claude scanner test cleanup: remove stale red-test scaffolding for transcriptPath now that feature exists; squash into transcriptPath feature commit during rewrite.
|
|
8302
8573
|
|
|
8303
8574
|
- Subject: test(claude): remove stale transcriptPath red-test scaffolding
|
|
8304
8575
|
- Reasons: test hygiene (remove intentional-red scaffolding once feature is implemented)
|
|
@@ -8326,7 +8597,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d0f9ad5e8310 patchFile=/
|
|
|
8326
8597
|
---
|
|
8327
8598
|
|
|
8328
8599
|
## 241 2026-01-23 1464402758bf `codex`
|
|
8329
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1464402758bf patchFile=/tmp/leeroy-wip-pass2/241.patch patchSha256=8d92eb3bed71a5bc1aea5116246841d7a5a5880ef2af17c294577b10edef88e9 patchBytes=3078 patchLines=74 notesReviewed=
|
|
8600
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1464402758bf patchFile=/tmp/leeroy-wip-pass2/241.patch patchSha256=8d92eb3bed71a5bc1aea5116246841d7a5a5880ef2af17c294577b10edef88e9 patchBytes=3078 patchLines=74 notesReviewed=yes reviewedAt=2026-01-25T09:47:16+0100 notesUpdated=no
|
|
8601
|
+
Pass3PrPlan: finalPr=PR21 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=Codex MCP correctness: preserve falsy Ok/Err tool results via hasOwnProperty checks + unit tests.
|
|
8330
8602
|
|
|
8331
8603
|
- Subject: fix(codex): preserve falsy MCP tool results
|
|
8332
8604
|
- Reasons: safety/security-sensitive area
|
|
@@ -8353,7 +8625,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1464402758bf patchFile=/
|
|
|
8353
8625
|
---
|
|
8354
8626
|
|
|
8355
8627
|
## 242 2026-01-23 57f84f0691c6 `server-light`
|
|
8356
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=57f84f0691c6 patchFile=/tmp/leeroy-wip-pass2/242.patch patchSha256=768b4f121bd2c2edef87a3e8ea83d26107bf2e2505dd887a6ddcefc9ca908a54 patchBytes=4848 patchLines=107 notesReviewed=
|
|
8628
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=57f84f0691c6 patchFile=/tmp/leeroy-wip-pass2/242.patch patchSha256=768b4f121bd2c2edef87a3e8ea83d26107bf2e2505dd887a6ddcefc9ca908a54 patchBytes=4848 patchLines=107 notesReviewed=yes reviewedAt=2026-01-25T09:47:54+0100 notesUpdated=no
|
|
8629
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=Server-light security: strict public file path normalization + segment-wise encodeURIComponent URL building (encode #/?); expanded tests.
|
|
8357
8630
|
|
|
8358
8631
|
- Subject: fix(server-light): harden public file path encoding
|
|
8359
8632
|
- Reasons: security + correctness (path traversal defenses; correct URL encoding of `#`/`?`)
|
|
@@ -8390,7 +8663,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=57f84f0691c6 patchFile=/
|
|
|
8390
8663
|
---
|
|
8391
8664
|
|
|
8392
8665
|
## 243 2026-01-23 0b7db6945325 `storage`
|
|
8393
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0b7db6945325 patchFile=/tmp/leeroy-wip-pass2/243.patch patchSha256=24b9f7ab9cddb708484b41b3db7d20ee4f27722b9d34676a819ea47c4c5d2c48 patchBytes=3229 patchLines=92 notesReviewed=
|
|
8666
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0b7db6945325 patchFile=/tmp/leeroy-wip-pass2/243.patch patchSha256=24b9f7ab9cddb708484b41b3db7d20ee4f27722b9d34676a819ea47c4c5d2c48 patchBytes=3229 patchLines=92 notesReviewed=yes reviewedAt=2026-01-25T09:48:35+0100 notesUpdated=no
|
|
8667
|
+
Pass3PrPlan: finalPr=PR24 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=Storage config safety: validate S3_PORT range and fail-fast when bucket missing; adds focused tests.
|
|
8394
8668
|
|
|
8395
8669
|
- Subject: fix(storage): validate S3_PORT and bucket existence
|
|
8396
8670
|
- Reasons: reliability (fail fast for misconfiguration; prevent runtime surprises)
|
|
@@ -8423,7 +8697,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0b7db6945325 patchFile=/
|
|
|
8423
8697
|
---
|
|
8424
8698
|
|
|
8425
8699
|
## 244 2026-01-23 74fc860b07b5 `queue`
|
|
8426
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=74fc860b07b5 patchFile=/tmp/leeroy-wip-pass2/244.patch patchSha256=a93a0d6e51fe2bd123eed3a30105d971f59f96cd6fe79fa01e065935b4df061a patchBytes=1203 patchLines=26 notesReviewed=
|
|
8700
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=74fc860b07b5 patchFile=/tmp/leeroy-wip-pass2/244.patch patchSha256=a93a0d6e51fe2bd123eed3a30105d971f59f96cd6fe79fa01e065935b4df061a patchBytes=1203 patchLines=26 notesReviewed=yes reviewedAt=2026-01-25T09:49:14+0100 notesUpdated=no
|
|
8701
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=MessageQueueV1 refactor: simplify stale inFlight reclaim logic (no behavior change); squash into queue series if desired.
|
|
8427
8702
|
|
|
8428
8703
|
- Subject: refactor(queue): simplify stale in-flight reclaim
|
|
8429
8704
|
- Reasons: small refactor (reduce dead branches; make intent clearer)
|
|
@@ -8449,7 +8724,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=74fc860b07b5 patchFile=/
|
|
|
8449
8724
|
---
|
|
8450
8725
|
|
|
8451
8726
|
## 245 2026-01-23 82bf82cb6715 `hooks`
|
|
8452
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82bf82cb6715 patchFile=/tmp/leeroy-wip-pass2/245.patch patchSha256=4ec49451a79b83e57a354c92e9a696c3f255111c75b800de0fe4b9e9639d4f3a patchBytes=4129 patchLines=124 notesReviewed=
|
|
8727
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82bf82cb6715 patchFile=/tmp/leeroy-wip-pass2/245.patch patchSha256=4ec49451a79b83e57a354c92e9a696c3f255111c75b800de0fe4b9e9639d4f3a patchBytes=4129 patchLines=124 notesReviewed=yes reviewedAt=2026-01-25T09:49:50+0100 notesUpdated=no
|
|
8728
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=Capabilities cache race fix: guard updates with inFlightToken match so stale requests can’t clobber newer loaded state; includes race test.
|
|
8453
8729
|
|
|
8454
8730
|
- Subject: fix(hooks): prevent stale capabilities cache overwrite
|
|
8455
8731
|
- Reasons: reliability (race condition: older in-flight request should not clobber newer loaded state)
|
|
@@ -8482,7 +8758,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82bf82cb6715 patchFile=/
|
|
|
8482
8758
|
---
|
|
8483
8759
|
|
|
8484
8760
|
## 246 2026-01-23 384b15252026 `expo`
|
|
8485
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=384b15252026 patchFile=/tmp/leeroy-wip-pass2/246.patch patchSha256=a5574a67093df15c1f6aef108ddab08b5d274ef8afd0a486bad5951202546b9c patchBytes=16538 patchLines=403 notesReviewed=
|
|
8761
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=384b15252026 patchFile=/tmp/leeroy-wip-pass2/246.patch patchSha256=a5574a67093df15c1f6aef108ddab08b5d274ef8afd0a486bad5951202546b9c patchBytes=16538 patchLines=403 notesReviewed=yes reviewedAt=2026-01-25T09:50:50+0100 notesUpdated=no
|
|
8762
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=Mixed user-action hardening; needsSplit=yes: pending send delete→discard fallback + messageQueueV1 discard support goes to PR13; AskUserQuestion submit error alert+test goes to PR12 during rewrite.
|
|
8486
8763
|
|
|
8487
8764
|
- Subject: fix(expo): harden tool submit and pending send
|
|
8488
8765
|
- Reasons: reliability + user-data safety (avoid losing pending messages; show errors instead of silent console logs)
|
|
@@ -8533,7 +8810,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=384b15252026 patchFile=/
|
|
|
8533
8810
|
---
|
|
8534
8811
|
|
|
8535
8812
|
## 247 2026-01-23 24b607abfa07 `server`
|
|
8536
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=24b607abfa07 patchFile=/tmp/leeroy-wip-pass2/247.patch patchSha256=4a04e67b3c9bb2f295b23b73efa7424d9664eecb1e59da02f7cbf3b25fe18e2a patchBytes=39760 patchLines=973 notesReviewed=
|
|
8813
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=24b607abfa07 patchFile=/tmp/leeroy-wip-pass2/247.patch patchSha256=4a04e67b3c9bb2f295b23b73efa7424d9664eecb1e59da02f7cbf3b25fe18e2a patchBytes=39760 patchLines=973 notesReviewed=yes reviewedAt=2026-01-25T09:52:04+0100 notesUpdated=yes
|
|
8814
|
+
Pass3PrPlan: finalPr=PR22 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=Server-light maintenance: schemaSync replaces schema:sqlite, adds enum generation + drift tests, centralizes Prisma types/client with init-guarded db proxy; needsSplit=yes and move unrelated yarn.lock expo-router bump to PR02.
|
|
8537
8815
|
|
|
8538
8816
|
- Subject: Refactor schema sync and centralize Prisma types
|
|
8539
8817
|
- Reasons: non-Conventional-Commits subject; too many files (29)
|
|
@@ -8587,7 +8865,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=24b607abfa07 patchFile=/
|
|
|
8587
8865
|
---
|
|
8588
8866
|
|
|
8589
8867
|
## 248 2026-01-23 bf3027799623 `expo-app`
|
|
8590
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bf3027799623 patchFile=/tmp/leeroy-wip-pass2/248.patch patchSha256=e0ac60343c52aa39ca18ad1211db8a15672cb2d084b40f4afda5e097d6e79132 patchBytes=7435 patchLines=134 notesReviewed=
|
|
8868
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bf3027799623 patchFile=/tmp/leeroy-wip-pass2/248.patch patchSha256=e0ac60343c52aa39ca18ad1211db8a15672cb2d084b40f4afda5e097d6e79132 patchBytes=7435 patchLines=134 notesReviewed=yes reviewedAt=2026-01-25T09:52:35+0100 notesUpdated=no
|
|
8869
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=Expo web modal reliability: set EXPO_UNSTABLE_WEB_MODAL=1 in scripts, pin+patch expo-router 6.0.22; needsSplit=yes to move session-info gating tweak (expCodexAcp) into PR19 during rewrite.
|
|
8591
8870
|
|
|
8592
8871
|
- Subject: Set EXPO_UNSTABLE_WEB_MODAL env var in Expo scripts
|
|
8593
8872
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -8629,7 +8908,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bf3027799623 patchFile=/
|
|
|
8629
8908
|
---
|
|
8630
8909
|
|
|
8631
8910
|
## 249 2026-01-23 c803115dcbdc `expo-app`
|
|
8632
|
-
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c803115dcbdc patchFile=/tmp/leeroy-wip-pass2/249.patch patchSha256=9c4991901c96cb2e76116df30042c346f92bd739a8c392306c786ff9d701c68e patchBytes=1785 patchLines=36 notesReviewed=
|
|
8911
|
+
Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c803115dcbdc patchFile=/tmp/leeroy-wip-pass2/249.patch patchSha256=9c4991901c96cb2e76116df30042c346f92bd739a8c392306c786ff9d701c68e patchBytes=1785 patchLines=36 notesReviewed=yes reviewedAt=2026-01-25T09:52:58+0100 notesUpdated=no
|
|
8912
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T14:52:20+0100 manualReviewedForPrPlan=yes notes=Expo postinstall reliability: resolve symlinked paths and run patch-package for both hoisted and non-hoisted deps; keep adjacent to 248.
|
|
8633
8913
|
|
|
8634
8914
|
- Subject: Improve postinstall script for symlinked paths and patching
|
|
8635
8915
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -8658,3 +8938,880 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c803115dcbdc patchFile=/
|
|
|
8658
8938
|
- Current subject is fine as long as it becomes Conventional Commits: `fix(expo): improve postinstall patching for symlinked paths`
|
|
8659
8939
|
|
|
8660
8940
|
---
|
|
8941
|
+
## 250 2026-01-24 0c3b41030bbc `expo-app`
|
|
8942
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=0c3b41030bbc patchFile=/tmp/leeroy-wip-pass2/250.patch patchSha256=0bd3baa81e7931d491c7b436da0542e820972d67520a31745bf81f6ff86bf942 patchBytes=4156 patchLines=110 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
8943
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T15:57:43+0100 manualReviewedForPrPlan=yes notes=Foundations / DevX: Add Vitest stubs for Expo and React Native modules
|
|
8944
|
+
|
|
8945
|
+
- Subject: Add Vitest stubs for Expo and React Native modules
|
|
8946
|
+
- Reasons: non-Conventional-Commits subject
|
|
8947
|
+
|
|
8948
|
+
### Manual Review Notes
|
|
8949
|
+
|
|
8950
|
+
- Commit message body summary:
|
|
8951
|
+
- Introduces stub implementations for `expo-localization`, `expo-modules-core`, and `react-native` to enable unit testing in a Node environment with Vitest. Also adds a Vitest setup file that mocks `react-native-mmkv` with an in-memory store for tests. These changes allow tests to run without requiring actual Expo or React Native dependencies.
|
|
8952
|
+
- Key file touches (first 8 of 4):
|
|
8953
|
+
- `A expo-app/sources/dev/expoLocalizationStub.ts`
|
|
8954
|
+
- `A expo-app/sources/dev/expoModulesCoreStub.ts`
|
|
8955
|
+
- `M expo-app/sources/dev/reactNativeStub.ts`
|
|
8956
|
+
- `A expo-app/sources/dev/vitestSetup.ts`
|
|
8957
|
+
|
|
8958
|
+
### Verdict
|
|
8959
|
+
|
|
8960
|
+
- Keep/squash/split/drop/reorder: keep
|
|
8961
|
+
- Coherence: good
|
|
8962
|
+
|
|
8963
|
+
### Rewrite Commit Message
|
|
8964
|
+
|
|
8965
|
+
- Suggested rewrite (single commit): `chore: add vitest stubs for expo and react native modules`
|
|
8966
|
+
|
|
8967
|
+
---
|
|
8968
|
+
|
|
8969
|
+
## 251 2026-01-25 7d60e6fc77f2 `cli`
|
|
8970
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=7d60e6fc77f2 patchFile=/tmp/leeroy-wip-pass2/251.patch patchSha256=2cb1340650b23f73dba70d5c69662a551ec2973835691614d43299576445056b patchBytes=122878 patchLines=3239 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
8971
|
+
Pass3PrPlan: finalPr=PR36 plannedAt=2026-01-25T15:57:44+0100 manualReviewedForPrPlan=yes notes=ACP agents end-to-end (runtimes + replay + tool normalization): cli(acp): support loadSession + replay capture; normalize tool events
|
|
8972
|
+
|
|
8973
|
+
- Subject: cli(acp): support loadSession + replay capture; normalize tool events
|
|
8974
|
+
- Reasons: n/a
|
|
8975
|
+
|
|
8976
|
+
### Manual Review Notes
|
|
8977
|
+
|
|
8978
|
+
- Commit message body summary:
|
|
8979
|
+
- - Adds replay history capture + import helpers and publishSlashCommands / - Normalizes ACP tool events and permission request payloads / - Adds focused tests for tool normalization + permission mapping
|
|
8980
|
+
- Key file touches (first 8 of 17):
|
|
8981
|
+
- `M cli/src/agent/acp/AcpBackend.ts`
|
|
8982
|
+
- `A cli/src/agent/acp/bridge/acpCommonHandlers.test.ts`
|
|
8983
|
+
- `A cli/src/agent/acp/bridge/acpCommonHandlers.ts`
|
|
8984
|
+
- `A cli/src/agent/acp/commands/publishSlashCommands.ts`
|
|
8985
|
+
- `A cli/src/agent/acp/history/acpReplayCapture.ts`
|
|
8986
|
+
- `A cli/src/agent/acp/history/importAcpReplayHistory.ts`
|
|
8987
|
+
- `A cli/src/agent/acp/permissions/permissionMapping.test.ts`
|
|
8988
|
+
- `A cli/src/agent/acp/permissions/permissionMapping.ts`
|
|
8989
|
+
|
|
8990
|
+
### Verdict
|
|
8991
|
+
|
|
8992
|
+
- Keep/squash/split/drop/reorder: keep
|
|
8993
|
+
- Coherence: good
|
|
8994
|
+
|
|
8995
|
+
### Rewrite Commit Message
|
|
8996
|
+
|
|
8997
|
+
- Suggested rewrite (single commit): `cli(acp): support loadSession + replay capture; normalize tool events`
|
|
8998
|
+
|
|
8999
|
+
---
|
|
9000
|
+
|
|
9001
|
+
## 252 2026-01-25 e35328ab19ad `cli`
|
|
9002
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=e35328ab19ad patchFile=/tmp/leeroy-wip-pass2/252.patch patchSha256=0fff6772b989f5b922826046aad7c8ae7032fc51a070f52a0d99aff12dbafc5a patchBytes=29266 patchLines=764 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9003
|
+
Pass3PrPlan: finalPr=PR11 plannedAt=2026-01-25T15:57:45+0100 manualReviewedForPrPlan=yes notes=Permission modes for Codex/Gemini: cli(permissions): persist per-session allowlists; harden shell approvals
|
|
9004
|
+
|
|
9005
|
+
- Subject: cli(permissions): persist per-session allowlists; harden shell approvals
|
|
9006
|
+
- Reasons: n/a
|
|
9007
|
+
|
|
9008
|
+
### Manual Review Notes
|
|
9009
|
+
|
|
9010
|
+
- Commit message body summary:
|
|
9011
|
+
- - Introduces BasePermissionHandler allowlist persistence and a shell command allowlist / - Adds tool identifier helpers to keep permission decisions consistent across agents / - Adds targeted tests for allowlist behavior and tool identifier
|
|
9012
|
+
- Key file touches (first 8 of 7):
|
|
9013
|
+
- `M cli/src/codex/utils/permissionHandler.ts`
|
|
9014
|
+
- `M cli/src/gemini/utils/permissionHandler.ts`
|
|
9015
|
+
- `A cli/src/utils/BasePermissionHandler.allowlist.test.ts`
|
|
9016
|
+
- `M cli/src/utils/BasePermissionHandler.ts`
|
|
9017
|
+
- `A cli/src/utils/permissionToolIdentifier.test.ts`
|
|
9018
|
+
- `A cli/src/utils/permissionToolIdentifier.ts`
|
|
9019
|
+
- `A cli/src/utils/shellCommandAllowlist.ts`
|
|
9020
|
+
|
|
9021
|
+
### Verdict
|
|
9022
|
+
|
|
9023
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9024
|
+
- Coherence: good
|
|
9025
|
+
|
|
9026
|
+
### Rewrite Commit Message
|
|
9027
|
+
|
|
9028
|
+
- Suggested rewrite (single commit): `cli(permissions): persist per-session allowlists; harden shell approvals`
|
|
9029
|
+
|
|
9030
|
+
---
|
|
9031
|
+
|
|
9032
|
+
## 253 2026-01-25 caf5adfe3449 `cli`
|
|
9033
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=caf5adfe3449 patchFile=/tmp/leeroy-wip-pass2/253.patch patchSha256=75ee3269317ec81ffea960c6551a5e250bb35c2fb3a9a055da0b1ccee0e0d80f patchBytes=31768 patchLines=719 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9034
|
+
Pass3PrPlan: finalPr=PR12 plannedAt=2026-01-25T15:57:45+0100 manualReviewedForPrPlan=yes notes=AskUserQuestion + ExitPlan native handling: cli(claude): support AskUserQuestion answers + ExitPlanMode negotiation
|
|
9035
|
+
|
|
9036
|
+
- Subject: cli(claude): support AskUserQuestion answers + ExitPlanMode negotiation
|
|
9037
|
+
- Reasons: n/a
|
|
9038
|
+
|
|
9039
|
+
### Manual Review Notes
|
|
9040
|
+
|
|
9041
|
+
- Commit message body summary:
|
|
9042
|
+
- - Routes AskUserQuestion responses through the permission decision path / - Implements ExitPlanMode semantics via permission handler, with regression tests / - Removes legacy prompt/interaction respond helpers no longer used
|
|
9043
|
+
- Key file touches (first 8 of 10):
|
|
9044
|
+
- `M cli/src/claude/claudeRemoteLauncher.test.ts`
|
|
9045
|
+
- `M cli/src/claude/claudeRemoteLauncher.ts`
|
|
9046
|
+
- `D cli/src/claude/sdk/prompts.ts`
|
|
9047
|
+
- `M cli/src/claude/sdk/types.ts`
|
|
9048
|
+
- `M cli/src/claude/session.ts`
|
|
9049
|
+
- `D cli/src/claude/utils/interactionRespond.test.ts`
|
|
9050
|
+
- `D cli/src/claude/utils/interactionRespond.ts`
|
|
9051
|
+
- `A cli/src/claude/utils/permissionHandler.exitPlanMode.test.ts`
|
|
9052
|
+
|
|
9053
|
+
### Verdict
|
|
9054
|
+
|
|
9055
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9056
|
+
- Coherence: good
|
|
9057
|
+
|
|
9058
|
+
### Rewrite Commit Message
|
|
9059
|
+
|
|
9060
|
+
- Suggested rewrite (single commit): `cli(claude): support AskUserQuestion answers + ExitPlanMode negotiation`
|
|
9061
|
+
|
|
9062
|
+
---
|
|
9063
|
+
|
|
9064
|
+
## 254 2026-01-25 011a3602411f `cli`
|
|
9065
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=011a3602411f patchFile=/tmp/leeroy-wip-pass2/254.patch patchSha256=80a9b6538a5f5a7556fbd11a7d54ab17d01959898cc825b4e8c87a7d7d90df27 patchBytes=76169 patchLines=1754 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9066
|
+
Pass3PrPlan: finalPr=PR13 plannedAt=2026-01-25T15:57:46+0100 manualReviewedForPrPlan=yes notes=MessageQueueV1 + Pending messages end-to-end: cli(api): observe self-broadcasts for pending-queue; add tool tracing. Split toolTrace module/tests into PR39; keep self-broadcast pending-queue wake + transcript recovery in PR13. needsSplit=yes
|
|
9067
|
+
|
|
9068
|
+
- Subject: cli(api): observe self-broadcasts for pending-queue; add tool tracing
|
|
9069
|
+
- Reasons: mixed commit; split during rewrite
|
|
9070
|
+
|
|
9071
|
+
### Manual Review Notes
|
|
9072
|
+
|
|
9073
|
+
- Commit message body summary:
|
|
9074
|
+
- - Treats self-broadcasts as pending-queue signals to improve UI reliability / - Adds transcript recovery behavior in apiSession / - Introduces JSONL tool tracing (writer + unit tests)
|
|
9075
|
+
- Key file touches (first 8 of 6):
|
|
9076
|
+
- `M cli/src/api/apiSession.test.ts`
|
|
9077
|
+
- `M cli/src/api/apiSession.ts`
|
|
9078
|
+
- `A cli/src/toolTrace/toolTrace.test.ts`
|
|
9079
|
+
- `A cli/src/toolTrace/toolTrace.ts`
|
|
9080
|
+
- `M cli/src/utils/MessageQueue2.ts`
|
|
9081
|
+
- `M cli/src/utils/waitForMessagesOrPending.ts`
|
|
9082
|
+
- Split guidance: Split toolTrace module/tests into PR39; keep self-broadcast pending-queue wake + transcript recovery in PR13.
|
|
9083
|
+
|
|
9084
|
+
### Verdict
|
|
9085
|
+
|
|
9086
|
+
- Keep/squash/split/drop/reorder: keep (split during rewrite)
|
|
9087
|
+
- Coherence: mixed
|
|
9088
|
+
|
|
9089
|
+
### Rewrite Commit Message
|
|
9090
|
+
|
|
9091
|
+
- Suggested rewrite (single commit): `cli(api): observe self-broadcasts for pending-queue; add tool tracing`
|
|
9092
|
+
|
|
9093
|
+
---
|
|
9094
|
+
|
|
9095
|
+
## 255 2026-01-25 809d2bb385e0 `cli`
|
|
9096
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=809d2bb385e0 patchFile=/tmp/leeroy-wip-pass2/255.patch patchSha256=205b6562ec9cfac83d0604d4f09dbf2dd062530c3c437559e9c3fd8466dbe2c5 patchBytes=8781 patchLines=243 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9097
|
+
Pass3PrPlan: finalPr=PR39 plannedAt=2026-01-25T15:57:46+0100 manualReviewedForPrPlan=yes notes=Tool UX: normalization + specialized views + tracing: cli(tool-trace): add fixture extraction + CLI script
|
|
9098
|
+
|
|
9099
|
+
- Subject: cli(tool-trace): add fixture extraction + CLI script
|
|
9100
|
+
- Reasons: n/a
|
|
9101
|
+
|
|
9102
|
+
### Manual Review Notes
|
|
9103
|
+
|
|
9104
|
+
- Commit message body summary:
|
|
9105
|
+
- - Adds a small JSONL -> fixtures extractor (with truncation/sanitization) / - Adds a tsx script and npm script for local fixture generation
|
|
9106
|
+
- Key file touches (first 8 of 4):
|
|
9107
|
+
- `M cli/package.json`
|
|
9108
|
+
- `A cli/scripts/tool-trace-extract.ts`
|
|
9109
|
+
- `A cli/src/toolTrace/extractToolTraceFixtures.test.ts`
|
|
9110
|
+
- `A cli/src/toolTrace/extractToolTraceFixtures.ts`
|
|
9111
|
+
|
|
9112
|
+
### Verdict
|
|
9113
|
+
|
|
9114
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9115
|
+
- Coherence: good
|
|
9116
|
+
|
|
9117
|
+
### Rewrite Commit Message
|
|
9118
|
+
|
|
9119
|
+
- Suggested rewrite (single commit): `cli(tool-trace): add fixture extraction + CLI script`
|
|
9120
|
+
|
|
9121
|
+
---
|
|
9122
|
+
|
|
9123
|
+
## 256 2026-01-25 553781556305 `cli`
|
|
9124
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=553781556305 patchFile=/tmp/leeroy-wip-pass2/256.patch patchSha256=86755d55cbdd4c5b623b6052a86961e87e0980957f99fc18e4dd9092494bcc07 patchBytes=5542 patchLines=139 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9125
|
+
Pass3PrPlan: finalPr=PR04 plannedAt=2026-01-25T15:57:47+0100 manualReviewedForPrPlan=yes notes=Auth + storage scoping: cli(auth): add --no-open to skip browser open
|
|
9126
|
+
|
|
9127
|
+
- Subject: cli(auth): add --no-open to skip browser open
|
|
9128
|
+
- Reasons: n/a
|
|
9129
|
+
|
|
9130
|
+
### Manual Review Notes
|
|
9131
|
+
|
|
9132
|
+
- Commit message body summary:
|
|
9133
|
+
- - Adds --no-open (and compat aliases) to happy auth login / - Threads HAPPY_NO_BROWSER_OPEN through auth UI and openBrowser / - Adds a unit test to ensure browser open is skipped when the env is set
|
|
9134
|
+
- Key file touches (first 8 of 4):
|
|
9135
|
+
- `M cli/src/commands/auth.ts`
|
|
9136
|
+
- `M cli/src/ui/auth.ts`
|
|
9137
|
+
- `A cli/src/utils/browser.test.ts`
|
|
9138
|
+
- `M cli/src/utils/browser.ts`
|
|
9139
|
+
|
|
9140
|
+
### Verdict
|
|
9141
|
+
|
|
9142
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9143
|
+
- Coherence: good
|
|
9144
|
+
|
|
9145
|
+
### Rewrite Commit Message
|
|
9146
|
+
|
|
9147
|
+
- Suggested rewrite (single commit): `cli(auth): add --no-open to skip browser open`
|
|
9148
|
+
|
|
9149
|
+
---
|
|
9150
|
+
|
|
9151
|
+
## 257 2026-01-25 5955ea5c21a3 `cli`
|
|
9152
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=5955ea5c21a3 patchFile=/tmp/leeroy-wip-pass2/257.patch patchSha256=5c3d15dd412c57a024ef1d3a518de8cb013dfb7581e3bd8b86b4eef0f1564c8a patchBytes=91512 patchLines=2195 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9153
|
+
Pass3PrPlan: finalPr=PR16 plannedAt=2026-01-25T15:57:47+0100 manualReviewedForPrPlan=yes notes=Daemon reliability (ownership + reattach/restart safety): cli(daemon): idempotent resume + attach files + shutdown policy
|
|
9154
|
+
|
|
9155
|
+
- Subject: cli(daemon): idempotent resume + attach files + shutdown policy
|
|
9156
|
+
- Reasons: n/a
|
|
9157
|
+
|
|
9158
|
+
### Manual Review Notes
|
|
9159
|
+
|
|
9160
|
+
- Commit message body summary:
|
|
9161
|
+
- - Ensures resume requests are idempotent (avoid duplicate processes) / - Adds session attach files and startup metadata merge/update helpers / - Adds shutdown watchdog policy and a non-interactive auth gating regression test
|
|
9162
|
+
- Key file touches (first 8 of 22):
|
|
9163
|
+
- `M cli/src/api/apiMachine.spawnSession.test.ts`
|
|
9164
|
+
- `M cli/src/api/apiMachine.ts`
|
|
9165
|
+
- `M cli/src/claude/runClaude.ts`
|
|
9166
|
+
- `A cli/src/daemon/findRunningTrackedSessionById.test.ts`
|
|
9167
|
+
- `A cli/src/daemon/findRunningTrackedSessionById.ts`
|
|
9168
|
+
- `D cli/src/daemon/persistedHappySession.ts`
|
|
9169
|
+
- `A cli/src/daemon/run.noninteractiveAuth.test.ts`
|
|
9170
|
+
- `M cli/src/daemon/run.ts`
|
|
9171
|
+
|
|
9172
|
+
### Verdict
|
|
9173
|
+
|
|
9174
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9175
|
+
- Coherence: good
|
|
9176
|
+
|
|
9177
|
+
### Rewrite Commit Message
|
|
9178
|
+
|
|
9179
|
+
- Suggested rewrite (single commit): `cli(daemon): idempotent resume + attach files + shutdown policy`
|
|
9180
|
+
|
|
9181
|
+
---
|
|
9182
|
+
|
|
9183
|
+
## 258 2026-01-25 cce05b18a5d7 `cli`
|
|
9184
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=cce05b18a5d7 patchFile=/tmp/leeroy-wip-pass2/258.patch patchSha256=253db5316b529fce87dfa866b4c91899c6d21c41304d3429aad6939f44095d5a patchBytes=3183 patchLines=78 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9185
|
+
Pass3PrPlan: finalPr=PR36 plannedAt=2026-01-25T15:57:48+0100 manualReviewedForPrPlan=yes notes=ACP agents end-to-end (runtimes + replay + tool normalization): cli(agents): wire ACP agents into factory/transport registry
|
|
9186
|
+
|
|
9187
|
+
- Subject: cli(agents): wire ACP agents into factory/transport registry
|
|
9188
|
+
- Reasons: n/a
|
|
9189
|
+
|
|
9190
|
+
### Manual Review Notes
|
|
9191
|
+
|
|
9192
|
+
- Commit message body summary:
|
|
9193
|
+
- - Exposes Codex ACP + OpenCode factories from the agent factory index / - Registers OpenCode agent during initializeAgents / - Exports OpenCode transport from the transport handler registry
|
|
9194
|
+
- Key file touches (first 8 of 4):
|
|
9195
|
+
- `M cli/src/agent/factories/index.ts`
|
|
9196
|
+
- `M cli/src/agent/index.ts`
|
|
9197
|
+
- `M cli/src/agent/transport/handlers/index.ts`
|
|
9198
|
+
- `M cli/src/agent/transport/index.ts`
|
|
9199
|
+
|
|
9200
|
+
### Verdict
|
|
9201
|
+
|
|
9202
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9203
|
+
- Coherence: good
|
|
9204
|
+
|
|
9205
|
+
### Rewrite Commit Message
|
|
9206
|
+
|
|
9207
|
+
- Suggested rewrite (single commit): `cli(agents): wire ACP agents into factory/transport registry`
|
|
9208
|
+
|
|
9209
|
+
---
|
|
9210
|
+
|
|
9211
|
+
## 259 2026-01-25 27bb2523f690 `cli`
|
|
9212
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=27bb2523f690 patchFile=/tmp/leeroy-wip-pass2/259.patch patchSha256=827891b5b40429736503fc841da9ece678904d11272f6dcc29f59280e6cf0382 patchBytes=48493 patchLines=1352 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9213
|
+
Pass3PrPlan: finalPr=PR36 plannedAt=2026-01-25T15:57:48+0100 manualReviewedForPrPlan=yes notes=ACP agents end-to-end (runtimes + replay + tool normalization): cli(opencode): add OpenCode ACP agent runtime
|
|
9214
|
+
|
|
9215
|
+
- Subject: cli(opencode): add OpenCode ACP agent runtime
|
|
9216
|
+
- Reasons: n/a
|
|
9217
|
+
|
|
9218
|
+
### Manual Review Notes
|
|
9219
|
+
|
|
9220
|
+
- Commit message body summary:
|
|
9221
|
+
- - Adds OpenCode ACP runtime and transport handler / - Adds permission handler + session id helpers for OpenCode / - Includes focused unit tests for transport and OpenCode helpers
|
|
9222
|
+
- Key file touches (first 8 of 11):
|
|
9223
|
+
- `A cli/src/agent/factories/opencode.ts`
|
|
9224
|
+
- `A cli/src/agent/transport/handlers/OpenCodeTransport.test.ts`
|
|
9225
|
+
- `A cli/src/agent/transport/handlers/OpenCodeTransport.ts`
|
|
9226
|
+
- `A cli/src/opencode/acp/openCodeAcpRuntime.ts`
|
|
9227
|
+
- `A cli/src/opencode/runOpenCode.ts`
|
|
9228
|
+
- `A cli/src/opencode/utils/opencodeSessionIdMetadata.test.ts`
|
|
9229
|
+
- `A cli/src/opencode/utils/opencodeSessionIdMetadata.ts`
|
|
9230
|
+
- `A cli/src/opencode/utils/permissionHandler.test.ts`
|
|
9231
|
+
|
|
9232
|
+
### Verdict
|
|
9233
|
+
|
|
9234
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9235
|
+
- Coherence: good
|
|
9236
|
+
|
|
9237
|
+
### Rewrite Commit Message
|
|
9238
|
+
|
|
9239
|
+
- Suggested rewrite (single commit): `cli(opencode): add OpenCode ACP agent runtime`
|
|
9240
|
+
|
|
9241
|
+
---
|
|
9242
|
+
|
|
9243
|
+
## 260 2026-01-25 abe1cf8ed370 `cli`
|
|
9244
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=abe1cf8ed370 patchFile=/tmp/leeroy-wip-pass2/260.patch patchSha256=17865656ad84c9bb6b919925b2daafa1a5242142290e6d5534b721da4bf7ab6b patchBytes=114517 patchLines=2680 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9245
|
+
Pass3PrPlan: finalPr=PR36 plannedAt=2026-01-25T15:57:49+0100 manualReviewedForPrPlan=yes notes=ACP agents end-to-end (runtimes + replay + tool normalization): cli(codex-acp): add runtime + capability gating. May split generic capabilities checklist wiring into PR14; keep Codex ACP runtime + session-id helpers in PR36. needsSplit=yes
|
|
9246
|
+
|
|
9247
|
+
- Subject: cli(codex-acp): add runtime + capability gating
|
|
9248
|
+
- Reasons: mixed commit; split during rewrite
|
|
9249
|
+
|
|
9250
|
+
### Manual Review Notes
|
|
9251
|
+
|
|
9252
|
+
- Commit message body summary:
|
|
9253
|
+
- - Adds Codex ACP runtime + command resolution and session-id helpers / - Extends capabilities framework for ACP probing and Codex ACP dependency checks / - Updates API/metadata types to cover ACP session ids and capability flags
|
|
9254
|
+
- Key file touches (first 8 of 24):
|
|
9255
|
+
- `A cli/src/agent/factories/codexAcp.ts`
|
|
9256
|
+
- `M cli/src/api/types.ts`
|
|
9257
|
+
- `A cli/src/codex/acp/codexAcpRuntime.ts`
|
|
9258
|
+
- `A cli/src/codex/acp/resolveCodexAcpCommand.ts`
|
|
9259
|
+
- `M cli/src/codex/codexMcpClient.ts`
|
|
9260
|
+
- `M cli/src/codex/runCodex.ts`
|
|
9261
|
+
- `M cli/src/codex/types.ts`
|
|
9262
|
+
- `A cli/src/codex/utils/codexSessionIdMetadata.test.ts`
|
|
9263
|
+
- Split guidance: May split generic capabilities checklist wiring into PR14; keep Codex ACP runtime + session-id helpers in PR36.
|
|
9264
|
+
|
|
9265
|
+
### Verdict
|
|
9266
|
+
|
|
9267
|
+
- Keep/squash/split/drop/reorder: keep (split during rewrite)
|
|
9268
|
+
- Coherence: mixed
|
|
9269
|
+
|
|
9270
|
+
### Rewrite Commit Message
|
|
9271
|
+
|
|
9272
|
+
- Suggested rewrite (single commit): `cli(codex-acp): add runtime + capability gating`
|
|
9273
|
+
|
|
9274
|
+
---
|
|
9275
|
+
|
|
9276
|
+
## 261 2026-01-25 d9100a80112b `cli`
|
|
9277
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=d9100a80112b patchFile=/tmp/leeroy-wip-pass2/261.patch patchSha256=23b17783030d08b2852adf0b0af4cfb84a5c2724854c9a3157a74f921230ecfb patchBytes=16297 patchLines=342 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9278
|
+
Pass3PrPlan: finalPr=PR36 plannedAt=2026-01-25T15:57:49+0100 manualReviewedForPrPlan=yes notes=ACP agents end-to-end (runtimes + replay + tool normalization): cli(entry): refactor agent subcommands and startup flags
|
|
9279
|
+
|
|
9280
|
+
- Subject: cli(entry): refactor agent subcommands and startup flags
|
|
9281
|
+
- Reasons: n/a
|
|
9282
|
+
|
|
9283
|
+
### Manual Review Notes
|
|
9284
|
+
|
|
9285
|
+
- Commit message body summary:
|
|
9286
|
+
- - Adds --permission-mode-updated-at parsing (for consistent session metadata) / - Adds opencode command wiring and aligns codex/gemini argument parsing / - Removes the legacy resume subcommand in favor of existing-session/resume flags
|
|
9287
|
+
- Key file touches (first 8 of 1):
|
|
9288
|
+
- `M cli/src/index.ts`
|
|
9289
|
+
|
|
9290
|
+
### Verdict
|
|
9291
|
+
|
|
9292
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9293
|
+
- Coherence: good
|
|
9294
|
+
|
|
9295
|
+
### Rewrite Commit Message
|
|
9296
|
+
|
|
9297
|
+
- Suggested rewrite (single commit): `cli(entry): refactor agent subcommands and startup flags`
|
|
9298
|
+
|
|
9299
|
+
---
|
|
9300
|
+
|
|
9301
|
+
## 262 2026-01-25 2edc5305ca3f `expo-app`
|
|
9302
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=2edc5305ca3f patchFile=/tmp/leeroy-wip-pass2/262.patch patchSha256=67ef926911223e5350fb39b7ee569bf6cb08979a4314a56cea74d55be5f2c583 patchBytes=9600 patchLines=226 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9303
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T15:57:49+0100 manualReviewedForPrPlan=yes notes=Foundations / DevX: expo-app(test): harden vitest stubs + unistyles typing
|
|
9304
|
+
|
|
9305
|
+
- Subject: expo-app(test): harden vitest stubs + unistyles typing
|
|
9306
|
+
- Reasons: n/a
|
|
9307
|
+
|
|
9308
|
+
### Manual Review Notes
|
|
9309
|
+
|
|
9310
|
+
- Commit message body summary:
|
|
9311
|
+
- - Updates vitest config aliases/setup to improve node-test reliability / - Improves unistyles typing/bootstrap and normalizes formatting / - Adds RootLayout hook-order regression test and removes the old layout test location
|
|
9312
|
+
- Key file touches (first 8 of 6):
|
|
9313
|
+
- `M expo-app/index.ts`
|
|
9314
|
+
- `R097 expo-app/sources/app/(app)/_layout.test.ts expo-app/sources/__tests__/app/_layout.test.ts`
|
|
9315
|
+
- `M expo-app/sources/dev/expoModulesCoreStub.ts`
|
|
9316
|
+
- `M expo-app/sources/dev/reactNativeStub.ts`
|
|
9317
|
+
- `M expo-app/sources/unistyles.ts`
|
|
9318
|
+
- `M expo-app/vitest.config.ts`
|
|
9319
|
+
|
|
9320
|
+
### Verdict
|
|
9321
|
+
|
|
9322
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9323
|
+
- Coherence: good
|
|
9324
|
+
|
|
9325
|
+
### Rewrite Commit Message
|
|
9326
|
+
|
|
9327
|
+
- Suggested rewrite (single commit): `expo-app(test): harden vitest stubs + unistyles typing`
|
|
9328
|
+
|
|
9329
|
+
---
|
|
9330
|
+
|
|
9331
|
+
## 263 2026-01-25 5575d7267cd0 `expo-app`
|
|
9332
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=5575d7267cd0 patchFile=/tmp/leeroy-wip-pass2/263.patch patchSha256=b0ad62a641044f3216a5e951e625030f79738a2f538ae2b2dc8bb315cf37d5ab patchBytes=47248 patchLines=979 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9333
|
+
Pass3PrPlan: finalPr=PR39 plannedAt=2026-01-25T15:57:50+0100 manualReviewedForPrPlan=yes notes=Tool UX: normalization + specialized views + tracing: expo-app(tools): normalize tool inference + rendering inputs
|
|
9334
|
+
|
|
9335
|
+
- Subject: expo-app(tools): normalize tool inference + rendering inputs
|
|
9336
|
+
- Reasons: n/a
|
|
9337
|
+
|
|
9338
|
+
### Manual Review Notes
|
|
9339
|
+
|
|
9340
|
+
- Commit message body summary:
|
|
9341
|
+
- - Adds shared tool-call normalization and parsing helpers / - Improves tool name inference and permission summaries / - Updates ToolView/ToolFullView to rely on normalized shapes
|
|
9342
|
+
- Key file touches (first 8 of 10):
|
|
9343
|
+
- `M expo-app/sources/components/tools/ToolFullView.tsx`
|
|
9344
|
+
- `M expo-app/sources/components/tools/ToolView.tsx`
|
|
9345
|
+
- `M expo-app/sources/components/tools/knownTools.tsx`
|
|
9346
|
+
- `A expo-app/sources/components/tools/utils/normalizeToolCallForRendering.ts`
|
|
9347
|
+
- `A expo-app/sources/components/tools/utils/parseJson.ts`
|
|
9348
|
+
- `A expo-app/sources/components/tools/utils/parseParenIdentifier.ts`
|
|
9349
|
+
- `A expo-app/sources/components/tools/utils/permissionSummary.ts`
|
|
9350
|
+
- `A expo-app/sources/components/tools/utils/shellCommand.ts`
|
|
9351
|
+
|
|
9352
|
+
### Verdict
|
|
9353
|
+
|
|
9354
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9355
|
+
- Coherence: good
|
|
9356
|
+
|
|
9357
|
+
### Rewrite Commit Message
|
|
9358
|
+
|
|
9359
|
+
- Suggested rewrite (single commit): `expo-app(tools): normalize tool inference + rendering inputs`
|
|
9360
|
+
|
|
9361
|
+
---
|
|
9362
|
+
|
|
9363
|
+
## 264 2026-01-25 d115797fcdde `expo-app`
|
|
9364
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=d115797fcdde patchFile=/tmp/leeroy-wip-pass2/264.patch patchSha256=a7292bb65cb18806924e11366e0e9bc9ef8debdd82f08ed6d269ff9925907ed7 patchBytes=177544 patchLines=4529 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9365
|
+
Pass3PrPlan: finalPr=PR39 plannedAt=2026-01-25T15:57:50+0100 manualReviewedForPrPlan=yes notes=Tool UX: normalization + specialized views + tracing: expo-app(tools): add specialized tool views + tests
|
|
9366
|
+
|
|
9367
|
+
- Subject: expo-app(tools): add specialized tool views + tests
|
|
9368
|
+
- Reasons: n/a
|
|
9369
|
+
|
|
9370
|
+
### Manual Review Notes
|
|
9371
|
+
|
|
9372
|
+
- Commit message body summary:
|
|
9373
|
+
- - Adds dedicated views for common tools (bash/read/grep/glob/web) and structured results / - Improves permission UI flows (pending/abort/decision) and adds regression tests / - Expands tool rendering test coverage for inference and fallback behavior
|
|
9374
|
+
- Key file touches (first 8 of 40):
|
|
9375
|
+
- `A expo-app/sources/components/tools/PermissionFooter.codexDecision.test.tsx`
|
|
9376
|
+
- `A expo-app/sources/components/tools/PermissionFooter.stopAbortsRun.test.tsx`
|
|
9377
|
+
- `M expo-app/sources/components/tools/PermissionFooter.tsx`
|
|
9378
|
+
- `A expo-app/sources/components/tools/ToolFullView.inference.test.ts`
|
|
9379
|
+
- `A expo-app/sources/components/tools/ToolFullView.permissionPending.test.tsx`
|
|
9380
|
+
- `A expo-app/sources/components/tools/ToolView.acpKindFallback.test.tsx`
|
|
9381
|
+
- `A expo-app/sources/components/tools/ToolView.exitPlanMode.test.ts`
|
|
9382
|
+
- `A expo-app/sources/components/tools/ToolView.minimalSpecificView.test.ts`
|
|
9383
|
+
|
|
9384
|
+
### Verdict
|
|
9385
|
+
|
|
9386
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9387
|
+
- Coherence: good
|
|
9388
|
+
|
|
9389
|
+
### Rewrite Commit Message
|
|
9390
|
+
|
|
9391
|
+
- Suggested rewrite (single commit): `expo-app(tools): add specialized tool views + tests`
|
|
9392
|
+
|
|
9393
|
+
---
|
|
9394
|
+
|
|
9395
|
+
## 265 2026-01-25 23014814ea50 `expo-app`
|
|
9396
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=23014814ea50 patchFile=/tmp/leeroy-wip-pass2/265.patch patchSha256=ac9a64fe8faa1da51349bb7c7691b6ae97b4ac5f09ea07378eb139def291c430 patchBytes=62254 patchLines=1638 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9397
|
+
Pass3PrPlan: finalPr=PR37 plannedAt=2026-01-25T15:57:51+0100 manualReviewedForPrPlan=yes notes=Agent registry end-to-end (selection + settings + UX helpers): expo-app(agents): introduce agent registry + UI behavior helpers
|
|
9398
|
+
|
|
9399
|
+
- Subject: expo-app(agents): introduce agent registry + UI behavior helpers
|
|
9400
|
+
- Reasons: n/a
|
|
9401
|
+
|
|
9402
|
+
### Manual Review Notes
|
|
9403
|
+
|
|
9404
|
+
- Commit message body summary:
|
|
9405
|
+
- - Adds a typed agent registry (core + UI helpers) / - Centralizes enabled-agent logic, CLI warnings, and resume capability option derivation / - Includes tests for registry behavior and picker options
|
|
9406
|
+
- Key file touches (first 8 of 17):
|
|
9407
|
+
- `A expo-app/sources/agents/acpRuntimeResume.ts`
|
|
9408
|
+
- `A expo-app/sources/agents/agentPickerOptions.test.ts`
|
|
9409
|
+
- `A expo-app/sources/agents/agentPickerOptions.ts`
|
|
9410
|
+
- `A expo-app/sources/agents/cliWarnings.test.ts`
|
|
9411
|
+
- `A expo-app/sources/agents/cliWarnings.ts`
|
|
9412
|
+
- `A expo-app/sources/agents/enabled.test.ts`
|
|
9413
|
+
- `A expo-app/sources/agents/enabled.ts`
|
|
9414
|
+
- `A expo-app/sources/agents/permissionUiCopy.ts`
|
|
9415
|
+
|
|
9416
|
+
### Verdict
|
|
9417
|
+
|
|
9418
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9419
|
+
- Coherence: good
|
|
9420
|
+
|
|
9421
|
+
### Rewrite Commit Message
|
|
9422
|
+
|
|
9423
|
+
- Suggested rewrite (single commit): `expo-app(agents): introduce agent registry + UI behavior helpers`
|
|
9424
|
+
|
|
9425
|
+
---
|
|
9426
|
+
|
|
9427
|
+
## 266 2026-01-25 b142327f5e32 `expo-app`
|
|
9428
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=b142327f5e32 patchFile=/tmp/leeroy-wip-pass2/266.patch patchSha256=f1795763d5268ba3987a045072dad6bc553e45a7f3946e68e6c2ed715de6e5ac patchBytes=251895 patchLines=5615 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9429
|
+
Pass3PrPlan: finalPr=PR14 plannedAt=2026-01-25T15:57:51+0100 manualReviewedForPrPlan=yes notes=Capabilities end-to-end (protocol + wiring + reliability): expo-app(sync): capabilities protocol + resume/pending-queue plumbing. Very mixed (capabilities protocol + pending queue + resume + model options + permission defaults + profiles). Split during rewrite by feature PRs; keep core capabilities protocol + installable deps registry in PR14. needsSplit=yes
|
|
9430
|
+
|
|
9431
|
+
- Subject: expo-app(sync): capabilities protocol + resume/pending-queue plumbing
|
|
9432
|
+
- Reasons: mixed commit; split during rewrite
|
|
9433
|
+
|
|
9434
|
+
### Manual Review Notes
|
|
9435
|
+
|
|
9436
|
+
- Commit message body summary:
|
|
9437
|
+
- - Adds installable dependency registry and machine capability request protocol / - Extends sync reducer/storage/types to support pending-queue + resume flows / - Adds tests for capabilities parsing, permission defaults, and resume/pending logic
|
|
9438
|
+
- Key file touches (first 8 of 59):
|
|
9439
|
+
- `A expo-app/sources/capabilities/codexAcpDep.test.ts`
|
|
9440
|
+
- `A expo-app/sources/capabilities/codexAcpDep.ts`
|
|
9441
|
+
- `A expo-app/sources/capabilities/codexMcpResume.test.ts`
|
|
9442
|
+
- `A expo-app/sources/capabilities/codexMcpResume.ts`
|
|
9443
|
+
- `A expo-app/sources/capabilities/installableDepsRegistry.test.ts`
|
|
9444
|
+
- `A expo-app/sources/capabilities/installableDepsRegistry.ts`
|
|
9445
|
+
- `A expo-app/sources/capabilities/requests.ts`
|
|
9446
|
+
- `M expo-app/sources/hooks/useMachineCapabilitiesCache.hook.test.ts`
|
|
9447
|
+
- Split guidance: Very mixed (capabilities protocol + pending queue + resume + model options + permission defaults + profiles). Split during rewrite by feature PRs; keep core capabilities protocol + installable deps registry in PR14.
|
|
9448
|
+
|
|
9449
|
+
### Verdict
|
|
9450
|
+
|
|
9451
|
+
- Keep/squash/split/drop/reorder: keep (split during rewrite)
|
|
9452
|
+
- Coherence: mixed
|
|
9453
|
+
|
|
9454
|
+
### Rewrite Commit Message
|
|
9455
|
+
|
|
9456
|
+
- Suggested rewrite (single commit): `expo-app(sync): capabilities protocol + resume/pending-queue plumbing`
|
|
9457
|
+
|
|
9458
|
+
---
|
|
9459
|
+
|
|
9460
|
+
## 267 2026-01-25 552f517e9823 `expo-app`
|
|
9461
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=552f517e9823 patchFile=/tmp/leeroy-wip-pass2/267.patch patchSha256=77f286f96e79fefe976402b01c0cba9597da73e77150f45af4d1af4511f2f0fb patchBytes=31418 patchLines=783 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9462
|
+
Pass3PrPlan: finalPr=PR09 plannedAt=2026-01-25T15:57:51+0100 manualReviewedForPrPlan=yes notes=Secrets / vault feature: expo-app(ui): add InlineAddExpander; inline add for secrets/env vars. Touches both SecretsList and EnvironmentVariablesList; split env-vars inline-add pieces into PR07 and keep secrets inline-add pieces in PR09. needsSplit=yes
|
|
9463
|
+
|
|
9464
|
+
- Subject: expo-app(ui): add InlineAddExpander; inline add for secrets/env vars
|
|
9465
|
+
- Reasons: mixed commit; split during rewrite
|
|
9466
|
+
|
|
9467
|
+
### Manual Review Notes
|
|
9468
|
+
|
|
9469
|
+
- Commit message body summary:
|
|
9470
|
+
- - Introduces a reusable inline expander with Cancel/Save actions / - Refactors EnvironmentVariablesList and SecretsList to add items inline (no modal) / - Adds tests covering the new inline add flows
|
|
9471
|
+
- Key file touches (first 8 of 5):
|
|
9472
|
+
- `M expo-app/sources/components/EnvironmentVariablesList.test.ts`
|
|
9473
|
+
- `M expo-app/sources/components/EnvironmentVariablesList.tsx`
|
|
9474
|
+
- `A expo-app/sources/components/InlineAddExpander.tsx`
|
|
9475
|
+
- `A expo-app/sources/components/secrets/SecretsList.test.ts`
|
|
9476
|
+
- `M expo-app/sources/components/secrets/SecretsList.tsx`
|
|
9477
|
+
- Split guidance: Touches both SecretsList and EnvironmentVariablesList; split env-vars inline-add pieces into PR07 and keep secrets inline-add pieces in PR09.
|
|
9478
|
+
|
|
9479
|
+
### Verdict
|
|
9480
|
+
|
|
9481
|
+
- Keep/squash/split/drop/reorder: keep (split during rewrite)
|
|
9482
|
+
- Coherence: mixed
|
|
9483
|
+
|
|
9484
|
+
### Rewrite Commit Message
|
|
9485
|
+
|
|
9486
|
+
- Suggested rewrite (single commit): `expo-app(ui): add InlineAddExpander; inline add for secrets/env vars`
|
|
9487
|
+
|
|
9488
|
+
---
|
|
9489
|
+
|
|
9490
|
+
## 268 2026-01-25 cbaf39a63c60 `expo-app`
|
|
9491
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=cbaf39a63c60 patchFile=/tmp/leeroy-wip-pass2/268.patch patchSha256=bc170479691be614d53ed00e27711c0f589f246de7fdacea72e4d94695929645 patchBytes=109523 patchLines=2112 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9492
|
+
Pass3PrPlan: finalPr=PR26 plannedAt=2026-01-25T15:57:52+0100 manualReviewedForPrPlan=yes notes=New session wizard end-to-end: expo-app(secret-requirement): add picker route + modularized modal
|
|
9493
|
+
|
|
9494
|
+
- Subject: expo-app(secret-requirement): add picker route + modularized modal
|
|
9495
|
+
- Reasons: n/a
|
|
9496
|
+
|
|
9497
|
+
### Manual Review Notes
|
|
9498
|
+
|
|
9499
|
+
- Commit message body summary:
|
|
9500
|
+
- - Extracts SecretRequirementModal into a focused module and adds a full-screen picker route / - Adds pure helpers for applying results and gating auto-prompt behavior (with tests) / - Adjusts /new modal presentation + web CSS sizing to avoid hidden/stacked screens
|
|
9501
|
+
- Key file touches (first 8 of 10):
|
|
9502
|
+
- `M expo-app/sources/app/(app)/_layout.tsx`
|
|
9503
|
+
- `A expo-app/sources/app/(app)/new/pick/secret-requirement.tsx`
|
|
9504
|
+
- `M expo-app/sources/components/SecretRequirementModal.tsx`
|
|
9505
|
+
- `A expo-app/sources/components/secretRequirement/SecretRequirementModal.tsx`
|
|
9506
|
+
- `A expo-app/sources/components/secretRequirement/SecretRequirementScreen.tsx`
|
|
9507
|
+
- `M expo-app/sources/theme.css`
|
|
9508
|
+
- `A expo-app/sources/utils/secretRequirementApply.test.ts`
|
|
9509
|
+
- `A expo-app/sources/utils/secretRequirementApply.ts`
|
|
9510
|
+
|
|
9511
|
+
### Verdict
|
|
9512
|
+
|
|
9513
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9514
|
+
- Coherence: good
|
|
9515
|
+
|
|
9516
|
+
### Rewrite Commit Message
|
|
9517
|
+
|
|
9518
|
+
- Suggested rewrite (single commit): `expo-app(secret-requirement): add picker route + modularized modal`
|
|
9519
|
+
|
|
9520
|
+
---
|
|
9521
|
+
|
|
9522
|
+
## 269 2026-01-25 36641d906490 `expo-app`
|
|
9523
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=36641d906490 patchFile=/tmp/leeroy-wip-pass2/269.patch patchSha256=b0225890ae33d32f4303a295855101b36b38646c8c648b03f29a5fdb4973e519 patchBytes=254136 patchLines=5113 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9524
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T15:57:52+0100 manualReviewedForPrPlan=yes notes=Resume end-to-end: expo-app(session): capability-gated resume flows + pending queue UX. Mixed resume UX + pending queue UI + capabilities gating + new-session changes; split by PR19/PR13/PR14/PR26 during rewrite. needsSplit=yes
|
|
9525
|
+
|
|
9526
|
+
- Subject: expo-app(session): capability-gated resume flows + pending queue UX
|
|
9527
|
+
- Reasons: mixed commit; split during rewrite
|
|
9528
|
+
|
|
9529
|
+
### Manual Review Notes
|
|
9530
|
+
|
|
9531
|
+
- Commit message body summary:
|
|
9532
|
+
- - Wires agent registry + machine capabilities into new-session and session resume flows / - Adds pending message rendering and session notices for inactive/offline states / - Adds supporting UI components/tests for CLI detection and capability preflight
|
|
9533
|
+
- Key file touches (first 8 of 33):
|
|
9534
|
+
- `M expo-app/sources/-session/SessionView.tsx`
|
|
9535
|
+
- `A expo-app/sources/-session/sessionResumeUi.test.ts`
|
|
9536
|
+
- `A expo-app/sources/-session/sessionResumeUi.ts`
|
|
9537
|
+
- `A expo-app/sources/__tests__/app/machine/machineDetails.capabilitiesRequestStability.test.ts`
|
|
9538
|
+
- `M expo-app/sources/app/(app)/machine/[id].tsx`
|
|
9539
|
+
- `M expo-app/sources/app/(app)/new/NewSessionWizard.tsx`
|
|
9540
|
+
- `M expo-app/sources/app/(app)/new/index.tsx`
|
|
9541
|
+
- `M expo-app/sources/app/(app)/new/pick/machine.tsx`
|
|
9542
|
+
- Split guidance: Mixed resume UX + pending queue UI + capabilities gating + new-session changes; split by PR19/PR13/PR14/PR26 during rewrite.
|
|
9543
|
+
|
|
9544
|
+
### Verdict
|
|
9545
|
+
|
|
9546
|
+
- Keep/squash/split/drop/reorder: keep (split during rewrite)
|
|
9547
|
+
- Coherence: mixed
|
|
9548
|
+
|
|
9549
|
+
### Rewrite Commit Message
|
|
9550
|
+
|
|
9551
|
+
- Suggested rewrite (single commit): `expo-app(session): capability-gated resume flows + pending queue UX`
|
|
9552
|
+
|
|
9553
|
+
---
|
|
9554
|
+
|
|
9555
|
+
## 270 2026-01-25 9a9d439e5499 `expo-app`
|
|
9556
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=9a9d439e5499 patchFile=/tmp/leeroy-wip-pass2/270.patch patchSha256=1d4a36ef73b6a702d1638e74f6bfb6d3884b849a8ee19b6d980e656b793aa457 patchBytes=11462 patchLines=200 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9557
|
+
Pass3PrPlan: finalPr=PR37 plannedAt=2026-01-25T15:57:53+0100 manualReviewedForPrPlan=yes notes=Agent registry end-to-end (selection + settings + UX helpers): expo-app(settings): wire agent registry into settings
|
|
9558
|
+
|
|
9559
|
+
- Subject: expo-app(settings): wire agent registry into settings
|
|
9560
|
+
- Reasons: n/a
|
|
9561
|
+
|
|
9562
|
+
### Manual Review Notes
|
|
9563
|
+
|
|
9564
|
+
- Commit message body summary:
|
|
9565
|
+
- - Updates settings screens to reflect agent registry defaults and available agents / - Keeps session/account settings aligned with new permission/default behavior
|
|
9566
|
+
- Key file touches (first 8 of 2):
|
|
9567
|
+
- `M expo-app/sources/app/(app)/settings/account.tsx`
|
|
9568
|
+
- `M expo-app/sources/app/(app)/settings/session.tsx`
|
|
9569
|
+
|
|
9570
|
+
### Verdict
|
|
9571
|
+
|
|
9572
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9573
|
+
- Coherence: good
|
|
9574
|
+
|
|
9575
|
+
### Rewrite Commit Message
|
|
9576
|
+
|
|
9577
|
+
- Suggested rewrite (single commit): `expo-app(settings): wire agent registry into settings`
|
|
9578
|
+
|
|
9579
|
+
---
|
|
9580
|
+
|
|
9581
|
+
## 271 2026-01-25 67ceab362d6b `expo-app`
|
|
9582
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=67ceab362d6b patchFile=/tmp/leeroy-wip-pass2/271.patch patchSha256=a7ecc8cfda151be628e0f1808052a8e66d5c532a4afb59233bd1cdef2ce15ce3 patchBytes=6628 patchLines=168 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9583
|
+
Pass3PrPlan: finalPr=PR35 plannedAt=2026-01-25T15:57:54+0100 manualReviewedForPrPlan=yes notes=Friends: UX + reliability (search errors + follow-ups): expo-app(experiments): add inbox friends experiment gate
|
|
9584
|
+
|
|
9585
|
+
- Subject: expo-app(experiments): add inbox friends experiment gate
|
|
9586
|
+
- Reasons: n/a
|
|
9587
|
+
|
|
9588
|
+
### Manual Review Notes
|
|
9589
|
+
|
|
9590
|
+
- Commit message body summary:
|
|
9591
|
+
- - Adds an experiment flag and hooks for inbox/friends enablement / - Updates inbox/friends routes to gate access and routing based on the experiment
|
|
9592
|
+
- Key file touches (first 8 of 7):
|
|
9593
|
+
- `M expo-app/sources/app/(app)/friends/index.tsx`
|
|
9594
|
+
- `M expo-app/sources/app/(app)/friends/search.tsx`
|
|
9595
|
+
- `M expo-app/sources/app/(app)/inbox/index.tsx`
|
|
9596
|
+
- `A expo-app/sources/experiments/inboxFriends.test.ts`
|
|
9597
|
+
- `A expo-app/sources/experiments/inboxFriends.ts`
|
|
9598
|
+
- `A expo-app/sources/hooks/useInboxFriendsEnabled.ts`
|
|
9599
|
+
- `A expo-app/sources/hooks/useRequireInboxFriendsEnabled.ts`
|
|
9600
|
+
|
|
9601
|
+
### Verdict
|
|
9602
|
+
|
|
9603
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9604
|
+
- Coherence: good
|
|
9605
|
+
|
|
9606
|
+
### Rewrite Commit Message
|
|
9607
|
+
|
|
9608
|
+
- Suggested rewrite (single commit): `expo-app(experiments): add inbox friends experiment gate`
|
|
9609
|
+
|
|
9610
|
+
---
|
|
9611
|
+
|
|
9612
|
+
## 272 2026-01-25 05b45b4f505d `expo-app`
|
|
9613
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=05b45b4f505d patchFile=/tmp/leeroy-wip-pass2/272.patch patchSha256=29618ee0b74b8b4192c5dfd0b47bbb2f0ec2995fbb9267721e9927691f53c43e patchBytes=8735 patchLines=158 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9614
|
+
Pass3PrPlan: finalPr=PR37 plannedAt=2026-01-25T15:57:54+0100 manualReviewedForPrPlan=yes notes=Agent registry end-to-end (selection + settings + UX helpers): expo-app(settings): update features toggles for agents/inbox/codex. Settings toggles span agent registry + inboxFriends + codex ACP; split inboxFriends toggle into PR35 and keep agent toggles in PR37 (codex ACP toggle may live with PR36/PR37). needsSplit=yes
|
|
9615
|
+
|
|
9616
|
+
- Subject: expo-app(settings): update features toggles for agents/inbox/codex
|
|
9617
|
+
- Reasons: mixed commit; split during rewrite
|
|
9618
|
+
|
|
9619
|
+
### Manual Review Notes
|
|
9620
|
+
|
|
9621
|
+
- Commit message body summary:
|
|
9622
|
+
- - Replaces expGemini toggle with agent-registry-backed experimental agent toggles / - Adds inbox friends experiment toggle / - Adds Codex ACP toggle and keeps Codex resume/acp mutually exclusive
|
|
9623
|
+
- Key file touches (first 8 of 1):
|
|
9624
|
+
- `M expo-app/sources/app/(app)/settings/features.tsx`
|
|
9625
|
+
- Split guidance: Settings toggles span agent registry + inboxFriends + codex ACP; split inboxFriends toggle into PR35 and keep agent toggles in PR37 (codex ACP toggle may live with PR36/PR37).
|
|
9626
|
+
|
|
9627
|
+
### Verdict
|
|
9628
|
+
|
|
9629
|
+
- Keep/squash/split/drop/reorder: keep (split during rewrite)
|
|
9630
|
+
- Coherence: mixed
|
|
9631
|
+
|
|
9632
|
+
### Rewrite Commit Message
|
|
9633
|
+
|
|
9634
|
+
- Suggested rewrite (single commit): `expo-app(settings): update features toggles for agents/inbox/codex`
|
|
9635
|
+
|
|
9636
|
+
---
|
|
9637
|
+
|
|
9638
|
+
## 273 2026-01-25 ec9225a8f935 `expo-app`
|
|
9639
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=ec9225a8f935 patchFile=/tmp/leeroy-wip-pass2/273.patch patchSha256=7852b1364ef65f88fff41589a7971d51a1a875515cd4ad7e26aeea0540ed4630 patchBytes=90752 patchLines=1529 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9640
|
+
Pass3PrPlan: finalPr=PR03 plannedAt=2026-01-25T15:57:55+0100 manualReviewedForPrPlan=yes notes=i18n foundation sweep (optional): expo-app(i18n): add device locale helpers + update translations. Translations sweep: distribute keys into owning feature PRs; keep deviceLocales helpers where they best belong (likely PR03 or PR01) during rewrite. needsSplit=yes
|
|
9641
|
+
|
|
9642
|
+
- Subject: expo-app(i18n): add device locale helpers + update translations
|
|
9643
|
+
- Reasons: mixed commit; split during rewrite
|
|
9644
|
+
|
|
9645
|
+
### Manual Review Notes
|
|
9646
|
+
|
|
9647
|
+
- Commit message body summary:
|
|
9648
|
+
- - Adds device locale helpers for native and shared runtime / - Updates translation dictionaries and text index wiring
|
|
9649
|
+
- Key file touches (first 8 of 12):
|
|
9650
|
+
- `A expo-app/sources/text/deviceLocales.native.ts`
|
|
9651
|
+
- `A expo-app/sources/text/deviceLocales.ts`
|
|
9652
|
+
- `M expo-app/sources/text/index.ts`
|
|
9653
|
+
- `M expo-app/sources/text/translations/ca.ts`
|
|
9654
|
+
- `M expo-app/sources/text/translations/en.ts`
|
|
9655
|
+
- `M expo-app/sources/text/translations/es.ts`
|
|
9656
|
+
- `M expo-app/sources/text/translations/it.ts`
|
|
9657
|
+
- `M expo-app/sources/text/translations/ja.ts`
|
|
9658
|
+
- Split guidance: Translations sweep: distribute keys into owning feature PRs; keep deviceLocales helpers where they best belong (likely PR03 or PR01) during rewrite.
|
|
9659
|
+
|
|
9660
|
+
### Verdict
|
|
9661
|
+
|
|
9662
|
+
- Keep/squash/split/drop/reorder: keep (split during rewrite)
|
|
9663
|
+
- Coherence: mixed
|
|
9664
|
+
|
|
9665
|
+
### Rewrite Commit Message
|
|
9666
|
+
|
|
9667
|
+
- Suggested rewrite (single commit): `expo-app(i18n): add device locale helpers + update translations`
|
|
9668
|
+
|
|
9669
|
+
---
|
|
9670
|
+
|
|
9671
|
+
## 274 2026-01-25 98b7138360ff `expo-app`
|
|
9672
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=98b7138360ff patchFile=/tmp/leeroy-wip-pass2/274.patch patchSha256=d59aa54252fde89b78efff2a8b0f707b0831199ba8eccdf95515d537c9a9baf3 patchBytes=7473 patchLines=179 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9673
|
+
Pass3PrPlan: finalPr=PR19 plannedAt=2026-01-25T15:57:56+0100 manualReviewedForPrPlan=yes notes=Resume end-to-end: expo-app(agents): align resume helpers + temp session data typing
|
|
9674
|
+
|
|
9675
|
+
- Subject: expo-app(agents): align resume helpers + temp session data typing
|
|
9676
|
+
- Reasons: n/a
|
|
9677
|
+
|
|
9678
|
+
### Manual Review Notes
|
|
9679
|
+
|
|
9680
|
+
- Commit message body summary:
|
|
9681
|
+
- - Refactors agent resume capability helpers to use the agent registry / - Adds getAgentVendorResumeId for vendor resume id lookup / - Types temp session data agentType as AgentId and adds regression tests
|
|
9682
|
+
- Key file touches (first 8 of 3):
|
|
9683
|
+
- `A expo-app/sources/utils/agentCapabilities.test.ts`
|
|
9684
|
+
- `M expo-app/sources/utils/agentCapabilities.ts`
|
|
9685
|
+
- `M expo-app/sources/utils/tempDataStore.ts`
|
|
9686
|
+
|
|
9687
|
+
### Verdict
|
|
9688
|
+
|
|
9689
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9690
|
+
- Coherence: good
|
|
9691
|
+
|
|
9692
|
+
### Rewrite Commit Message
|
|
9693
|
+
|
|
9694
|
+
- Suggested rewrite (single commit): `expo-app(agents): align resume helpers + temp session data typing`
|
|
9695
|
+
|
|
9696
|
+
---
|
|
9697
|
+
|
|
9698
|
+
## 275 2026-01-25 63cda8b20882 `expo-app`
|
|
9699
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=63cda8b20882 patchFile=/tmp/leeroy-wip-pass2/275.patch patchSha256=7982daf7749e526488373bf61add1fbc7c530ea8131b9dcac8fe5b3c747bcea0 patchBytes=170996 patchLines=3424 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9700
|
+
Pass3PrPlan: finalPr=PR38 plannedAt=2026-01-25T15:57:56+0100 manualReviewedForPrPlan=yes notes=UI list primitives + pending UI polish: expo-app(ui): add list/pending primitives and polish. UI primitive churn plus profile list model changes; consider splitting profile requirements/model changes into PR08 and leaving generic list/pending primitives in PR38. needsSplit=yes
|
|
9701
|
+
|
|
9702
|
+
- Subject: expo-app(ui): add list/pending primitives and polish
|
|
9703
|
+
- Reasons: mixed commit; split during rewrite
|
|
9704
|
+
|
|
9705
|
+
### Manual Review Notes
|
|
9706
|
+
|
|
9707
|
+
- Commit message body summary:
|
|
9708
|
+
- - Adds reusable item-group row helpers and pending queue UI coverage / - Refines list and settings components for more consistent layout/behavior / - Updates profile list model helpers and adds targeted tests
|
|
9709
|
+
- Key file touches (first 8 of 31):
|
|
9710
|
+
- `M expo-app/sources/components/AgentInput.tsx`
|
|
9711
|
+
- `M expo-app/sources/components/Avatar.tsx`
|
|
9712
|
+
- `M expo-app/sources/components/EnvironmentVariableCard.tsx`
|
|
9713
|
+
- `M expo-app/sources/components/Item.tsx`
|
|
9714
|
+
- `M expo-app/sources/components/ItemGroup.dividers.test.ts`
|
|
9715
|
+
- `M expo-app/sources/components/ItemGroup.dividers.ts`
|
|
9716
|
+
- `A expo-app/sources/components/ItemGroupRowPosition.tsx`
|
|
9717
|
+
- `A expo-app/sources/components/ItemGroupTitleWithAction.test.ts`
|
|
9718
|
+
- Split guidance: UI primitive churn plus profile list model changes; consider splitting profile requirements/model changes into PR08 and leaving generic list/pending primitives in PR38.
|
|
9719
|
+
|
|
9720
|
+
### Verdict
|
|
9721
|
+
|
|
9722
|
+
- Keep/squash/split/drop/reorder: keep (split during rewrite)
|
|
9723
|
+
- Coherence: mixed
|
|
9724
|
+
|
|
9725
|
+
### Rewrite Commit Message
|
|
9726
|
+
|
|
9727
|
+
- Suggested rewrite (single commit): `expo-app(ui): add list/pending primitives and polish`
|
|
9728
|
+
|
|
9729
|
+
---
|
|
9730
|
+
|
|
9731
|
+
## 276 2026-01-25 10dca4ca7057 `expo-app`
|
|
9732
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T15:57:43+0100 sha=10dca4ca7057 patchFile=/tmp/leeroy-wip-pass2/276.patch patchSha256=a6d8181c81bac7665d6be4f119d91d766642037a663b814f3218c7b665c9f817 patchBytes=3567 patchLines=81 notesReviewed=yes reviewedAt=2026-01-25T15:57:43+0100 notesUpdated=no
|
|
9733
|
+
Pass3PrPlan: finalPr=PR02 plannedAt=2026-01-25T15:57:56+0100 manualReviewedForPrPlan=yes notes=UI modal/overlay/popover + Expo web modal behavior: chore(expo): pin libsodium-wrappers and align patch-package dirs
|
|
9734
|
+
|
|
9735
|
+
- Subject: chore(expo): pin libsodium-wrappers and align patch-package dirs
|
|
9736
|
+
- Reasons: n/a
|
|
9737
|
+
|
|
9738
|
+
### Manual Review Notes
|
|
9739
|
+
|
|
9740
|
+
- Commit message body summary:
|
|
9741
|
+
- - Pins libsodium-wrappers to 0.7.15 to avoid patching 0.7.16 / - Moves expo-router patch to expo-app/patches and updates postinstall patch-package invocation / - Updates yarn.lock to match dependency pin
|
|
9742
|
+
- Key file touches (first 8 of 5):
|
|
9743
|
+
- `M expo-app/package.json`
|
|
9744
|
+
- `R100 expo-app/patches-expo-app/expo-router+6.0.22.patch expo-app/patches/expo-router+6.0.22.patch`
|
|
9745
|
+
- `D expo-app/patches/libsodium-wrappers+0.7.16.patch`
|
|
9746
|
+
- `M expo-app/tools/postinstall.mjs`
|
|
9747
|
+
- `M yarn.lock`
|
|
9748
|
+
|
|
9749
|
+
### Verdict
|
|
9750
|
+
|
|
9751
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9752
|
+
- Coherence: good
|
|
9753
|
+
|
|
9754
|
+
### Rewrite Commit Message
|
|
9755
|
+
|
|
9756
|
+
- Suggested rewrite (single commit): `chore(expo): pin libsodium-wrappers and align patch-package dirs`
|
|
9757
|
+
|
|
9758
|
+
---
|
|
9759
|
+
|
|
9760
|
+
## 277 2026-01-25 cfe2ecd3e626 `expo-app`
|
|
9761
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T19:06:49+0100 sha=cfe2ecd3e626 patchFile=/tmp/leeroy-wip-pass2/277.patch patchSha256=077e2670d05ea95a64c6d431cd066e14a173813072989a7ebffc3196e82403e1 patchBytes=22191 patchLines=498 notesReviewed=yes reviewedAt=2026-01-25T19:06:49+0100 notesUpdated=no
|
|
9762
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T19:06:49+0100 manualReviewedForPrPlan=yes notes=Foundations / DevX: mechanical StyleSheet→unistyles import migration across expo-app + add invariant test.
|
|
9763
|
+
|
|
9764
|
+
- Subject: refactor: migrate StyleSheet imports to react-native-unistyles
|
|
9765
|
+
- Reasons: n/a
|
|
9766
|
+
|
|
9767
|
+
### Manual Review Notes
|
|
9768
|
+
|
|
9769
|
+
- Commit message body summary:
|
|
9770
|
+
- Replaces all StyleSheet imports from 'react-native' with imports from 'react-native-unistyles' across sources/.
|
|
9771
|
+
- Adds a test to enforce the invariant (guards against regressions).
|
|
9772
|
+
- Key file touches (first 8 of 23):
|
|
9773
|
+
- `M expo-app/sources/app/(app)/dev/colors.tsx`
|
|
9774
|
+
- `M expo-app/sources/app/(app)/dev/inverted-list.tsx`
|
|
9775
|
+
- `M expo-app/sources/app/(app)/dev/modal-demo.tsx`
|
|
9776
|
+
- `M expo-app/sources/app/(app)/dev/shimmer-demo.tsx`
|
|
9777
|
+
- `M expo-app/sources/app/(app)/dev/tools2.tsx`
|
|
9778
|
+
- `M expo-app/sources/app/(app)/dev/typography.tsx`
|
|
9779
|
+
- `M expo-app/sources/components/ChatHeaderView.tsx`
|
|
9780
|
+
- `M expo-app/sources/components/CommandPalette/CommandPalette.tsx`
|
|
9781
|
+
- No split expected (mechanical refactor + invariant test belong together).
|
|
9782
|
+
|
|
9783
|
+
### Verdict
|
|
9784
|
+
|
|
9785
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9786
|
+
- Coherence: good
|
|
9787
|
+
|
|
9788
|
+
### Rewrite Commit Message
|
|
9789
|
+
|
|
9790
|
+
- Suggested rewrite (single commit): `refactor(expo-app): migrate StyleSheet imports to react-native-unistyles`
|
|
9791
|
+
|
|
9792
|
+
---
|
|
9793
|
+
|
|
9794
|
+
## 278 2026-01-25 8aaacbfaac7a `dev`
|
|
9795
|
+
Pass2FullDiff: CAPTURED at 2026-01-25T19:06:49+0100 sha=8aaacbfaac7a patchFile=/tmp/leeroy-wip-pass2/278.patch patchSha256=919c70e5a7dc67ead028eef736595347efd56147858aa29d8e42dde40d759a90 patchBytes=1804 patchLines=45 notesReviewed=yes reviewedAt=2026-01-25T19:06:49+0100 notesUpdated=no
|
|
9796
|
+
Pass3PrPlan: finalPr=PR01 plannedAt=2026-01-25T19:06:49+0100 manualReviewedForPrPlan=yes notes=Foundations / DevX: add Conventional Commits guidelines for tooling (copilot commit instructions).
|
|
9797
|
+
|
|
9798
|
+
- Subject: docs: add Conventional Commits instructions
|
|
9799
|
+
- Reasons: n/a
|
|
9800
|
+
|
|
9801
|
+
### Manual Review Notes
|
|
9802
|
+
|
|
9803
|
+
- Commit message body summary:
|
|
9804
|
+
- Adds `.github/copilot-commit-instructions.md` documenting Conventional Commits guidelines for this repo.
|
|
9805
|
+
- Key file touches (first 8 of 1):
|
|
9806
|
+
- `A .github/copilot-commit-instructions.md`
|
|
9807
|
+
|
|
9808
|
+
### Verdict
|
|
9809
|
+
|
|
9810
|
+
- Keep/squash/split/drop/reorder: keep
|
|
9811
|
+
- Coherence: good
|
|
9812
|
+
|
|
9813
|
+
### Rewrite Commit Message
|
|
9814
|
+
|
|
9815
|
+
- Suggested rewrite (single commit): `docs: add Conventional Commits instructions`
|
|
9816
|
+
|
|
9817
|
+
---
|