happy-stacks 0.6.12 → 0.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1236 -92
- 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/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/dev/daemon.mjs +3 -1
- 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)
|
|
@@ -3858,6 +3986,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f68552d03ab9 patchFile=/
|
|
|
3858
3986
|
|
|
3859
3987
|
## 111 2026-01-21 4e4bb65ff3f0 `tmux`
|
|
3860
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)
|
|
@@ -3885,6 +4014,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4e4bb65ff3f0 patchFile=/
|
|
|
3885
4014
|
|
|
3886
4015
|
## 112 2026-01-21 45f4eb5d145c `detect-cli`
|
|
3887
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)
|
|
@@ -3912,6 +4042,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=45f4eb5d145c patchFile=/
|
|
|
3912
4042
|
|
|
3913
4043
|
## 113 2026-01-21 51782fdbfbcd `codex`
|
|
3914
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
|
|
@@ -3937,6 +4068,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=51782fdbfbcd patchFile=/
|
|
|
3937
4068
|
|
|
3938
4069
|
## 114 2026-01-21 0ad76f4877ae `cli`
|
|
3939
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)
|
|
@@ -3962,6 +4094,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0ad76f4877ae patchFile=/
|
|
|
3962
4094
|
|
|
3963
4095
|
## 115 2026-01-21 a8093e3e4ddb `persistence`
|
|
3964
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)
|
|
@@ -3987,6 +4120,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a8093e3e4ddb patchFile=/
|
|
|
3987
4120
|
|
|
3988
4121
|
## 116 2026-01-21 b16c3658b944 `gemini`
|
|
3989
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)
|
|
@@ -4014,6 +4148,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b16c3658b944 patchFile=/
|
|
|
4014
4148
|
|
|
4015
4149
|
## 117 2026-01-21 d9591372655f `common`
|
|
4016
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)
|
|
@@ -4040,6 +4175,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d9591372655f patchFile=/
|
|
|
4040
4175
|
|
|
4041
4176
|
## 118 2026-01-22 ab95e8cf920c `sync`
|
|
4042
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)
|
|
@@ -4074,6 +4210,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab95e8cf920c patchFile=/
|
|
|
4074
4210
|
|
|
4075
4211
|
## 119 2026-01-22 6f98c95fb5d8 `claude`
|
|
4076
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).
|
|
4077
4214
|
|
|
4078
4215
|
- Subject: fix(claude): support -c/-r and avoid session loss on switch
|
|
4079
4216
|
- Reasons: safety/reliability-sensitive area (session continuity)
|
|
@@ -4113,6 +4250,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=6f98c95fb5d8 patchFile=/
|
|
|
4113
4250
|
|
|
4114
4251
|
## 120 2026-01-16 9489d70848f3 `claude`
|
|
4115
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.
|
|
4116
4254
|
|
|
4117
4255
|
- Subject: test(claude): align sessionScanner path mapping
|
|
4118
4256
|
- Reasons: full manual review coverage (was not in the manual-review queue)
|
|
@@ -4138,6 +4276,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9489d70848f3 patchFile=/
|
|
|
4138
4276
|
|
|
4139
4277
|
## 121 2026-01-12 9c4cb44b7d86 `daemon`
|
|
4140
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.
|
|
4141
4280
|
|
|
4142
4281
|
- Subject: fix(daemon): reattach sessions after daemon restart
|
|
4143
4282
|
- Reasons: safety/reliability-sensitive area (process ownership + restart continuity)
|
|
@@ -4179,6 +4318,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c4cb44b7d86 patchFile=/
|
|
|
4179
4318
|
|
|
4180
4319
|
## 122 2026-01-14 dbde6d871670 `daemon`
|
|
4181
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.
|
|
4182
4322
|
|
|
4183
4323
|
- Subject: test(daemon): add PID classification + session marker tests
|
|
4184
4324
|
- Reasons: safety/reliability-sensitive area (tests for ownership gating)
|
|
@@ -4209,6 +4349,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dbde6d871670 patchFile=/
|
|
|
4209
4349
|
|
|
4210
4350
|
## 123 2026-01-14 7cffdd5ce614 `daemon`
|
|
4211
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.
|
|
4212
4353
|
|
|
4213
4354
|
- Subject: fix(daemon): verify PID via command hash for reattach/stop
|
|
4214
4355
|
- Reasons: safety/security-sensitive area (PID reuse mitigation)
|
|
@@ -4241,6 +4382,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7cffdd5ce614 patchFile=/
|
|
|
4241
4382
|
|
|
4242
4383
|
## 124 2026-01-13 8b88dcd73d40 `claude`
|
|
4243
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.
|
|
4244
4386
|
|
|
4245
4387
|
- Subject: fix(claude): carry permission mode across remote/local switches
|
|
4246
4388
|
- Reasons: safety/security-sensitive area
|
|
@@ -4273,6 +4415,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8b88dcd73d40 patchFile=/
|
|
|
4273
4415
|
|
|
4274
4416
|
## 125 2026-01-13 8f0e10c9428b `claude`
|
|
4275
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.
|
|
4276
4419
|
|
|
4277
4420
|
- Subject: fix(claude): publish permission mode in session metadata
|
|
4278
4421
|
- Reasons: safety/security-sensitive area
|
|
@@ -4310,6 +4453,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8f0e10c9428b patchFile=/
|
|
|
4310
4453
|
|
|
4311
4454
|
## 126 2026-01-13 ffad20faa406 `cli`
|
|
4312
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).
|
|
4313
4457
|
|
|
4314
4458
|
- Subject: fix(cli): publish permission mode for codex/gemini sessions
|
|
4315
4459
|
- Reasons: safety/security-sensitive area
|
|
@@ -4354,6 +4498,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ffad20faa406 patchFile=/
|
|
|
4354
4498
|
|
|
4355
4499
|
## 127 2026-01-13 eb72c6e69434 `codex`
|
|
4356
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.
|
|
4357
4502
|
|
|
4358
4503
|
- Subject: fix(codex): disable model override and remove experimental resume
|
|
4359
4504
|
- Reasons: reliability; removes a brittle/unsupported resume path and prevents misleading UI behavior (model switching that can’t be honored)
|
|
@@ -4388,6 +4533,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=eb72c6e69434 patchFile=/
|
|
|
4388
4533
|
|
|
4389
4534
|
## 128 2026-01-21 d317f6bfa282 `typecheck`
|
|
4390
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.
|
|
4391
4537
|
|
|
4392
4538
|
- Subject: fix(typecheck): resolve duplicate terminalRuntime and RPC handler types
|
|
4393
4539
|
- Reasons: fixes real TypeScript errors / type drift introduced by nearby commits
|
|
@@ -4418,6 +4564,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d317f6bfa282 patchFile=/
|
|
|
4418
4564
|
|
|
4419
4565
|
## 129 2026-01-21 a8682d427794 `cli`
|
|
4420
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.
|
|
4421
4568
|
|
|
4422
4569
|
- Subject: fix(detect-cli): relax tmux version probe timeout
|
|
4423
4570
|
- Reasons: reliability; avoids false negatives on slow machines / cold disks / heavy load
|
|
@@ -4442,6 +4589,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a8682d427794 patchFile=/
|
|
|
4442
4589
|
|
|
4443
4590
|
## 130 2026-01-07 e2824dbc858b `queue`
|
|
4444
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.
|
|
4445
4593
|
|
|
4446
4594
|
- Subject: feat(queue): add server-side pending message pull support
|
|
4447
4595
|
- Reasons: enables “defer committing UI messages to transcript” by letting the agent pull server-staged messages when ready
|
|
@@ -4484,6 +4632,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e2824dbc858b patchFile=/
|
|
|
4484
4632
|
|
|
4485
4633
|
## 131 2026-01-12 37a2c55a6c2f `session`
|
|
4486
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.
|
|
4487
4636
|
|
|
4488
4637
|
- Subject: fix(session): prime agent state for readiness
|
|
4489
4638
|
- Reasons: correctness; ensures the UI’s “agent ready” signal becomes true for Codex/Gemini on session start
|
|
@@ -4512,6 +4661,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=37a2c55a6c2f patchFile=/
|
|
|
4512
4661
|
|
|
4513
4662
|
## 132 2026-01-21 88494b122194 `tools`
|
|
4514
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
|
|
4515
4665
|
|
|
4516
4666
|
- Subject: fix(tools): support Windows arm64 tool unpacking
|
|
4517
4667
|
- Reasons: platform compatibility (Windows ARM running x64 tools under emulation), plus test harness reliability changes
|
|
@@ -4555,6 +4705,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=88494b122194 patchFile=/
|
|
|
4555
4705
|
|
|
4556
4706
|
## 133 2026-01-09 d71587eda2db `resume`
|
|
4557
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.
|
|
4558
4709
|
|
|
4559
4710
|
- Subject: feat: resume Claude sessions from UI
|
|
4560
4711
|
- Reasons: introduces a controlled “vendor resume id” plumbing path; safety-gated to Claude in upstream
|
|
@@ -4590,6 +4741,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d71587eda2db patchFile=/
|
|
|
4590
4741
|
|
|
4591
4742
|
## 134 2026-01-11 a80868aff50d `resume`
|
|
4592
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).
|
|
4593
4745
|
|
|
4594
4746
|
- Subject: feat: resume inactive Claude sessions from UI
|
|
4595
4747
|
- Reasons: implements “inactive session resume” by attaching a new CLI worker to an existing Happy session (and optionally vendor-resuming Claude)
|
|
@@ -4657,6 +4809,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a80868aff50d patchFile=/
|
|
|
4657
4809
|
|
|
4658
4810
|
## 135 2026-01-12 bcaa530b12d7 `resume`
|
|
4659
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.
|
|
4660
4813
|
|
|
4661
4814
|
- Subject: feat(resume): add happy resume and persist vendor resume id
|
|
4662
4815
|
- Reasons: adds a user-facing recovery command (`happy resume`) and ensures the vendor resume id is persisted once discovered
|
|
@@ -4700,6 +4853,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bcaa530b12d7 patchFile=/
|
|
|
4700
4853
|
|
|
4701
4854
|
## 136 2026-01-12 e085e75c5d36 `resume`
|
|
4702
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.
|
|
4703
4857
|
|
|
4704
4858
|
- Subject: feat(resume): allow resume-session without agentSessionId
|
|
4705
4859
|
- Reasons: makes “inactive session resume” more robust by allowing the daemon to derive the vendor resume id from local state
|
|
@@ -4735,6 +4889,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e085e75c5d36 patchFile=/
|
|
|
4735
4889
|
|
|
4736
4890
|
## 137 2026-01-12 68a6ba4bc244 `fork`
|
|
4737
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).
|
|
4738
4893
|
|
|
4739
4894
|
- Subject: feat(fork): enable Codex inactive-session resume via codex-reply
|
|
4740
4895
|
- Reasons: safety/security-sensitive area
|
|
@@ -4794,6 +4949,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=68a6ba4bc244 patchFile=/
|
|
|
4794
4949
|
|
|
4795
4950
|
## 138 2026-01-22 d3aefaa9b598 `daemon`
|
|
4796
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.
|
|
4797
4953
|
|
|
4798
4954
|
- Subject: refactor(daemon): extract reattach and pid safety helpers
|
|
4799
4955
|
- Reasons: reliability/safety; isolates PID-reuse protection logic so it stays strict and testable
|
|
@@ -4835,6 +4991,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d3aefaa9b598 patchFile=/
|
|
|
4835
4991
|
|
|
4836
4992
|
## 139 2026-01-22 72397b7e8c94 `test`
|
|
4837
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).
|
|
4838
4995
|
|
|
4839
4996
|
- Subject: test(daemon): add opt-in reattach integration tests
|
|
4840
4997
|
- Reasons: validates the strict PID-safety / marker adoption logic against real OS process listing and command hashing
|
|
@@ -4867,6 +5024,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=72397b7e8c94 patchFile=/
|
|
|
4867
5024
|
|
|
4868
5025
|
## 140 2026-01-22 9c40c54018c2 `cli`
|
|
4869
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.
|
|
4870
5028
|
|
|
4871
5029
|
- Subject: Revert "fix(tools): support Windows arm64 tool unpacking"
|
|
4872
5030
|
- Reasons: non-Conventional-Commits subject; revert commit
|
|
@@ -4906,6 +5064,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9c40c54018c2 patchFile=/
|
|
|
4906
5064
|
|
|
4907
5065
|
## 141 2026-01-22 ab35b47ff699 `resume`
|
|
4908
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).
|
|
4909
5068
|
|
|
4910
5069
|
- Subject: fix(resume): make inactive resume reliable; gate Codex resume
|
|
4911
5070
|
- Reasons: multiple major areas: cli, expo-app; safety/security-sensitive area
|
|
@@ -4978,6 +5137,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ab35b47ff699 patchFile=/
|
|
|
4978
5137
|
|
|
4979
5138
|
## 142 2026-01-22 aa9b11684389 `codex`
|
|
4980
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.
|
|
4981
5141
|
|
|
4982
5142
|
- Subject: fix(codex): increase installer output buffer
|
|
4983
5143
|
- Reasons: reliability; avoids `execFile` buffer overflow when `npm install` emits large output (common in verbose installs)
|
|
@@ -5005,6 +5165,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=aa9b11684389 patchFile=/
|
|
|
5005
5165
|
|
|
5006
5166
|
## 143 2026-01-22 c4beebbfa375 `app`
|
|
5007
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.
|
|
5008
5169
|
|
|
5009
5170
|
- Subject: feat(ui): add Codex resume experiment toggle
|
|
5010
5171
|
- Reasons: exposes Codex resume gating as an explicit experiment flag in the UI
|
|
@@ -5032,6 +5193,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c4beebbfa375 patchFile=/
|
|
|
5032
5193
|
|
|
5033
5194
|
## 144 2026-01-22 0140ae276869 `codex`
|
|
5034
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.
|
|
5035
5197
|
|
|
5036
5198
|
- Subject: refactor(codex): install mcp resume server via install-dep
|
|
5037
5199
|
- Reasons: multiple major areas: cli, expo-app; safety/security-sensitive area
|
|
@@ -5086,6 +5248,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0140ae276869 patchFile=/
|
|
|
5086
5248
|
|
|
5087
5249
|
## 145 2026-01-22 2ec41b621b54 `codex`
|
|
5088
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.
|
|
5089
5252
|
|
|
5090
5253
|
- Subject: fix(codex): detect resume binary on Windows
|
|
5091
5254
|
- Reasons: correctness on Windows; `fs.access(..., X_OK)` is not reliable/meaningful for Windows executables
|
|
@@ -5115,6 +5278,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2ec41b621b54 patchFile=/
|
|
|
5115
5278
|
|
|
5116
5279
|
## 146 2026-01-22 e1deb6db8ddb `codex`
|
|
5117
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.
|
|
5118
5282
|
|
|
5119
5283
|
- Subject: refactor(codex): add dep-status and drop codex-resume RPCs
|
|
5120
5284
|
- Reasons: multiple major areas: cli, expo-app
|
|
@@ -5156,6 +5320,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e1deb6db8ddb patchFile=/
|
|
|
5156
5320
|
|
|
5157
5321
|
## 147 2026-01-22 231d7ad9bdd9 `app`
|
|
5158
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.
|
|
5159
5324
|
|
|
5160
5325
|
- Subject: fix(ui): clarify Codex resume server label
|
|
5161
5326
|
- Reasons: UX clarity; prevents “Resume Codex” from sounding like an action on a session rather than a machine-level installer/status section
|
|
@@ -5182,6 +5347,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=231d7ad9bdd9 patchFile=/
|
|
|
5182
5347
|
|
|
5183
5348
|
## 148 2026-01-22 8bebf04aca92 `cli`
|
|
5184
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.
|
|
5185
5351
|
|
|
5186
5352
|
- Subject: refactor(cli): modularize capabilities and env preview
|
|
5187
5353
|
- Reasons: large change (+1296/-908); safety/security-sensitive area
|
|
@@ -5266,6 +5432,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8bebf04aca92 patchFile=/
|
|
|
5266
5432
|
|
|
5267
5433
|
## 149 2026-01-22 bcf10af94626 `test`
|
|
5268
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.
|
|
5269
5436
|
|
|
5270
5437
|
- Subject: test(ui): update useCLIDetection hook tests for capabilities
|
|
5271
5438
|
- Reasons: keeps tests aligned with the new “capabilities snapshot” data model used by the UI
|
|
@@ -5299,6 +5466,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bcf10af94626 patchFile=/
|
|
|
5299
5466
|
|
|
5300
5467
|
## 150 2026-01-22 a5cac698f15b `cli`
|
|
5301
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).
|
|
5302
5470
|
|
|
5303
5471
|
- Subject: feat(cli): harden session queue, switching, and lifecycle
|
|
5304
5472
|
- Reasons: safety/security-sensitive area
|
|
@@ -5402,6 +5570,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a5cac698f15b patchFile=/
|
|
|
5402
5570
|
|
|
5403
5571
|
## 151 2026-01-22 3fc704424e8d `app`
|
|
5404
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.
|
|
5405
5574
|
|
|
5406
5575
|
- Subject: feat(app): add pending queue, discard markers, and capabilities
|
|
5407
5576
|
- Reasons: too many files (44)
|
|
@@ -5518,6 +5687,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3fc704424e8d patchFile=/
|
|
|
5518
5687
|
|
|
5519
5688
|
## 152 2026-01-22 49893dd7d16a `terminal`
|
|
5520
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.
|
|
5521
5691
|
|
|
5522
5692
|
- Subject: fix(terminal): harden remote→local switching input
|
|
5523
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
|
|
@@ -5556,6 +5726,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=49893dd7d16a patchFile=/
|
|
|
5556
5726
|
|
|
5557
5727
|
## 153 2026-01-22 0126667539b6 `claude`
|
|
5558
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.
|
|
5559
5730
|
|
|
5560
5731
|
- Subject: fix(claude): forward signals to binary child process
|
|
5561
5732
|
- Reasons: reliability; prevents orphaned Claude processes (multiple stdin readers) during mode switches when Claude is installed as a native binary
|
|
@@ -5587,6 +5758,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0126667539b6 patchFile=/
|
|
|
5587
5758
|
|
|
5588
5759
|
## 154 2026-01-22 39c7b8a56b32 `app`
|
|
5589
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.
|
|
5590
5762
|
|
|
5591
5763
|
- Subject: refactor(app): rename tmux/message-send settings under session
|
|
5592
5764
|
- Reasons: makes settings naming coherent (“session” owns both message sending policy and tmux terminal preferences) and reduces settings surface duplication
|
|
@@ -5624,6 +5796,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=39c7b8a56b32 patchFile=/
|
|
|
5624
5796
|
|
|
5625
5797
|
## 155 2026-01-22 fcec6c311b6b `sync`
|
|
5626
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).
|
|
5627
5800
|
|
|
5628
5801
|
- Subject: feat(sync): add cross-device unread markers
|
|
5629
5802
|
- Reasons: correctness/UX; makes “unread” consistent across devices by storing read markers in encrypted session metadata instead of local-only MMKV state
|
|
@@ -5666,6 +5839,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fcec6c311b6b patchFile=/
|
|
|
5666
5839
|
|
|
5667
5840
|
## 156 2026-01-22 8c16ee8f9cef `auth`
|
|
5668
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.
|
|
5669
5843
|
|
|
5670
5844
|
- Subject: fix(auth): surface auth failures and gate unauth routes
|
|
5671
5845
|
- Reasons: safety/security-sensitive area
|
|
@@ -5710,6 +5884,7 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8c16ee8f9cef patchFile=/
|
|
|
5710
5884
|
|
|
5711
5885
|
## 157 2026-01-22 320a89e19ca0 `test`
|
|
5712
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.
|
|
5713
5888
|
|
|
5714
5889
|
- Subject: test(happy): run cli and server checks from root scripts
|
|
5715
5890
|
- Reasons: reliability; makes `happys test/typecheck happy` exercise the full monorepo surface (expo-app + cli + server), not just the app
|
|
@@ -5741,7 +5916,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=320a89e19ca0 patchFile=/
|
|
|
5741
5916
|
---
|
|
5742
5917
|
|
|
5743
5918
|
## 158 2026-01-22 3b3609fed434 `rpc`
|
|
5744
|
-
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.
|
|
5745
5921
|
|
|
5746
5922
|
- Subject: fix(rpc): add structured code for missing RPC methods
|
|
5747
5923
|
- Reasons: multiple major areas: expo-app, server
|
|
@@ -5789,7 +5965,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=3b3609fed434 patchFile=/
|
|
|
5789
5965
|
---
|
|
5790
5966
|
|
|
5791
5967
|
## 159 2026-01-22 0e2c7928f24c `scanner`
|
|
5792
|
-
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.
|
|
5793
5970
|
|
|
5794
5971
|
- Subject: fix(scanner): tolerate onMessage exceptions
|
|
5795
5972
|
- Reasons: reliability; prevents session scanner crashes (or cascading retries/backoff) when consumer callbacks throw
|
|
@@ -5825,7 +6002,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0e2c7928f24c patchFile=/
|
|
|
5825
6002
|
---
|
|
5826
6003
|
|
|
5827
6004
|
## 160 2026-01-22 7fbe1f1cc727 `permission`
|
|
5828
|
-
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.
|
|
5829
6007
|
|
|
5830
6008
|
- Subject: fix(permission): avoid no-op permissionModeUpdatedAt bumps
|
|
5831
6009
|
- Reasons: safety/security-sensitive area
|
|
@@ -5865,7 +6043,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7fbe1f1cc727 patchFile=/
|
|
|
5865
6043
|
---
|
|
5866
6044
|
|
|
5867
6045
|
## 161 2026-01-22 2026fbab5cb3 `claude`
|
|
5868
|
-
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).
|
|
5869
6048
|
|
|
5870
6049
|
- Subject: fix(claude): accept -c as continue flag
|
|
5871
6050
|
- Reasons: correctness; treats the short `-c` flag as equivalent to `--continue` for “user provided session control” detection
|
|
@@ -5892,7 +6071,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2026fbab5cb3 patchFile=/
|
|
|
5892
6071
|
---
|
|
5893
6072
|
|
|
5894
6073
|
## 162 2026-01-22 ee0bec2a0b90 `resume`
|
|
5895
|
-
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.
|
|
5896
6076
|
|
|
5897
6077
|
- Subject: Delete INACTIVE_SESSION_RESUME.md
|
|
5898
6078
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -5916,7 +6096,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ee0bec2a0b90 patchFile=/
|
|
|
5916
6096
|
---
|
|
5917
6097
|
|
|
5918
6098
|
## 163 2026-01-22 84df0d260513 `expo-app`
|
|
5919
|
-
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.
|
|
5920
6101
|
|
|
5921
6102
|
- Subject: fix(expo-app): stabilize postinstall and libsodium patches
|
|
5922
6103
|
- Reasons: install reliability across Yarn workspace hoisting layouts; fixes a missing libsodium ESM file and cleans up obsolete patches
|
|
@@ -5956,7 +6137,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=84df0d260513 patchFile=/
|
|
|
5956
6137
|
---
|
|
5957
6138
|
|
|
5958
6139
|
## 164 2026-01-23 544f9711b6cf `app`
|
|
5959
|
-
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).
|
|
5960
6142
|
|
|
5961
6143
|
- Subject: fix(ui): respond to plan/question tools via session RPC
|
|
5962
6144
|
- Reasons: correctness + UX; avoids extra chat messages and uses the intended session interaction RPCs with backward-compatible fallbacks
|
|
@@ -5994,7 +6176,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=544f9711b6cf patchFile=/
|
|
|
5994
6176
|
---
|
|
5995
6177
|
|
|
5996
6178
|
## 165 2026-01-23 8b3f39f22664 `cli`
|
|
5997
|
-
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.
|
|
5998
6181
|
|
|
5999
6182
|
- Subject: feat(cli): add interaction.respond for AskUserQuestion
|
|
6000
6183
|
- Reasons: safety/security-sensitive area
|
|
@@ -6038,7 +6221,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8b3f39f22664 patchFile=/
|
|
|
6038
6221
|
---
|
|
6039
6222
|
|
|
6040
6223
|
## 166 2025-12-24 ed4bc007308a `codex`
|
|
6041
|
-
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.
|
|
6042
6226
|
|
|
6043
6227
|
- Subject: feat: add execpolicy approval option for Codex
|
|
6044
6228
|
- Reasons: safety/security-sensitive area
|
|
@@ -6089,7 +6273,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ed4bc007308a patchFile=/
|
|
|
6089
6273
|
---
|
|
6090
6274
|
|
|
6091
6275
|
## 167 2025-12-24 78adc9c58811 `codex`
|
|
6092
|
-
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).
|
|
6093
6278
|
|
|
6094
6279
|
- Subject: feat(codex): support execpolicy approvals and MCP tool calls
|
|
6095
6280
|
- Reasons: safety/security-sensitive area
|
|
@@ -6151,7 +6336,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=78adc9c58811 patchFile=/
|
|
|
6151
6336
|
---
|
|
6152
6337
|
|
|
6153
6338
|
## 168 2026-01-22 9dfa09bef8d8 `i18n`
|
|
6154
|
-
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.
|
|
6155
6341
|
|
|
6156
6342
|
- Subject: fix(i18n): add Codex execpolicy button text
|
|
6157
6343
|
- Reasons: safety/security-sensitive area
|
|
@@ -6176,7 +6362,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9dfa09bef8d8 patchFile=/
|
|
|
6176
6362
|
---
|
|
6177
6363
|
|
|
6178
6364
|
## 169 2026-01-22 559d39da116d `reducer`
|
|
6179
|
-
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.
|
|
6180
6367
|
|
|
6181
6368
|
- Subject: fix(reducer): keep permission messages idempotent
|
|
6182
6369
|
- Reasons: safety/security-sensitive area
|
|
@@ -6210,7 +6397,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=559d39da116d patchFile=/
|
|
|
6210
6397
|
---
|
|
6211
6398
|
|
|
6212
6399
|
## 170 2026-01-18 cc3c711ae28e `claude`
|
|
6213
|
-
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.
|
|
6214
6402
|
|
|
6215
6403
|
- Subject: fix: move claudeArgs to end of args array for slash command support
|
|
6216
6404
|
- Reasons: correctness/UX; ensures the user prompt (including slash commands like `/help`) is positioned where the Claude CLI expects it
|
|
@@ -6239,7 +6427,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=cc3c711ae28e patchFile=/
|
|
|
6239
6427
|
---
|
|
6240
6428
|
|
|
6241
6429
|
## 171 2026-01-19 d06d5a833f8e `claude`
|
|
6242
|
-
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).
|
|
6243
6432
|
|
|
6244
6433
|
- Subject: Add signal forwarding to claudeLocal.ts
|
|
6245
6434
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -6265,7 +6454,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d06d5a833f8e patchFile=/
|
|
|
6265
6454
|
---
|
|
6266
6455
|
|
|
6267
6456
|
## 172 2025-11-20 1b7cb3bfea86 `codex`
|
|
6268
|
-
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.
|
|
6269
6459
|
|
|
6270
6460
|
- Subject: feat: handle /clear command as session reset in codex
|
|
6271
6461
|
- Reasons: UX/correctness; `/clear` should reset the Codex session state deterministically (similar to “new conversation”) instead of behaving like a normal message
|
|
@@ -6304,7 +6494,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1b7cb3bfea86 patchFile=/
|
|
|
6304
6494
|
---
|
|
6305
6495
|
|
|
6306
6496
|
## 173 2026-01-11 332ab2b0cd93 `cli`
|
|
6307
|
-
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).
|
|
6308
6499
|
|
|
6309
6500
|
- Subject: fix(cli): improve abort error handling to reduce spurious error messages
|
|
6310
6501
|
- Reasons: reliability/UX; prevents “process error” noise when a Claude run is intentionally aborted (mode switches, user aborts)
|
|
@@ -6339,7 +6530,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=332ab2b0cd93 patchFile=/
|
|
|
6339
6530
|
---
|
|
6340
6531
|
|
|
6341
6532
|
## 174 2025-12-24 e956463db3e2 `codex`
|
|
6342
|
-
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).
|
|
6343
6535
|
|
|
6344
6536
|
- Subject: fix: use runtime execPath for MCP bridge
|
|
6345
6537
|
- Reasons: safety/security-sensitive area
|
|
@@ -6368,7 +6560,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e956463db3e2 patchFile=/
|
|
|
6368
6560
|
---
|
|
6369
6561
|
|
|
6370
6562
|
## 175 2026-01-23 f0a7d8d0b40c `codex`
|
|
6371
|
-
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.
|
|
6372
6565
|
|
|
6373
6566
|
- Subject: fix(codex): use mcp tool call id for approvals
|
|
6374
6567
|
- Reasons: safety/security-sensitive area
|
|
@@ -6406,7 +6599,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0a7d8d0b40c patchFile=/
|
|
|
6406
6599
|
---
|
|
6407
6600
|
|
|
6408
6601
|
## 176 2026-01-22 da620b6865ad `server`
|
|
6409
|
-
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.
|
|
6410
6604
|
|
|
6411
6605
|
- Subject: feat(server): add full/light flavors with sqlite migrations
|
|
6412
6606
|
- Reasons: too many files (38)
|
|
@@ -6496,7 +6690,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=da620b6865ad patchFile=/
|
|
|
6496
6690
|
---
|
|
6497
6691
|
|
|
6498
6692
|
## 177 2026-01-23 893ce7af5df0 `expo-app`
|
|
6499
|
-
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.
|
|
6500
6695
|
|
|
6501
6696
|
- Subject: fix(expo-app): avoid hooks order violation on redirect
|
|
6502
6697
|
- Reasons: correctness; ensures hook call order is stable even when the layout redirects unauthenticated users
|
|
@@ -6526,7 +6721,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=893ce7af5df0 patchFile=/
|
|
|
6526
6721
|
---
|
|
6527
6722
|
|
|
6528
6723
|
## 178 2026-01-23 7afbc9a2decd `expo-app`
|
|
6529
|
-
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).
|
|
6530
6726
|
|
|
6531
6727
|
- Subject: fix(expo-app): persist resumeSessionId and harden clipboard paste
|
|
6532
6728
|
- Reasons: reliability/UX; ensures resume session id is preserved across app restarts and prevents paste crashes when clipboard read fails
|
|
@@ -6555,7 +6751,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7afbc9a2decd patchFile=/
|
|
|
6555
6751
|
---
|
|
6556
6752
|
|
|
6557
6753
|
## 179 2026-01-23 9a13879b753a `expo-app`
|
|
6558
|
-
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.
|
|
6559
6756
|
|
|
6560
6757
|
- Subject: fix(expo-app): avoid false homeDir prefix matches
|
|
6561
6758
|
- Reasons: correctness; prevents incorrect “path is inside home” detection (e.g. `/home/userfoo` is not under `/home/user`)
|
|
@@ -6583,7 +6780,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=9a13879b753a patchFile=/
|
|
|
6583
6780
|
---
|
|
6584
6781
|
|
|
6585
6782
|
## 180 2026-01-23 c107a779e07d `expo-app`
|
|
6586
|
-
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.
|
|
6587
6785
|
|
|
6588
6786
|
- Subject: fix(expo-app): avoid stuck loading in capabilities cache
|
|
6589
6787
|
- Reasons: reliability; ensures cache transitions to `error` when detection throws instead of remaining stuck in `loading`
|
|
@@ -6614,7 +6812,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c107a779e07d patchFile=/
|
|
|
6614
6812
|
---
|
|
6615
6813
|
|
|
6616
6814
|
## 181 2026-01-23 35c0974eff1f `expo-app`
|
|
6617
|
-
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.
|
|
6618
6817
|
|
|
6619
6818
|
- Subject: refactor(expo-app): remove dead code and dedupe types
|
|
6620
6819
|
- Reasons: small cleanup + reduces duplication; also removes an unused/duplicative error field
|
|
@@ -6643,7 +6842,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=35c0974eff1f patchFile=/
|
|
|
6643
6842
|
---
|
|
6644
6843
|
|
|
6645
6844
|
## 182 2026-01-23 b319d85e72c3 `i18n`
|
|
6646
|
-
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.
|
|
6647
6847
|
|
|
6648
6848
|
- Subject: fix(i18n): correct Spanish resumable label
|
|
6649
6849
|
- Reasons: translation correctness (typo fix)
|
|
@@ -6667,7 +6867,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b319d85e72c3 patchFile=/
|
|
|
6667
6867
|
---
|
|
6668
6868
|
|
|
6669
6869
|
## 183 2026-01-23 46186162ae14 `happy-cli`
|
|
6670
|
-
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).
|
|
6671
6872
|
|
|
6672
6873
|
- Subject: test(happy-cli): fix timer cleanup and MCP schema mocks
|
|
6673
6874
|
- Reasons: safety/security-sensitive area
|
|
@@ -6698,7 +6899,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=46186162ae14 patchFile=/
|
|
|
6698
6899
|
---
|
|
6699
6900
|
|
|
6700
6901
|
## 184 2026-01-23 ac5bf2f3abfa `happy-cli`
|
|
6701
|
-
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.
|
|
6702
6904
|
|
|
6703
6905
|
- Subject: test(happy-cli): reset modules for runtime override
|
|
6704
6906
|
- Reasons: test reliability; ensures env-driven runtime overrides don’t leak via module caching between tests
|
|
@@ -6725,7 +6927,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ac5bf2f3abfa patchFile=/
|
|
|
6725
6927
|
---
|
|
6726
6928
|
|
|
6727
6929
|
## 185 2026-01-23 947b8d1814fb `expo-app`
|
|
6728
|
-
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.
|
|
6729
6932
|
|
|
6730
6933
|
- Subject: refactor(expo-app): remove unused optimistic flag
|
|
6731
6934
|
- Reasons: cleanup; removes an unused intermediate boolean
|
|
@@ -6749,7 +6952,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=947b8d1814fb patchFile=/
|
|
|
6749
6952
|
---
|
|
6750
6953
|
|
|
6751
6954
|
## 186 2026-01-23 8cc823d1ba2d `server-light`
|
|
6752
|
-
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.
|
|
6753
6957
|
|
|
6754
6958
|
- Subject: fix(server-light): validate PORT and normalize paths
|
|
6755
6959
|
- Reasons: correctness + cross-platform hardening (invalid PORT should not produce invalid URLs; Windows path separators should be normalized)
|
|
@@ -6780,7 +6984,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8cc823d1ba2d patchFile=/
|
|
|
6780
6984
|
---
|
|
6781
6985
|
|
|
6782
6986
|
## 187 2026-01-23 8cb995a1abe1 `server`
|
|
6783
|
-
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.
|
|
6784
6989
|
|
|
6785
6990
|
- Subject: test(server): fix schema generation sort regex
|
|
6786
6991
|
- Reasons: test correctness; ensures the regex actually matches whitespace (not a literal `\\s`)
|
|
@@ -6804,7 +7009,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8cb995a1abe1 patchFile=/
|
|
|
6804
7009
|
---
|
|
6805
7010
|
|
|
6806
7011
|
## 188 2026-01-23 04d9c60ef8e7 `happy-cli`
|
|
6807
|
-
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.
|
|
6808
7014
|
|
|
6809
7015
|
- Subject: refactor(happy-cli): remove unreachable gemini error branch
|
|
6810
7016
|
- Reasons: cleanup; removes a redundant fallback branch in Gemini error formatting
|
|
@@ -6829,7 +7035,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=04d9c60ef8e7 patchFile=/
|
|
|
6829
7035
|
---
|
|
6830
7036
|
|
|
6831
7037
|
## 189 2026-01-23 2616e5e19253 `server`
|
|
6832
|
-
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.
|
|
6833
7040
|
|
|
6834
7041
|
- Subject: fix(server): handle missing UI index.html
|
|
6835
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
|
|
@@ -6861,7 +7068,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2616e5e19253 patchFile=/
|
|
|
6861
7068
|
---
|
|
6862
7069
|
|
|
6863
7070
|
## 190 2026-01-23 911365366024 `server`
|
|
6864
|
-
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.
|
|
6865
7073
|
|
|
6866
7074
|
- Subject: fix(server): make build typecheck tests
|
|
6867
7075
|
- Reasons: reliability; ensures `typecheck` exists as a stable script and server tests explicitly import vitest helpers
|
|
@@ -6887,7 +7095,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=911365366024 patchFile=/
|
|
|
6887
7095
|
---
|
|
6888
7096
|
|
|
6889
7097
|
## 191 2026-01-23 0dd19e7fb257 `expo-app`
|
|
6890
|
-
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.
|
|
6891
7100
|
|
|
6892
7101
|
- Subject: fix(expo-app): default codex resume spec to empty
|
|
6893
7102
|
- Reasons: safety/portability; avoids shipping a fork-specific default Codex resume installer spec as the global default setting
|
|
@@ -6914,7 +7123,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0dd19e7fb257 patchFile=/
|
|
|
6914
7123
|
---
|
|
6915
7124
|
|
|
6916
7125
|
## 192 2026-01-23 229e5fc36570 `server-light`
|
|
6917
|
-
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.
|
|
6918
7128
|
|
|
6919
7129
|
- Subject: fix(server-light): use file URLs for sqlite db
|
|
6920
7130
|
- Reasons: correctness; Prisma sqlite URLs are file URLs and should be formed with proper URL escaping and `file:///` prefix
|
|
@@ -6940,7 +7150,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=229e5fc36570 patchFile=/
|
|
|
6940
7150
|
---
|
|
6941
7151
|
|
|
6942
7152
|
## 193 2026-01-23 e6f597e436c5 `server`
|
|
6943
|
-
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).
|
|
6944
7155
|
|
|
6945
7156
|
- Subject: fix(server): fix server-light typecheck
|
|
6946
7157
|
- Reasons: type correctness for `Uint8Array` uploads and TS module settings compatibility
|
|
@@ -6970,7 +7181,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e6f597e436c5 patchFile=/
|
|
|
6970
7181
|
---
|
|
6971
7182
|
|
|
6972
7183
|
## 194 2026-01-23 1564e800e355 `server`
|
|
6973
|
-
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.
|
|
6974
7186
|
|
|
6975
7187
|
- Subject: fix(server): relax module settings for typecheck
|
|
6976
7188
|
- Reasons: typecheck compatibility; relaxes module config to avoid typecheck breakage under stricter `nodenext` settings
|
|
@@ -6997,7 +7209,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1564e800e355 patchFile=/
|
|
|
6997
7209
|
---
|
|
6998
7210
|
|
|
6999
7211
|
## 195 2026-01-23 8ab11f2788c1 `happy-cli`
|
|
7000
|
-
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.
|
|
7001
7214
|
|
|
7002
7215
|
- Subject: fix(happy-cli): parse CLI versions from full output
|
|
7003
7216
|
- Reasons: reliability; some CLIs may emit version strings outside the first line (or to stderr), so parsing only the first line is brittle
|
|
@@ -7024,7 +7237,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=8ab11f2788c1 patchFile=/
|
|
|
7024
7237
|
---
|
|
7025
7238
|
|
|
7026
7239
|
## 196 2026-01-23 21e096e9454e `i18n`
|
|
7027
|
-
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.
|
|
7028
7242
|
|
|
7029
7243
|
- Subject: fix(i18n): localize session settings item
|
|
7030
7244
|
- Reasons: i18n completeness; removes hard-coded “Session” strings in settings list and adds translations
|
|
@@ -7051,7 +7265,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=21e096e9454e patchFile=/
|
|
|
7051
7265
|
---
|
|
7052
7266
|
|
|
7053
7267
|
## 197 2026-01-23 7ca9e93196d6 `i18n`
|
|
7054
|
-
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.
|
|
7055
7270
|
|
|
7056
7271
|
- Subject: fix(i18n): translate ExitPlanMode strings
|
|
7057
7272
|
- Reasons: i18n completeness; replaces English placeholder strings for ExitPlanMode tool UI with real translations
|
|
@@ -7083,7 +7298,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=7ca9e93196d6 patchFile=/
|
|
|
7083
7298
|
---
|
|
7084
7299
|
|
|
7085
7300
|
## 198 2026-01-23 c4a81947f002 `expo-app`
|
|
7086
|
-
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.
|
|
7087
7303
|
|
|
7088
7304
|
- Subject: fix(i18n): localize search error
|
|
7089
7305
|
- Reasons: correctness + UX; switches from displaying raw error strings to a stable error code + localized message
|
|
@@ -7114,7 +7330,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c4a81947f002 patchFile=/
|
|
|
7114
7330
|
---
|
|
7115
7331
|
|
|
7116
7332
|
## 199 2026-01-23 208f0222a997 `expo-app`
|
|
7117
|
-
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).
|
|
7118
7335
|
|
|
7119
7336
|
- Subject: fix(i18n): localize Codex resume dialog
|
|
7120
7337
|
- Reasons: UX/i18n; replaces hard-coded English modal strings and improves the web UX around new-session flow
|
|
@@ -7150,7 +7367,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=208f0222a997 patchFile=/
|
|
|
7150
7367
|
---
|
|
7151
7368
|
|
|
7152
7369
|
## 200 2026-01-23 02ad6b4a8352 `i18n`
|
|
7153
|
-
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.
|
|
7154
7372
|
|
|
7155
7373
|
- Subject: fix(i18n): move openMachine to connect scope
|
|
7156
7374
|
- Reasons: i18n taxonomy; groups “Open machine” under connect/restore flow instead of global/common
|
|
@@ -7175,7 +7393,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=02ad6b4a8352 patchFile=/
|
|
|
7175
7393
|
---
|
|
7176
7394
|
|
|
7177
7395
|
## 201 2026-01-23 ce42bf56d7b6 `web`
|
|
7178
|
-
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.
|
|
7179
7398
|
|
|
7180
7399
|
- Subject: fix(web): correct libsodium wrapper typing
|
|
7181
7400
|
- Reasons: web runtime correctness; avoids Metro web blank-page failures caused by top-level `await` in ESM builds, while keeping TypeScript typing usable
|
|
@@ -7206,7 +7425,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ce42bf56d7b6 patchFile=/
|
|
|
7206
7425
|
---
|
|
7207
7426
|
|
|
7208
7427
|
## 202 2026-01-23 f0417ca11ac5 `web`
|
|
7209
|
-
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.
|
|
7210
7430
|
|
|
7211
7431
|
- Subject: fix(web): keep libsodium wrapper namespace typing
|
|
7212
7432
|
- Reasons: TypeScript correctness; ensures the exported value preserves the `typeof sodiumType` namespace typing
|
|
@@ -7230,7 +7450,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=f0417ca11ac5 patchFile=/
|
|
|
7230
7450
|
---
|
|
7231
7451
|
|
|
7232
7452
|
## 203 2026-01-23 b6d3874bf175 `settings`
|
|
7233
|
-
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.
|
|
7234
7455
|
|
|
7235
7456
|
- Subject: fix(settings): include Codex resume in master experiment toggle
|
|
7236
7457
|
- Reasons: UX correctness; turning off the master “experiments” switch should also disable the Codex resume experiment flag
|
|
@@ -7254,7 +7475,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b6d3874bf175 patchFile=/
|
|
|
7254
7475
|
---
|
|
7255
7476
|
|
|
7256
7477
|
## 204 2026-01-23 a4d7faba961f `expo-app`
|
|
7257
|
-
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.
|
|
7258
7480
|
|
|
7259
7481
|
- Subject: fix(i18n): localize session error fallbacks
|
|
7260
7482
|
- Reasons: UX/i18n; removes hard-coded English “Error / failed to …” fallbacks and localizes session-level error messaging
|
|
@@ -7288,7 +7510,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a4d7faba961f patchFile=/
|
|
|
7288
7510
|
---
|
|
7289
7511
|
|
|
7290
7512
|
## 205 2026-01-23 1ea2bddb8bbd `server`
|
|
7291
|
-
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).
|
|
7292
7515
|
|
|
7293
7516
|
- Subject: test(server): validate processImage resize output
|
|
7294
7517
|
- Reasons: test correctness; ensures pixel buffer length reflects the resized dimensions (while width/height metadata remains original)
|
|
@@ -7315,7 +7538,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1ea2bddb8bbd patchFile=/
|
|
|
7315
7538
|
---
|
|
7316
7539
|
|
|
7317
7540
|
## 206 2026-01-23 1e7d7f8a4747 `server`
|
|
7318
|
-
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).
|
|
7319
7543
|
|
|
7320
7544
|
- Subject: fix(server): keep light server running
|
|
7321
7545
|
- Reasons: correctness; `main.light.ts` should not exit immediately after `startServer('light')` resolves (that would shut down the server process)
|
|
@@ -7340,7 +7564,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1e7d7f8a4747 patchFile=/
|
|
|
7340
7564
|
---
|
|
7341
7565
|
|
|
7342
7566
|
## 207 2026-01-23 61bf70183ebf `cli`
|
|
7343
|
-
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.
|
|
7344
7569
|
|
|
7345
7570
|
- Subject: test(cli): set DEBUG before importing logger
|
|
7346
7571
|
- Reasons: test correctness; `logger` reads env at import time, so setting `DEBUG` after import won’t enable debug-mode logging behavior
|
|
@@ -7364,7 +7589,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=61bf70183ebf patchFile=/
|
|
|
7364
7589
|
---
|
|
7365
7590
|
|
|
7366
7591
|
## 208 2026-01-23 61a18ac95e17 `tools`
|
|
7367
|
-
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.
|
|
7368
7594
|
|
|
7369
7595
|
- Subject: fix(tools): require permission id for ExitPlanMode actions
|
|
7370
7596
|
- Reasons: safety/security-sensitive area
|
|
@@ -7398,7 +7624,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=61a18ac95e17 patchFile=/
|
|
|
7398
7624
|
---
|
|
7399
7625
|
|
|
7400
7626
|
## 209 2026-01-23 5b36c9bf91c1 `tools`
|
|
7401
|
-
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.
|
|
7402
7629
|
|
|
7403
7630
|
- Subject: test(tools): avoid null permission in ExitPlanToolView tests
|
|
7404
7631
|
- Reasons: safety/security-sensitive area
|
|
@@ -7421,7 +7648,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5b36c9bf91c1 patchFile=/
|
|
|
7421
7648
|
---
|
|
7422
7649
|
|
|
7423
7650
|
## 210 2026-01-23 b7f63e928e4f `persistence`
|
|
7424
|
-
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.
|
|
7425
7653
|
|
|
7426
7654
|
- Subject: fix(persistence): retry daemon state read when file appears
|
|
7427
7655
|
- Reasons: reliability (filesystem race between daemon state writer/reader)
|
|
@@ -7458,7 +7686,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b7f63e928e4f patchFile=/
|
|
|
7458
7686
|
---
|
|
7459
7687
|
|
|
7460
7688
|
## 211 2026-01-23 55428fb0253c `tools`
|
|
7461
|
-
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.
|
|
7462
7691
|
|
|
7463
7692
|
- Subject: fix(tools): alert when AskUserQuestion permission id is missing
|
|
7464
7693
|
- Reasons: safety/security-sensitive area
|
|
@@ -7490,7 +7719,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=55428fb0253c patchFile=/
|
|
|
7490
7719
|
---
|
|
7491
7720
|
|
|
7492
7721
|
## 212 2026-01-23 dc6955f88abd `terminal`
|
|
7493
|
-
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.
|
|
7494
7724
|
|
|
7495
7725
|
- Subject: fix(terminal): prevent sessionId path traversal in attachment info
|
|
7496
7726
|
- Reasons: safety/security-sensitive area
|
|
@@ -7527,7 +7757,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dc6955f88abd patchFile=/
|
|
|
7527
7757
|
---
|
|
7528
7758
|
|
|
7529
7759
|
## 213 2026-01-23 bb685fbeff7b `terminal`
|
|
7530
|
-
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.
|
|
7531
7762
|
|
|
7532
7763
|
- Subject: fix(terminal): clarify missing --happy-starting-mode value
|
|
7533
7764
|
- Reasons: reliability (avoid silently consuming the next flag as a value; clearer CLI errors)
|
|
@@ -7556,7 +7787,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bb685fbeff7b patchFile=/
|
|
|
7556
7787
|
---
|
|
7557
7788
|
|
|
7558
7789
|
## 214 2026-01-23 5bcc7d20cd6b `utils`
|
|
7559
|
-
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.
|
|
7560
7792
|
|
|
7561
7793
|
- Subject: test(utils): stabilize serverConnectionErrors retry count test
|
|
7562
7794
|
- Reasons: test reliability (remove nondeterministic jitter behavior)
|
|
@@ -7581,7 +7813,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=5bcc7d20cd6b patchFile=/
|
|
|
7581
7813
|
---
|
|
7582
7814
|
|
|
7583
7815
|
## 215 2026-01-23 82968aa8fe6c `ui`
|
|
7584
|
-
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.
|
|
7585
7818
|
|
|
7586
7819
|
- Subject: fix(ui): send pending messages before closing modal
|
|
7587
7820
|
- Reasons: correctness + data integrity (avoid closing/removing pending messages before they are sent)
|
|
@@ -7617,7 +7850,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82968aa8fe6c patchFile=/
|
|
|
7617
7850
|
---
|
|
7618
7851
|
|
|
7619
7852
|
## 216 2026-01-23 b7219c8bfe2b `ink`
|
|
7620
|
-
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).
|
|
7621
7855
|
|
|
7622
7856
|
- Subject: fix(ink): avoid async useInput handler
|
|
7623
7857
|
- Reasons: reliability (Ink input handlers should not be `async` / avoid dangling promises on unmount)
|
|
@@ -7643,7 +7877,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b7219c8bfe2b patchFile=/
|
|
|
7643
7877
|
---
|
|
7644
7878
|
|
|
7645
7879
|
## 217 2026-01-23 d70a6f6669fe `claude`
|
|
7646
|
-
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.
|
|
7647
7882
|
|
|
7648
7883
|
- Subject: fix(claude): trim CLAUDE_CONFIG_DIR overrides
|
|
7649
7884
|
- Reasons: correctness (treat env var overrides robustly; avoid creating paths with accidental whitespace)
|
|
@@ -7668,7 +7903,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d70a6f6669fe patchFile=/
|
|
|
7668
7903
|
---
|
|
7669
7904
|
|
|
7670
7905
|
## 218 2026-01-23 47f638b73fca `utils`
|
|
7671
|
-
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).
|
|
7672
7908
|
|
|
7673
7909
|
- Subject: test(utils): cover failuresCount with custom backoff
|
|
7674
7910
|
- Reasons: reliability/observability (ensure consistent `failuresCount` semantics for error callbacks)
|
|
@@ -7695,7 +7931,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=47f638b73fca patchFile=/
|
|
|
7695
7931
|
---
|
|
7696
7932
|
|
|
7697
7933
|
## 219 2026-01-23 2abc70fef03c `utils`
|
|
7698
|
-
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.
|
|
7699
7936
|
|
|
7700
7937
|
- Subject: fix(utils): track failuresCount for custom backoff
|
|
7701
7938
|
- Reasons: correctness (make `failuresCount` behavior consistent across default vs custom backoff implementations)
|
|
@@ -7727,7 +7964,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=2abc70fef03c patchFile=/
|
|
|
7727
7964
|
---
|
|
7728
7965
|
|
|
7729
7966
|
## 220 2026-01-23 dc8016f01c56 `server`
|
|
7730
|
-
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.
|
|
7731
7969
|
|
|
7732
7970
|
- Subject: fix(server): validate HAPPY_SERVER_LIGHT_DATA_DIR for light migrations
|
|
7733
7971
|
- Reasons: reliability (fail fast with a clear error rather than crashing mid-migration)
|
|
@@ -7759,7 +7997,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=dc8016f01c56 patchFile=/
|
|
|
7759
7997
|
---
|
|
7760
7998
|
|
|
7761
7999
|
## 221 2026-01-23 b0085827322c `server`
|
|
7762
|
-
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.
|
|
7763
8002
|
|
|
7764
8003
|
- Subject: fix(server): handle missing UI index in error handlers
|
|
7765
8004
|
- Reasons: reliability (serve “not found” instead of 500 when UI bundle is absent/misconfigured)
|
|
@@ -7792,7 +8031,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=b0085827322c patchFile=/
|
|
|
7792
8031
|
---
|
|
7793
8032
|
|
|
7794
8033
|
## 222 2026-01-23 abf288056636 `cli`
|
|
7795
|
-
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.
|
|
7796
8036
|
|
|
7797
8037
|
- Subject: fix(cli): reject invalid messageQueueV1 inFlight
|
|
7798
8038
|
- Reasons: correctness (avoid accepting partially-shaped persisted state)
|
|
@@ -7821,7 +8061,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=abf288056636 patchFile=/
|
|
|
7821
8061
|
---
|
|
7822
8062
|
|
|
7823
8063
|
## 223 2026-01-23 73ce32d242a0 `i18n`
|
|
7824
|
-
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).
|
|
7825
8066
|
|
|
7826
8067
|
- Subject: fix(i18n): translate Spanish experiment subtitles
|
|
7827
8068
|
- Reasons: UX polish (remove leftover English strings in Spanish locale)
|
|
@@ -7844,7 +8085,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=73ce32d242a0 patchFile=/
|
|
|
7844
8085
|
---
|
|
7845
8086
|
|
|
7846
8087
|
## 224 2026-01-23 98bc00096e86 `new-session`
|
|
7847
|
-
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.
|
|
7848
8090
|
|
|
7849
8091
|
- Subject: fix(i18n): localize Codex resume banner
|
|
7850
8092
|
- Reasons: UX/i18n, but the commit also includes unrelated refactors (mixed concerns)
|
|
@@ -7881,7 +8123,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=98bc00096e86 patchFile=/
|
|
|
7881
8123
|
---
|
|
7882
8124
|
|
|
7883
8125
|
## 225 2026-01-23 4fabec9b69b3 `new-session`
|
|
7884
|
-
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.
|
|
7885
8128
|
|
|
7886
8129
|
- Subject: feat(new-session): add WizardSectionHeaderRow
|
|
7887
8130
|
- Reasons: UI consistency (reduce repeated header-row markup in wizard sections)
|
|
@@ -7907,7 +8150,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=4fabec9b69b3 patchFile=/
|
|
|
7907
8150
|
---
|
|
7908
8151
|
|
|
7909
8152
|
## 226 2026-01-23 c461ed1cb4ef `permission`
|
|
7910
|
-
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.
|
|
7911
8155
|
|
|
7912
8156
|
- Subject: feat(permission): add permission mode option helpers
|
|
7913
8157
|
- Reasons: safety/security-sensitive area
|
|
@@ -7941,7 +8185,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c461ed1cb4ef patchFile=/
|
|
|
7941
8185
|
---
|
|
7942
8186
|
|
|
7943
8187
|
## 227 2026-01-23 23b595edd0fe `sync`
|
|
7944
|
-
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.
|
|
7945
8190
|
|
|
7946
8191
|
- Subject: refactor(sync): simplify path formatting
|
|
7947
8192
|
- Reasons: small refactor (reduce branching; keep output identical)
|
|
@@ -7969,7 +8214,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=23b595edd0fe patchFile=/
|
|
|
7969
8214
|
---
|
|
7970
8215
|
|
|
7971
8216
|
## 228 2026-01-23 523989b4de8e `server-light`
|
|
7972
|
-
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.
|
|
7973
8219
|
|
|
7974
8220
|
- Subject: fix(server-light): avoid master secret race
|
|
7975
8221
|
- Reasons: safety/security-sensitive area
|
|
@@ -7996,7 +8242,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=523989b4de8e patchFile=/
|
|
|
7996
8242
|
---
|
|
7997
8243
|
|
|
7998
8244
|
## 229 2026-01-23 d89a9427e765 `cli`
|
|
7999
|
-
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.
|
|
8000
8247
|
|
|
8001
8248
|
- Subject: fix(cli): clean up metadata waiters on disconnect
|
|
8002
8249
|
- Reasons: reliability (avoid hanging waiters and event-listener leaks on socket disconnect)
|
|
@@ -8026,7 +8273,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d89a9427e765 patchFile=/
|
|
|
8026
8273
|
---
|
|
8027
8274
|
|
|
8028
8275
|
## 230 2026-01-23 fedb8a66160a `cli`
|
|
8029
|
-
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).
|
|
8030
8278
|
|
|
8031
8279
|
- Subject: test(cli): accept lowercase preview-env keys
|
|
8032
8280
|
- Reasons: define intended behavior before/alongside the implementation change
|
|
@@ -8053,7 +8301,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fedb8a66160a patchFile=/
|
|
|
8053
8301
|
---
|
|
8054
8302
|
|
|
8055
8303
|
## 231 2026-01-23 fc0ce89b13b7 `cli`
|
|
8056
|
-
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.
|
|
8057
8306
|
|
|
8058
8307
|
- Subject: fix(cli): allow lowercase preview-env keys
|
|
8059
8308
|
- Reasons: correctness + security hardening (input validation + prototype-pollution defense)
|
|
@@ -8086,7 +8335,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=fc0ce89b13b7 patchFile=/
|
|
|
8086
8335
|
---
|
|
8087
8336
|
|
|
8088
8337
|
## 232 2026-01-23 ad95c5b01c25 `hooks`
|
|
8089
|
-
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.
|
|
8090
8340
|
|
|
8091
8341
|
- Subject: test(happy): keep useCLIDetection timestamp stable
|
|
8092
8342
|
- Reasons: define stable timestamp semantics for “loaded snapshots missing checkedAt”
|
|
@@ -8113,7 +8363,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=ad95c5b01c25 patchFile=/
|
|
|
8113
8363
|
---
|
|
8114
8364
|
|
|
8115
8365
|
## 233 2026-01-23 c251edf3c307 `hooks`
|
|
8116
|
-
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.
|
|
8117
8368
|
|
|
8118
8369
|
- Subject: test(happy): fix useCLIDetection timestamp test
|
|
8119
8370
|
- Reasons: test hygiene (proper `act()` usage; timer cleanup)
|
|
@@ -8139,7 +8390,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c251edf3c307 patchFile=/
|
|
|
8139
8390
|
---
|
|
8140
8391
|
|
|
8141
8392
|
## 234 2026-01-23 34fa4091d3cc `hooks`
|
|
8142
|
-
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.
|
|
8143
8395
|
|
|
8144
8396
|
- Subject: fix(happy): stabilize useCLIDetection timestamp
|
|
8145
8397
|
- Reasons: reliability (avoid timestamp flapping across renders when `checkedAt` is missing)
|
|
@@ -8174,7 +8426,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=34fa4091d3cc patchFile=/
|
|
|
8174
8426
|
---
|
|
8175
8427
|
|
|
8176
8428
|
## 235 2026-01-23 31340e53294c `hooks`
|
|
8177
|
-
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.
|
|
8178
8431
|
|
|
8179
8432
|
- Subject: fix(happy): inline CLI detection request
|
|
8180
8433
|
- Reasons: simplify dependency surface (avoid shared-constant import for this hook)
|
|
@@ -8202,7 +8455,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=31340e53294c patchFile=/
|
|
|
8202
8455
|
---
|
|
8203
8456
|
|
|
8204
8457
|
## 236 2026-01-23 054250f408e2 `i18n`
|
|
8205
|
-
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.
|
|
8206
8460
|
|
|
8207
8461
|
- Subject: fix(i18n): localize codex resume install modals
|
|
8208
8462
|
- Reasons: UX/i18n + more robust user-facing install errors
|
|
@@ -8237,7 +8491,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=054250f408e2 patchFile=/
|
|
|
8237
8491
|
---
|
|
8238
8492
|
|
|
8239
8493
|
## 237 2026-01-23 241f0ae24b1d `cli`
|
|
8240
|
-
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.
|
|
8241
8496
|
|
|
8242
8497
|
- Subject: test(cli): prevent legacy sessionId path traversal
|
|
8243
8498
|
- Reasons: safety/security-sensitive area
|
|
@@ -8261,7 +8516,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=241f0ae24b1d patchFile=/
|
|
|
8261
8516
|
---
|
|
8262
8517
|
|
|
8263
8518
|
## 238 2026-01-23 a1e4a6dd3fbd `cli`
|
|
8264
|
-
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.
|
|
8265
8521
|
|
|
8266
8522
|
- Subject: fix(cli): block legacy sessionId path traversal
|
|
8267
8523
|
- Reasons: safety/security-sensitive area
|
|
@@ -8285,7 +8541,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=a1e4a6dd3fbd patchFile=/
|
|
|
8285
8541
|
---
|
|
8286
8542
|
|
|
8287
8543
|
## 239 2026-01-23 e2618e04a26b `a11y`
|
|
8288
|
-
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.
|
|
8289
8546
|
|
|
8290
8547
|
- Subject: fix(a11y): add labels to codex resume actions
|
|
8291
8548
|
- Reasons: accessibility (screen readers need roles/labels for icon-only buttons)
|
|
@@ -8311,7 +8568,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=e2618e04a26b patchFile=/
|
|
|
8311
8568
|
---
|
|
8312
8569
|
|
|
8313
8570
|
## 240 2026-01-23 d0f9ad5e8310 `claude`
|
|
8314
|
-
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.
|
|
8315
8573
|
|
|
8316
8574
|
- Subject: test(claude): remove stale transcriptPath red-test scaffolding
|
|
8317
8575
|
- Reasons: test hygiene (remove intentional-red scaffolding once feature is implemented)
|
|
@@ -8339,7 +8597,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=d0f9ad5e8310 patchFile=/
|
|
|
8339
8597
|
---
|
|
8340
8598
|
|
|
8341
8599
|
## 241 2026-01-23 1464402758bf `codex`
|
|
8342
|
-
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.
|
|
8343
8602
|
|
|
8344
8603
|
- Subject: fix(codex): preserve falsy MCP tool results
|
|
8345
8604
|
- Reasons: safety/security-sensitive area
|
|
@@ -8366,7 +8625,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=1464402758bf patchFile=/
|
|
|
8366
8625
|
---
|
|
8367
8626
|
|
|
8368
8627
|
## 242 2026-01-23 57f84f0691c6 `server-light`
|
|
8369
|
-
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.
|
|
8370
8630
|
|
|
8371
8631
|
- Subject: fix(server-light): harden public file path encoding
|
|
8372
8632
|
- Reasons: security + correctness (path traversal defenses; correct URL encoding of `#`/`?`)
|
|
@@ -8403,7 +8663,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=57f84f0691c6 patchFile=/
|
|
|
8403
8663
|
---
|
|
8404
8664
|
|
|
8405
8665
|
## 243 2026-01-23 0b7db6945325 `storage`
|
|
8406
|
-
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.
|
|
8407
8668
|
|
|
8408
8669
|
- Subject: fix(storage): validate S3_PORT and bucket existence
|
|
8409
8670
|
- Reasons: reliability (fail fast for misconfiguration; prevent runtime surprises)
|
|
@@ -8436,7 +8697,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=0b7db6945325 patchFile=/
|
|
|
8436
8697
|
---
|
|
8437
8698
|
|
|
8438
8699
|
## 244 2026-01-23 74fc860b07b5 `queue`
|
|
8439
|
-
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.
|
|
8440
8702
|
|
|
8441
8703
|
- Subject: refactor(queue): simplify stale in-flight reclaim
|
|
8442
8704
|
- Reasons: small refactor (reduce dead branches; make intent clearer)
|
|
@@ -8462,7 +8724,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=74fc860b07b5 patchFile=/
|
|
|
8462
8724
|
---
|
|
8463
8725
|
|
|
8464
8726
|
## 245 2026-01-23 82bf82cb6715 `hooks`
|
|
8465
|
-
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.
|
|
8466
8729
|
|
|
8467
8730
|
- Subject: fix(hooks): prevent stale capabilities cache overwrite
|
|
8468
8731
|
- Reasons: reliability (race condition: older in-flight request should not clobber newer loaded state)
|
|
@@ -8495,7 +8758,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=82bf82cb6715 patchFile=/
|
|
|
8495
8758
|
---
|
|
8496
8759
|
|
|
8497
8760
|
## 246 2026-01-23 384b15252026 `expo`
|
|
8498
|
-
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.
|
|
8499
8763
|
|
|
8500
8764
|
- Subject: fix(expo): harden tool submit and pending send
|
|
8501
8765
|
- Reasons: reliability + user-data safety (avoid losing pending messages; show errors instead of silent console logs)
|
|
@@ -8546,7 +8810,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=384b15252026 patchFile=/
|
|
|
8546
8810
|
---
|
|
8547
8811
|
|
|
8548
8812
|
## 247 2026-01-23 24b607abfa07 `server`
|
|
8549
|
-
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.
|
|
8550
8815
|
|
|
8551
8816
|
- Subject: Refactor schema sync and centralize Prisma types
|
|
8552
8817
|
- Reasons: non-Conventional-Commits subject; too many files (29)
|
|
@@ -8600,7 +8865,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=24b607abfa07 patchFile=/
|
|
|
8600
8865
|
---
|
|
8601
8866
|
|
|
8602
8867
|
## 248 2026-01-23 bf3027799623 `expo-app`
|
|
8603
|
-
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.
|
|
8604
8870
|
|
|
8605
8871
|
- Subject: Set EXPO_UNSTABLE_WEB_MODAL env var in Expo scripts
|
|
8606
8872
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -8642,7 +8908,8 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=bf3027799623 patchFile=/
|
|
|
8642
8908
|
---
|
|
8643
8909
|
|
|
8644
8910
|
## 249 2026-01-23 c803115dcbdc `expo-app`
|
|
8645
|
-
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.
|
|
8646
8913
|
|
|
8647
8914
|
- Subject: Improve postinstall script for symlinked paths and patching
|
|
8648
8915
|
- Reasons: non-Conventional-Commits subject
|
|
@@ -8671,3 +8938,880 @@ Pass2FullDiff: CAPTURED at 2026-01-24T17:39:06+0100 sha=c803115dcbdc patchFile=/
|
|
|
8671
8938
|
- Current subject is fine as long as it becomes Conventional Commits: `fix(expo): improve postinstall patching for symlinked paths`
|
|
8672
8939
|
|
|
8673
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
|
+
---
|