happy-stacks 0.6.12 → 0.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/docs/commit-audits/happy/_tools/generate-plans.mjs +453 -0
  2. package/docs/commit-audits/happy/_tools/generate-pr-assignment.mjs +430 -0
  3. package/docs/commit-audits/happy/_tools/init-pr-assignment-working.mjs +107 -0
  4. package/docs/commit-audits/happy/leeroy-wip.commit-analysis.md +1849 -0
  5. package/docs/commit-audits/happy/leeroy-wip.commit-export.fuller-stat.md +747 -1
  6. package/docs/commit-audits/happy/leeroy-wip.commit-index.json +11740 -0
  7. package/docs/commit-audits/happy/leeroy-wip.commit-index.tsv +252 -0
  8. package/docs/commit-audits/happy/leeroy-wip.commit-inventory.md +18 -11
  9. package/docs/commit-audits/happy/leeroy-wip.commit-manual-review.md +1236 -92
  10. package/docs/commit-audits/happy/leeroy-wip.maintainers-overview.draft.md +448 -0
  11. package/docs/commit-audits/happy/leeroy-wip.pr-assignment.draft.tsv +252 -0
  12. package/docs/commit-audits/happy/leeroy-wip.pr-assignment.working.tsv +288 -0
  13. package/docs/commit-audits/happy/leeroy-wip.pr-catalog.draft.md +245 -0
  14. package/docs/commit-audits/happy/leeroy-wip.pr-stack-plan.draft.md +350 -0
  15. package/docs/commit-audits/happy/leeroy-wip.rewrite-deferred-fragments.tsv +65 -0
  16. package/docs/commit-audits/happy/leeroy-wip.rewrite-ledger.tsv +56 -0
  17. package/docs/commit-audits/happy/leeroy-wip.rewrite-process.md +240 -0
  18. package/docs/commit-audits/happy/leeroy-wip.rewrite-status.tsv +39 -0
  19. package/docs/commit-audits/happy/leeroy-wip.split-plan.draft.md +93 -0
  20. package/docs/commit-audits/happy/leeroy-wip.topic-buckets.md +76 -0
  21. package/docs/commit-audits/happy/pr-desc.extraction-ledger.tsv +279 -0
  22. package/docs/commit-audits/happy/pr-desc.original.md +0 -0
  23. package/docs/commit-audits/happy/pr-desc.post-audit-extraction-ledger.tsv +54 -0
  24. package/docs/commit-audits/happy/pr-desc.working-document.md +536 -0
  25. package/docs/happy-development.md +18 -1
  26. package/docs/isolated-linux-vm.md +23 -1
  27. package/docs/stacks.md +21 -1
  28. package/package.json +1 -1
  29. package/scripts/auth.mjs +46 -8
  30. package/scripts/daemon.mjs +44 -21
  31. package/scripts/doctor.mjs +2 -2
  32. package/scripts/doctor_cmd.test.mjs +67 -0
  33. package/scripts/happy.mjs +18 -5
  34. package/scripts/provision/linux-ubuntu-review-pr.sh +5 -1
  35. package/scripts/provision/macos-lima-happy-vm.sh +34 -2
  36. package/scripts/review.mjs +347 -124
  37. package/scripts/review_pr.mjs +78 -2
  38. package/scripts/run.mjs +2 -1
  39. package/scripts/stack.mjs +265 -19
  40. package/scripts/stack_daemon_cmd.test.mjs +196 -0
  41. package/scripts/stack_happy_cmd.test.mjs +103 -0
  42. package/scripts/utils/cli/prereqs.mjs +12 -1
  43. package/scripts/utils/dev/daemon.mjs +3 -1
  44. package/scripts/utils/proc/pm.mjs +1 -1
  45. package/scripts/utils/review/detached_worktree.mjs +61 -0
  46. package/scripts/utils/review/detached_worktree.test.mjs +62 -0
  47. package/scripts/utils/review/findings.mjs +133 -20
  48. package/scripts/utils/review/findings.test.mjs +88 -1
  49. package/scripts/utils/review/runners/augment.mjs +71 -0
  50. package/scripts/utils/review/runners/augment.test.mjs +42 -0
  51. package/scripts/utils/review/runners/coderabbit.mjs +54 -10
  52. package/scripts/utils/review/runners/coderabbit.test.mjs +15 -48
  53. package/scripts/utils/review/sliced_runner.mjs +39 -0
  54. package/scripts/utils/review/sliced_runner.test.mjs +47 -0
  55. package/scripts/utils/review/tool_home_seed.mjs +99 -0
  56. package/scripts/utils/review/tool_home_seed.test.mjs +113 -0
  57. package/scripts/utils/stack/cli_identities.mjs +29 -0
  58. package/scripts/utils/stack/startup.mjs +45 -7
  59. package/scripts/worktrees.mjs +8 -5
@@ -1,6 +1,6 @@
1
1
  # leeroy-wip commit export (full message + stats)
2
2
 
3
- Generated: 2026-01-24
3
+ Generated: 2026-01-25
4
4
  Worktree: /Users/leeroy/Documents/Development/happy-local/components/.worktrees/happy/slopus/tmp/leeroy-wip
5
5
  Range: upstream/main..leeroy-wip
6
6
 
@@ -3842,4 +3842,750 @@ CommitDate: 2026-01-23
3842
3842
  Resolves symlinks when determining toolsDir to support Yarn workspaces executing the script via symlinked paths. Adds a second patch-package run scoped to expo-app to apply patches for dependencies not hoisted to the repo root, such as expo-router.
3843
3843
 
3844
3844
  M expo-app/tools/postinstall.mjs
3845
+
3846
+ commit 0c3b41030bbc4a888e621a6b5787eaac4b581a59
3847
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
3848
+ AuthorDate: 2026-01-24
3849
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
3850
+ CommitDate: 2026-01-24
3851
+
3852
+ Add Vitest stubs for Expo and React Native modules
3853
+
3854
+ 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.
3855
+
3856
+ A expo-app/sources/dev/expoLocalizationStub.ts
3857
+ A expo-app/sources/dev/expoModulesCoreStub.ts
3858
+ M expo-app/sources/dev/reactNativeStub.ts
3859
+ A expo-app/sources/dev/vitestSetup.ts
3860
+
3861
+ commit 7d60e6fc77f28a0457e306780c44956e8cb4c4c7
3862
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
3863
+ AuthorDate: 2026-01-25
3864
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
3865
+ CommitDate: 2026-01-25
3866
+
3867
+ cli(acp): support loadSession + replay capture; normalize tool events
3868
+
3869
+ - Adds replay history capture + import helpers and publishSlashCommands
3870
+ - Normalizes ACP tool events and permission request payloads
3871
+ - Adds focused tests for tool normalization + permission mapping
3872
+
3873
+ M cli/src/agent/acp/AcpBackend.ts
3874
+ A cli/src/agent/acp/bridge/acpCommonHandlers.test.ts
3875
+ A cli/src/agent/acp/bridge/acpCommonHandlers.ts
3876
+ A cli/src/agent/acp/commands/publishSlashCommands.ts
3877
+ A cli/src/agent/acp/history/acpReplayCapture.ts
3878
+ A cli/src/agent/acp/history/importAcpReplayHistory.ts
3879
+ A cli/src/agent/acp/permissions/permissionMapping.test.ts
3880
+ A cli/src/agent/acp/permissions/permissionMapping.ts
3881
+ A cli/src/agent/acp/permissions/permissionRequest.test.ts
3882
+ A cli/src/agent/acp/permissions/permissionRequest.ts
3883
+ A cli/src/agent/acp/sessionUpdateHandlers.test.ts
3884
+ M cli/src/agent/acp/sessionUpdateHandlers.ts
3885
+ A cli/src/agent/acp/toolNormalization.test.ts
3886
+ A cli/src/agent/acp/toolNormalization.ts
3887
+ M cli/src/agent/core/AgentBackend.ts
3888
+ A cli/src/agent/transport/handlers/GeminiTransport.test.ts
3889
+ M cli/src/agent/transport/handlers/GeminiTransport.ts
3890
+
3891
+ commit e35328ab19ad2f00fa581e7e85ee75c91cb13f04
3892
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
3893
+ AuthorDate: 2026-01-25
3894
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
3895
+ CommitDate: 2026-01-25
3896
+
3897
+ cli(permissions): persist per-session allowlists; harden shell approvals
3898
+
3899
+ - Introduces BasePermissionHandler allowlist persistence and a shell command allowlist
3900
+ - Adds tool identifier helpers to keep permission decisions consistent across agents
3901
+ - Adds targeted tests for allowlist behavior and tool identifier
3902
+
3903
+ M cli/src/codex/utils/permissionHandler.ts
3904
+ M cli/src/gemini/utils/permissionHandler.ts
3905
+ A cli/src/utils/BasePermissionHandler.allowlist.test.ts
3906
+ M cli/src/utils/BasePermissionHandler.ts
3907
+ A cli/src/utils/permissionToolIdentifier.test.ts
3908
+ A cli/src/utils/permissionToolIdentifier.ts
3909
+ A cli/src/utils/shellCommandAllowlist.ts
3910
+
3911
+ commit caf5adfe344919984e46a0eabc0fa570601fcd65
3912
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
3913
+ AuthorDate: 2026-01-25
3914
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
3915
+ CommitDate: 2026-01-25
3916
+
3917
+ cli(claude): support AskUserQuestion answers + ExitPlanMode negotiation
3918
+
3919
+ - Routes AskUserQuestion responses through the permission decision path
3920
+ - Implements ExitPlanMode semantics via permission handler, with regression tests
3921
+ - Removes legacy prompt/interaction respond helpers no longer used
3922
+
3923
+ M cli/src/claude/claudeRemoteLauncher.test.ts
3924
+ M cli/src/claude/claudeRemoteLauncher.ts
3925
+ D cli/src/claude/sdk/prompts.ts
3926
+ M cli/src/claude/sdk/types.ts
3927
+ M cli/src/claude/session.ts
3928
+ D cli/src/claude/utils/interactionRespond.test.ts
3929
+ D cli/src/claude/utils/interactionRespond.ts
3930
+ A cli/src/claude/utils/permissionHandler.exitPlanMode.test.ts
3931
+ M cli/src/claude/utils/permissionHandler.ts
3932
+ M cli/src/claude/utils/systemPrompt.ts
3933
+
3934
+ commit 011a3602411f2cc0f0f5affff31d2c1226a9dc5e
3935
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
3936
+ AuthorDate: 2026-01-25
3937
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
3938
+ CommitDate: 2026-01-25
3939
+
3940
+ cli(api): observe self-broadcasts for pending-queue; add tool tracing
3941
+
3942
+ - Treats self-broadcasts as pending-queue signals to improve UI reliability
3943
+ - Adds transcript recovery behavior in apiSession
3944
+ - Introduces JSONL tool tracing (writer + unit tests)
3945
+
3946
+ M cli/src/api/apiSession.test.ts
3947
+ M cli/src/api/apiSession.ts
3948
+ A cli/src/toolTrace/toolTrace.test.ts
3949
+ A cli/src/toolTrace/toolTrace.ts
3950
+ M cli/src/utils/MessageQueue2.ts
3951
+ M cli/src/utils/waitForMessagesOrPending.ts
3952
+
3953
+ commit 809d2bb385e086b568f20171757b83ecffa39635
3954
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
3955
+ AuthorDate: 2026-01-25
3956
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
3957
+ CommitDate: 2026-01-25
3958
+
3959
+ cli(tool-trace): add fixture extraction + CLI script
3960
+
3961
+ - Adds a small JSONL -> fixtures extractor (with truncation/sanitization)
3962
+ - Adds a tsx script and npm script for local fixture generation
3963
+
3964
+ M cli/package.json
3965
+ A cli/scripts/tool-trace-extract.ts
3966
+ A cli/src/toolTrace/extractToolTraceFixtures.test.ts
3967
+ A cli/src/toolTrace/extractToolTraceFixtures.ts
3968
+
3969
+ commit 5537815563059192774839feca13768250362b79
3970
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
3971
+ AuthorDate: 2026-01-25
3972
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
3973
+ CommitDate: 2026-01-25
3974
+
3975
+ cli(auth): add --no-open to skip browser open
3976
+
3977
+ - Adds --no-open (and compat aliases) to happy auth login
3978
+ - Threads HAPPY_NO_BROWSER_OPEN through auth UI and openBrowser
3979
+ - Adds a unit test to ensure browser open is skipped when the env is set
3980
+
3981
+ M cli/src/commands/auth.ts
3982
+ M cli/src/ui/auth.ts
3983
+ A cli/src/utils/browser.test.ts
3984
+ M cli/src/utils/browser.ts
3985
+
3986
+ commit 5955ea5c21a3da320b37b4dd9557d73bdd295ab8
3987
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
3988
+ AuthorDate: 2026-01-25
3989
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
3990
+ CommitDate: 2026-01-25
3991
+
3992
+ cli(daemon): idempotent resume + attach files + shutdown policy
3993
+
3994
+ - Ensures resume requests are idempotent (avoid duplicate processes)
3995
+ - Adds session attach files and startup metadata merge/update helpers
3996
+ - Adds shutdown watchdog policy and a non-interactive auth gating regression test
3997
+
3998
+ M cli/src/api/apiMachine.spawnSession.test.ts
3999
+ M cli/src/api/apiMachine.ts
4000
+ M cli/src/claude/runClaude.ts
4001
+ A cli/src/daemon/findRunningTrackedSessionById.test.ts
4002
+ A cli/src/daemon/findRunningTrackedSessionById.ts
4003
+ D cli/src/daemon/persistedHappySession.ts
4004
+ A cli/src/daemon/run.noninteractiveAuth.test.ts
4005
+ M cli/src/daemon/run.ts
4006
+ A cli/src/daemon/sessionAttachFile.test.ts
4007
+ A cli/src/daemon/sessionAttachFile.ts
4008
+ A cli/src/daemon/shutdownPolicy.test.ts
4009
+ A cli/src/daemon/shutdownPolicy.ts
4010
+ M cli/src/daemon/types.ts
4011
+ M cli/src/utils/createSessionMetadata.ts
4012
+ A cli/src/utils/sessionAttach.test.ts
4013
+ A cli/src/utils/sessionAttach.ts
4014
+ A cli/src/utils/sessionStartup/createBaseSessionForAttach.ts
4015
+ A cli/src/utils/sessionStartup/mergeSessionMetadataForStartup.test.ts
4016
+ A cli/src/utils/sessionStartup/mergeSessionMetadataForStartup.ts
4017
+ A cli/src/utils/sessionStartup/startupMetadataUpdate.test.ts
4018
+ A cli/src/utils/sessionStartup/startupMetadataUpdate.ts
4019
+ A cli/src/utils/sessionStartup/startupSideEffects.ts
4020
+
4021
+ commit cce05b18a5d73223cb74899e44c1709301efff2e
4022
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4023
+ AuthorDate: 2026-01-25
4024
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4025
+ CommitDate: 2026-01-25
4026
+
4027
+ cli(agents): wire ACP agents into factory/transport registry
4028
+
4029
+ - Exposes Codex ACP + OpenCode factories from the agent factory index
4030
+ - Registers OpenCode agent during initializeAgents
4031
+ - Exports OpenCode transport from the transport handler registry
4032
+
4033
+ M cli/src/agent/factories/index.ts
4034
+ M cli/src/agent/index.ts
4035
+ M cli/src/agent/transport/handlers/index.ts
4036
+ M cli/src/agent/transport/index.ts
4037
+
4038
+ commit 27bb2523f690614db4d6a4fbce42cb02ff328b5d
4039
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4040
+ AuthorDate: 2026-01-25
4041
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4042
+ CommitDate: 2026-01-25
4043
+
4044
+ cli(opencode): add OpenCode ACP agent runtime
4045
+
4046
+ - Adds OpenCode ACP runtime and transport handler
4047
+ - Adds permission handler + session id helpers for OpenCode
4048
+ - Includes focused unit tests for transport and OpenCode helpers
4049
+
4050
+ A cli/src/agent/factories/opencode.ts
4051
+ A cli/src/agent/transport/handlers/OpenCodeTransport.test.ts
4052
+ A cli/src/agent/transport/handlers/OpenCodeTransport.ts
4053
+ A cli/src/opencode/acp/openCodeAcpRuntime.ts
4054
+ A cli/src/opencode/runOpenCode.ts
4055
+ A cli/src/opencode/utils/opencodeSessionIdMetadata.test.ts
4056
+ A cli/src/opencode/utils/opencodeSessionIdMetadata.ts
4057
+ A cli/src/opencode/utils/permissionHandler.test.ts
4058
+ A cli/src/opencode/utils/permissionHandler.ts
4059
+ A cli/src/opencode/utils/waitForNextOpenCodeMessage.test.ts
4060
+ A cli/src/opencode/utils/waitForNextOpenCodeMessage.ts
4061
+
4062
+ commit abe1cf8ed37061422ee5db65a004e27deeed379b
4063
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4064
+ AuthorDate: 2026-01-25
4065
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4066
+ CommitDate: 2026-01-25
4067
+
4068
+ cli(codex-acp): add runtime + capability gating
4069
+
4070
+ - Adds Codex ACP runtime + command resolution and session-id helpers
4071
+ - Extends capabilities framework for ACP probing and Codex ACP dependency checks
4072
+ - Updates API/metadata types to cover ACP session ids and capability flags
4073
+
4074
+ A cli/src/agent/factories/codexAcp.ts
4075
+ M cli/src/api/types.ts
4076
+ A cli/src/codex/acp/codexAcpRuntime.ts
4077
+ A cli/src/codex/acp/resolveCodexAcpCommand.ts
4078
+ M cli/src/codex/codexMcpClient.ts
4079
+ M cli/src/codex/runCodex.ts
4080
+ M cli/src/codex/types.ts
4081
+ A cli/src/codex/utils/codexSessionIdMetadata.test.ts
4082
+ A cli/src/codex/utils/codexSessionIdMetadata.ts
4083
+ M cli/src/gemini/runGemini.ts
4084
+ A cli/src/modules/common/capabilities/caps/acpProbe.ts
4085
+ M cli/src/modules/common/capabilities/caps/cliCodex.ts
4086
+ M cli/src/modules/common/capabilities/caps/cliGemini.ts
4087
+ A cli/src/modules/common/capabilities/caps/cliOpenCode.ts
4088
+ A cli/src/modules/common/capabilities/caps/depCodexAcp.ts
4089
+ M cli/src/modules/common/capabilities/checklists.ts
4090
+ A cli/src/modules/common/capabilities/deps/codexAcp.ts
4091
+ M cli/src/modules/common/capabilities/registerCapabilitiesHandlers.ts
4092
+ M cli/src/modules/common/capabilities/snapshots/cliSnapshot.ts
4093
+ M cli/src/modules/common/capabilities/types.ts
4094
+ M cli/src/modules/common/registerCommonHandlers.capabilities.test.ts
4095
+ M cli/src/modules/common/registerCommonHandlers.ts
4096
+ M cli/src/utils/agentCapabilities.test.ts
4097
+ M cli/src/utils/agentCapabilities.ts
4098
+
4099
+ commit d9100a80112b304f64a8e1807747f1ac3ecefe79
4100
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4101
+ AuthorDate: 2026-01-25
4102
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4103
+ CommitDate: 2026-01-25
4104
+
4105
+ cli(entry): refactor agent subcommands and startup flags
4106
+
4107
+ - Adds --permission-mode-updated-at parsing (for consistent session metadata)
4108
+ - Adds opencode command wiring and aligns codex/gemini argument parsing
4109
+ - Removes the legacy resume subcommand in favor of existing-session/resume flags
4110
+
4111
+ M cli/src/index.ts
4112
+
4113
+ commit 2edc5305ca3fa26cd148a5ad9f775fd9d1f4eb41
4114
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4115
+ AuthorDate: 2026-01-25
4116
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4117
+ CommitDate: 2026-01-25
4118
+
4119
+ expo-app(test): harden vitest stubs + unistyles typing
4120
+
4121
+ - Updates vitest config aliases/setup to improve node-test reliability
4122
+ - Improves unistyles typing/bootstrap and normalizes formatting
4123
+ - Adds RootLayout hook-order regression test and removes the old layout test location
4124
+
4125
+ M expo-app/index.ts
4126
+ R097 expo-app/sources/app/(app)/_layout.test.ts expo-app/sources/__tests__/app/_layout.test.ts
4127
+ M expo-app/sources/dev/expoModulesCoreStub.ts
4128
+ M expo-app/sources/dev/reactNativeStub.ts
4129
+ M expo-app/sources/unistyles.ts
4130
+ M expo-app/vitest.config.ts
4131
+
4132
+ commit 5575d7267cd0dbd92d690b847bcf9e37fc9acd11
4133
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4134
+ AuthorDate: 2026-01-25
4135
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4136
+ CommitDate: 2026-01-25
4137
+
4138
+ expo-app(tools): normalize tool inference + rendering inputs
4139
+
4140
+ - Adds shared tool-call normalization and parsing helpers
4141
+ - Improves tool name inference and permission summaries
4142
+ - Updates ToolView/ToolFullView to rely on normalized shapes
4143
+
4144
+ M expo-app/sources/components/tools/ToolFullView.tsx
4145
+ M expo-app/sources/components/tools/ToolView.tsx
4146
+ M expo-app/sources/components/tools/knownTools.tsx
4147
+ A expo-app/sources/components/tools/utils/normalizeToolCallForRendering.ts
4148
+ A expo-app/sources/components/tools/utils/parseJson.ts
4149
+ A expo-app/sources/components/tools/utils/parseParenIdentifier.ts
4150
+ A expo-app/sources/components/tools/utils/permissionSummary.ts
4151
+ A expo-app/sources/components/tools/utils/shellCommand.ts
4152
+ A expo-app/sources/components/tools/utils/stdStreams.ts
4153
+ A expo-app/sources/components/tools/utils/toolNameInference.ts
4154
+
4155
+ commit d115797fcdde2decf50800d887f383d6024dde47
4156
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4157
+ AuthorDate: 2026-01-25
4158
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4159
+ CommitDate: 2026-01-25
4160
+
4161
+ expo-app(tools): add specialized tool views + tests
4162
+
4163
+ - Adds dedicated views for common tools (bash/read/grep/glob/web) and structured results
4164
+ - Improves permission UI flows (pending/abort/decision) and adds regression tests
4165
+ - Expands tool rendering test coverage for inference and fallback behavior
4166
+
4167
+ A expo-app/sources/components/tools/PermissionFooter.codexDecision.test.tsx
4168
+ A expo-app/sources/components/tools/PermissionFooter.stopAbortsRun.test.tsx
4169
+ M expo-app/sources/components/tools/PermissionFooter.tsx
4170
+ A expo-app/sources/components/tools/ToolFullView.inference.test.ts
4171
+ A expo-app/sources/components/tools/ToolFullView.permissionPending.test.tsx
4172
+ A expo-app/sources/components/tools/ToolView.acpKindFallback.test.tsx
4173
+ A expo-app/sources/components/tools/ToolView.exitPlanMode.test.ts
4174
+ A expo-app/sources/components/tools/ToolView.minimalSpecificView.test.ts
4175
+ A expo-app/sources/components/tools/ToolView.minimalStructuredFallback.test.ts
4176
+ A expo-app/sources/components/tools/ToolView.permissionPending.test.tsx
4177
+ A expo-app/sources/components/tools/ToolView.runningStructuredFallback.test.ts
4178
+ A expo-app/sources/components/tools/utils/normalizeToolCallForRendering.test.ts
4179
+ A expo-app/sources/components/tools/utils/parseParenIdentifier.test.ts
4180
+ A expo-app/sources/components/tools/utils/permissionSummary.test.ts
4181
+ A expo-app/sources/components/tools/utils/shellCommand.test.ts
4182
+ A expo-app/sources/components/tools/utils/toolNameInference.test.ts
4183
+ A expo-app/sources/components/tools/views/AcpHistoryImportView.tsx
4184
+ M expo-app/sources/components/tools/views/AskUserQuestionView.test.ts
4185
+ M expo-app/sources/components/tools/views/AskUserQuestionView.tsx
4186
+ A expo-app/sources/components/tools/views/BashView.test.tsx
4187
+ M expo-app/sources/components/tools/views/BashView.tsx
4188
+ A expo-app/sources/components/tools/views/BashViewFull.test.ts
4189
+ M expo-app/sources/components/tools/views/BashViewFull.tsx
4190
+ A expo-app/sources/components/tools/views/CodeSearchView.tsx
4191
+ M expo-app/sources/components/tools/views/CodexBashView.tsx
4192
+ M expo-app/sources/components/tools/views/ExitPlanToolView.test.ts
4193
+ M expo-app/sources/components/tools/views/ExitPlanToolView.tsx
4194
+ A expo-app/sources/components/tools/views/GeminiExecuteView.test.ts
4195
+ M expo-app/sources/components/tools/views/GeminiExecuteView.tsx
4196
+ A expo-app/sources/components/tools/views/GlobView.tsx
4197
+ A expo-app/sources/components/tools/views/GrepView.tsx
4198
+ A expo-app/sources/components/tools/views/ReadView.tsx
4199
+ A expo-app/sources/components/tools/views/ReasoningView.test.tsx
4200
+ A expo-app/sources/components/tools/views/ReasoningView.tsx
4201
+ A expo-app/sources/components/tools/views/StructuredResultView.tsx
4202
+ A expo-app/sources/components/tools/views/TodoView.test.tsx
4203
+ M expo-app/sources/components/tools/views/TodoView.tsx
4204
+ A expo-app/sources/components/tools/views/WebFetchView.tsx
4205
+ A expo-app/sources/components/tools/views/WebSearchView.tsx
4206
+ M expo-app/sources/components/tools/views/_all.tsx
4207
+
4208
+ commit 23014814ea50c8799864ed14572078719504ccf0
4209
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4210
+ AuthorDate: 2026-01-25
4211
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4212
+ CommitDate: 2026-01-25
4213
+
4214
+ expo-app(agents): introduce agent registry + UI behavior helpers
4215
+
4216
+ - Adds a typed agent registry (core + UI helpers)
4217
+ - Centralizes enabled-agent logic, CLI warnings, and resume capability option derivation
4218
+ - Includes tests for registry behavior and picker options
4219
+
4220
+ A expo-app/sources/agents/acpRuntimeResume.ts
4221
+ A expo-app/sources/agents/agentPickerOptions.test.ts
4222
+ A expo-app/sources/agents/agentPickerOptions.ts
4223
+ A expo-app/sources/agents/cliWarnings.test.ts
4224
+ A expo-app/sources/agents/cliWarnings.ts
4225
+ A expo-app/sources/agents/enabled.test.ts
4226
+ A expo-app/sources/agents/enabled.ts
4227
+ A expo-app/sources/agents/permissionUiCopy.ts
4228
+ A expo-app/sources/agents/registryCore.test.ts
4229
+ A expo-app/sources/agents/registryCore.ts
4230
+ A expo-app/sources/agents/registryUi.ts
4231
+ A expo-app/sources/agents/registryUiBehavior.test.ts
4232
+ A expo-app/sources/agents/registryUiBehavior.ts
4233
+ A expo-app/sources/agents/resolve.test.ts
4234
+ A expo-app/sources/agents/resolve.ts
4235
+ A expo-app/sources/agents/useEnabledAgentIds.ts
4236
+ A expo-app/sources/agents/useResumeCapabilityOptions.ts
4237
+
4238
+ commit b142327f5e328c3e8719f8c9a435cb4df93564b9
4239
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4240
+ AuthorDate: 2026-01-25
4241
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4242
+ CommitDate: 2026-01-25
4243
+
4244
+ expo-app(sync): capabilities protocol + resume/pending-queue plumbing
4245
+
4246
+ - Adds installable dependency registry and machine capability request protocol
4247
+ - Extends sync reducer/storage/types to support pending-queue + resume flows
4248
+ - Adds tests for capabilities parsing, permission defaults, and resume/pending logic
4249
+
4250
+ A expo-app/sources/capabilities/codexAcpDep.test.ts
4251
+ A expo-app/sources/capabilities/codexAcpDep.ts
4252
+ A expo-app/sources/capabilities/codexMcpResume.test.ts
4253
+ A expo-app/sources/capabilities/codexMcpResume.ts
4254
+ A expo-app/sources/capabilities/installableDepsRegistry.test.ts
4255
+ A expo-app/sources/capabilities/installableDepsRegistry.ts
4256
+ A expo-app/sources/capabilities/requests.ts
4257
+ M expo-app/sources/hooks/useMachineCapabilitiesCache.hook.test.ts
4258
+ M expo-app/sources/hooks/useMachineCapabilitiesCache.ts
4259
+ M expo-app/sources/sync/apiGithub.test.ts
4260
+ M expo-app/sources/sync/apiServices.test.ts
4261
+ M expo-app/sources/sync/capabilitiesProtocol.ts
4262
+ A expo-app/sources/sync/messageQueueV1Pending.test.ts
4263
+ A expo-app/sources/sync/messageQueueV1Pending.ts
4264
+ A expo-app/sources/sync/modelOptions.test.ts
4265
+ M expo-app/sources/sync/modelOptions.ts
4266
+ A expo-app/sources/sync/ops.sessionAbort.test.ts
4267
+ M expo-app/sources/sync/ops.ts
4268
+ A expo-app/sources/sync/pendingQueueWake.test.ts
4269
+ A expo-app/sources/sync/pendingQueueWake.ts
4270
+ A expo-app/sources/sync/permissionDefaults.test.ts
4271
+ A expo-app/sources/sync/permissionDefaults.ts
4272
+ M expo-app/sources/sync/permissionMapping.test.ts
4273
+ M expo-app/sources/sync/permissionMapping.ts
4274
+ A expo-app/sources/sync/permissionModeOptions.test.ts
4275
+ M expo-app/sources/sync/permissionModeOptions.ts
4276
+ A expo-app/sources/sync/permissionModeOverride.test.ts
4277
+ A expo-app/sources/sync/permissionModeOverride.ts
4278
+ M expo-app/sources/sync/permissionTypes.test.ts
4279
+ M expo-app/sources/sync/permissionTypes.ts
4280
+ M expo-app/sources/sync/persistence.test.ts
4281
+ M expo-app/sources/sync/persistence.ts
4282
+ M expo-app/sources/sync/profileGrouping.test.ts
4283
+ M expo-app/sources/sync/profileGrouping.ts
4284
+ M expo-app/sources/sync/profileMutations.ts
4285
+ M expo-app/sources/sync/profileUtils.test.ts
4286
+ M expo-app/sources/sync/profileUtils.ts
4287
+ A expo-app/sources/sync/readStateV1.test.ts
4288
+ A expo-app/sources/sync/readStateV1.ts
4289
+ A expo-app/sources/sync/realtimeSessionSeq.test.ts
4290
+ A expo-app/sources/sync/realtimeSessionSeq.ts
4291
+ M expo-app/sources/sync/reducer/phase0-skipping.spec.ts
4292
+ M expo-app/sources/sync/reducer/reducer.spec.ts
4293
+ M expo-app/sources/sync/reducer/reducer.ts
4294
+ A expo-app/sources/sync/resumeSessionBase.test.ts
4295
+ A expo-app/sources/sync/resumeSessionBase.ts
4296
+ A expo-app/sources/sync/resumeSessionPayload.test.ts
4297
+ A expo-app/sources/sync/resumeSessionPayload.ts
4298
+ M expo-app/sources/sync/settings.spec.ts
4299
+ M expo-app/sources/sync/settings.ts
4300
+ M expo-app/sources/sync/spawnSessionPayload.ts
4301
+ M expo-app/sources/sync/storage.ts
4302
+ M expo-app/sources/sync/storageTypes.ts
4303
+ M expo-app/sources/sync/suggestionCommands.ts
4304
+ M expo-app/sources/sync/sync.ts
4305
+ M expo-app/sources/sync/typesRaw.spec.ts
4306
+ M expo-app/sources/sync/typesRaw.ts
4307
+ A expo-app/sources/sync/updateSessionMetadataWithRetry.test.ts
4308
+ A expo-app/sources/sync/updateSessionMetadataWithRetry.ts
4309
+
4310
+ commit 552f517e9823b56b4bbadbceb3acabb1c1d098ae
4311
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4312
+ AuthorDate: 2026-01-25
4313
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4314
+ CommitDate: 2026-01-25
4315
+
4316
+ expo-app(ui): add InlineAddExpander; inline add for secrets/env vars
4317
+
4318
+ - Introduces a reusable inline expander with Cancel/Save actions
4319
+ - Refactors EnvironmentVariablesList and SecretsList to add items inline (no modal)
4320
+ - Adds tests covering the new inline add flows
4321
+
4322
+ M expo-app/sources/components/EnvironmentVariablesList.test.ts
4323
+ M expo-app/sources/components/EnvironmentVariablesList.tsx
4324
+ A expo-app/sources/components/InlineAddExpander.tsx
4325
+ A expo-app/sources/components/secrets/SecretsList.test.ts
4326
+ M expo-app/sources/components/secrets/SecretsList.tsx
4327
+
4328
+ commit cbaf39a63c60a674e2b13f71c63a92d43d29ffe2
4329
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4330
+ AuthorDate: 2026-01-25
4331
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4332
+ CommitDate: 2026-01-25
4333
+
4334
+ expo-app(secret-requirement): add picker route + modularized modal
4335
+
4336
+ - Extracts SecretRequirementModal into a focused module and adds a full-screen picker route
4337
+ - Adds pure helpers for applying results and gating auto-prompt behavior (with tests)
4338
+ - Adjusts /new modal presentation + web CSS sizing to avoid hidden/stacked screens
4339
+
4340
+ M expo-app/sources/app/(app)/_layout.tsx
4341
+ A expo-app/sources/app/(app)/new/pick/secret-requirement.tsx
4342
+ M expo-app/sources/components/SecretRequirementModal.tsx
4343
+ A expo-app/sources/components/secretRequirement/SecretRequirementModal.tsx
4344
+ A expo-app/sources/components/secretRequirement/SecretRequirementScreen.tsx
4345
+ M expo-app/sources/theme.css
4346
+ A expo-app/sources/utils/secretRequirementApply.test.ts
4347
+ A expo-app/sources/utils/secretRequirementApply.ts
4348
+ A expo-app/sources/utils/secretRequirementPromptEligibility.test.ts
4349
+ A expo-app/sources/utils/secretRequirementPromptEligibility.ts
4350
+
4351
+ commit 36641d90649053864c09916bcfbf383669f479c4
4352
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4353
+ AuthorDate: 2026-01-25
4354
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4355
+ CommitDate: 2026-01-25
4356
+
4357
+ expo-app(session): capability-gated resume flows + pending queue UX
4358
+
4359
+ - Wires agent registry + machine capabilities into new-session and session resume flows
4360
+ - Adds pending message rendering and session notices for inactive/offline states
4361
+ - Adds supporting UI components/tests for CLI detection and capability preflight
4362
+
4363
+ M expo-app/sources/-session/SessionView.tsx
4364
+ A expo-app/sources/-session/sessionResumeUi.test.ts
4365
+ A expo-app/sources/-session/sessionResumeUi.ts
4366
+ A expo-app/sources/__tests__/app/machine/machineDetails.capabilitiesRequestStability.test.ts
4367
+ M expo-app/sources/app/(app)/machine/[id].tsx
4368
+ M expo-app/sources/app/(app)/new/NewSessionWizard.tsx
4369
+ M expo-app/sources/app/(app)/new/index.tsx
4370
+ M expo-app/sources/app/(app)/new/pick/machine.tsx
4371
+ M expo-app/sources/app/(app)/new/pick/resume.tsx
4372
+ M expo-app/sources/app/(app)/session/[id]/info.tsx
4373
+ M expo-app/sources/app/(app)/session/[id]/message/[messageId].tsx
4374
+ M expo-app/sources/components/ChatFooter.tsx
4375
+ M expo-app/sources/components/ChatList.tsx
4376
+ A expo-app/sources/components/PendingUserTextMessageView.test.tsx
4377
+ A expo-app/sources/components/PendingUserTextMessageView.tsx
4378
+ A expo-app/sources/components/SessionNoticeBanner.tsx
4379
+ A expo-app/sources/components/agentInput/PathAndResumeRow.test.ts
4380
+ A expo-app/sources/components/agentInput/PathAndResumeRow.tsx
4381
+ A expo-app/sources/components/agentInput/ResumeChip.tsx
4382
+ A expo-app/sources/components/agentInput/actionBarLogic.test.ts
4383
+ A expo-app/sources/components/agentInput/actionBarLogic.ts
4384
+ A expo-app/sources/components/chatListItems.test.ts
4385
+ A expo-app/sources/components/chatListItems.ts
4386
+ A expo-app/sources/components/machine/DetectedClisList.errorSnapshot.test.ts
4387
+ M expo-app/sources/components/machine/DetectedClisList.tsx
4388
+ M expo-app/sources/components/machine/DetectedClisModal.tsx
4389
+ A expo-app/sources/components/machine/InstallableDepInstaller.tsx
4390
+ A expo-app/sources/components/navigation/HeaderTitleWithAction.tsx
4391
+ A expo-app/sources/components/newSession/CliNotDetectedBanner.tsx
4392
+ M expo-app/sources/components/newSession/MachineCliGlyphs.tsx
4393
+ M expo-app/sources/components/newSession/ProfileCompatibilityIcon.tsx
4394
+ A expo-app/sources/components/newSession/WizardSectionHeaderRow.test.ts
4395
+ M expo-app/sources/hooks/useCLIDetection.ts
4396
+
4397
+ commit 9a9d439e54998316e64ab28bafc93f06025ff88b
4398
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4399
+ AuthorDate: 2026-01-25
4400
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4401
+ CommitDate: 2026-01-25
4402
+
4403
+ expo-app(settings): wire agent registry into settings
4404
+
4405
+ - Updates settings screens to reflect agent registry defaults and available agents
4406
+ - Keeps session/account settings aligned with new permission/default behavior
4407
+
4408
+ M expo-app/sources/app/(app)/settings/account.tsx
4409
+ M expo-app/sources/app/(app)/settings/session.tsx
4410
+
4411
+ commit 67ceab362d6bacce54ed360b59eda35404c2c570
4412
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4413
+ AuthorDate: 2026-01-25
4414
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4415
+ CommitDate: 2026-01-25
4416
+
4417
+ expo-app(experiments): add inbox friends experiment gate
4418
+
4419
+ - Adds an experiment flag and hooks for inbox/friends enablement
4420
+ - Updates inbox/friends routes to gate access and routing based on the experiment
4421
+
4422
+ M expo-app/sources/app/(app)/friends/index.tsx
4423
+ M expo-app/sources/app/(app)/friends/search.tsx
4424
+ M expo-app/sources/app/(app)/inbox/index.tsx
4425
+ A expo-app/sources/experiments/inboxFriends.test.ts
4426
+ A expo-app/sources/experiments/inboxFriends.ts
4427
+ A expo-app/sources/hooks/useInboxFriendsEnabled.ts
4428
+ A expo-app/sources/hooks/useRequireInboxFriendsEnabled.ts
4429
+
4430
+ commit 05b45b4f505dd9da88501ea728c6c3897019ab5b
4431
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4432
+ AuthorDate: 2026-01-25
4433
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4434
+ CommitDate: 2026-01-25
4435
+
4436
+ expo-app(settings): update features toggles for agents/inbox/codex
4437
+
4438
+ - Replaces expGemini toggle with agent-registry-backed experimental agent toggles
4439
+ - Adds inbox friends experiment toggle
4440
+ - Adds Codex ACP toggle and keeps Codex resume/acp mutually exclusive
4441
+
4442
+ M expo-app/sources/app/(app)/settings/features.tsx
4443
+
4444
+ commit ec9225a8f93564a418e6e446cecf8d0f383fc510
4445
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4446
+ AuthorDate: 2026-01-25
4447
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4448
+ CommitDate: 2026-01-25
4449
+
4450
+ expo-app(i18n): add device locale helpers + update translations
4451
+
4452
+ - Adds device locale helpers for native and shared runtime
4453
+ - Updates translation dictionaries and text index wiring
4454
+
4455
+ A expo-app/sources/text/deviceLocales.native.ts
4456
+ A expo-app/sources/text/deviceLocales.ts
4457
+ M expo-app/sources/text/index.ts
4458
+ M expo-app/sources/text/translations/ca.ts
4459
+ M expo-app/sources/text/translations/en.ts
4460
+ M expo-app/sources/text/translations/es.ts
4461
+ M expo-app/sources/text/translations/it.ts
4462
+ M expo-app/sources/text/translations/ja.ts
4463
+ M expo-app/sources/text/translations/pl.ts
4464
+ M expo-app/sources/text/translations/pt.ts
4465
+ M expo-app/sources/text/translations/ru.ts
4466
+ M expo-app/sources/text/translations/zh-Hans.ts
4467
+
4468
+ commit 98b7138360ff2bade61c2a2f78e1ef1b11b3e320
4469
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4470
+ AuthorDate: 2026-01-25
4471
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4472
+ CommitDate: 2026-01-25
4473
+
4474
+ expo-app(agents): align resume helpers + temp session data typing
4475
+
4476
+ - Refactors agent resume capability helpers to use the agent registry
4477
+ - Adds getAgentVendorResumeId for vendor resume id lookup
4478
+ - Types temp session data agentType as AgentId and adds regression tests
4479
+
4480
+ A expo-app/sources/utils/agentCapabilities.test.ts
4481
+ M expo-app/sources/utils/agentCapabilities.ts
4482
+ M expo-app/sources/utils/tempDataStore.ts
4483
+
4484
+ commit 63cda8b20882dde5746e9f007b0866a0e39c3134
4485
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4486
+ AuthorDate: 2026-01-25
4487
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4488
+ CommitDate: 2026-01-25
4489
+
4490
+ expo-app(ui): add list/pending primitives and polish
4491
+
4492
+ - Adds reusable item-group row helpers and pending queue UI coverage
4493
+ - Refines list and settings components for more consistent layout/behavior
4494
+ - Updates profile list model helpers and adds targeted tests
4495
+
4496
+ M expo-app/sources/components/AgentInput.tsx
4497
+ M expo-app/sources/components/Avatar.tsx
4498
+ M expo-app/sources/components/EnvironmentVariableCard.tsx
4499
+ M expo-app/sources/components/Item.tsx
4500
+ M expo-app/sources/components/ItemGroup.dividers.test.ts
4501
+ M expo-app/sources/components/ItemGroup.dividers.ts
4502
+ A expo-app/sources/components/ItemGroupRowPosition.tsx
4503
+ A expo-app/sources/components/ItemGroupTitleWithAction.test.ts
4504
+ A expo-app/sources/components/ItemGroupTitleWithAction.tsx
4505
+ M expo-app/sources/components/ItemList.tsx
4506
+ M expo-app/sources/components/MainView.tsx
4507
+ M expo-app/sources/components/MultiTextInput.tsx
4508
+ M expo-app/sources/components/PendingMessagesModal.test.ts
4509
+ M expo-app/sources/components/PendingMessagesModal.tsx
4510
+ A expo-app/sources/components/PendingQueueIndicator.test.ts
4511
+ M expo-app/sources/components/PendingQueueIndicator.tsx
4512
+ M expo-app/sources/components/Popover.test.ts
4513
+ M expo-app/sources/components/Popover.tsx
4514
+ M expo-app/sources/components/ProfileEditForm.tsx
4515
+ M expo-app/sources/components/SettingsView.tsx
4516
+ M expo-app/sources/components/SidebarView.tsx
4517
+ M expo-app/sources/components/TabBar.tsx
4518
+ M expo-app/sources/components/dropdown/DropdownMenu.tsx
4519
+ M expo-app/sources/components/dropdown/SelectableMenuResults.tsx
4520
+ A expo-app/sources/components/itemGroupRowCorners.test.ts
4521
+ A expo-app/sources/components/itemGroupRowCorners.ts
4522
+ M expo-app/sources/components/profiles/ProfilesList.tsx
4523
+ M expo-app/sources/components/profiles/profileListModel.test.ts
4524
+ M expo-app/sources/components/profiles/profileListModel.ts
4525
+ A expo-app/sources/utils/profileConfigRequirements.test.ts
4526
+ A expo-app/sources/utils/profileConfigRequirements.ts
4527
+
4528
+ commit 10dca4ca7057ad04c6d121110f7fd2f006a411bc
4529
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4530
+ AuthorDate: 2026-01-25
4531
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4532
+ CommitDate: 2026-01-25
4533
+
4534
+ chore(expo): pin libsodium-wrappers and align patch-package dirs
4535
+
4536
+ - Pins libsodium-wrappers to 0.7.15 to avoid patching 0.7.16
4537
+ - Moves expo-router patch to expo-app/patches and updates postinstall patch-package invocation
4538
+ - Updates yarn.lock to match dependency pin
4539
+
4540
+ M expo-app/package.json
4541
+ R100 expo-app/patches-expo-app/expo-router+6.0.22.patch expo-app/patches/expo-router+6.0.22.patch
4542
+ D expo-app/patches/libsodium-wrappers+0.7.16.patch
4543
+ M expo-app/tools/postinstall.mjs
4544
+ M yarn.lock
4545
+
4546
+ commit cfe2ecd3e626030ecf3f63b159fbba34d7a6ff8e
4547
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4548
+ AuthorDate: 2026-01-25
4549
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4550
+ CommitDate: 2026-01-25
4551
+
4552
+ refactor: migrate StyleSheet imports to react-native-unistyles
4553
+
4554
+ Replaces all StyleSheet imports from 'react-native' with imports from 'react-native-unistyles' across sources/. Adds a test to enforce the invariant. This improves consistency and leverages unistyles for styling.
4555
+
4556
+ M expo-app/sources/app/(app)/dev/colors.tsx
4557
+ M expo-app/sources/app/(app)/dev/inverted-list.tsx
4558
+ M expo-app/sources/app/(app)/dev/modal-demo.tsx
4559
+ M expo-app/sources/app/(app)/dev/shimmer-demo.tsx
4560
+ M expo-app/sources/app/(app)/dev/tools2.tsx
4561
+ M expo-app/sources/app/(app)/dev/typography.tsx
4562
+ M expo-app/sources/components/ChatHeaderView.tsx
4563
+ M expo-app/sources/components/CommandPalette/CommandPalette.tsx
4564
+ M expo-app/sources/components/CommandPalette/CommandPaletteResults.tsx
4565
+ M expo-app/sources/components/CommandView.tsx
4566
+ M expo-app/sources/components/OverlayPortal.tsx
4567
+ M expo-app/sources/components/Popover.tsx
4568
+ M expo-app/sources/components/ShimmerView.tsx
4569
+ M expo-app/sources/components/VoiceAssistantStatusBar.tsx
4570
+ M expo-app/sources/components/tools/PermissionFooter.tsx
4571
+ M expo-app/sources/components/tools/ToolStatusIndicator.tsx
4572
+ M expo-app/sources/components/tools/views/BashViewFull.test.ts
4573
+ M expo-app/sources/components/tools/views/BashViewFull.tsx
4574
+ M expo-app/sources/components/tools/views/MultiEditView.tsx
4575
+ M expo-app/sources/components/tools/views/MultiEditViewFull.tsx
4576
+ M expo-app/sources/components/tools/views/TaskView.tsx
4577
+ A expo-app/sources/dev/unistylesStyleSheetImports.test.ts
4578
+ M expo-app/sources/modal/components/WebPromptModal.tsx
4579
+
4580
+ commit 8aaacbfaac7acb3b946c9e7bdd99ee6af5be3a62
4581
+ Author: Leeroy Brun <leeroy.brun@gmail.com>
4582
+ AuthorDate: 2026-01-25
4583
+ Commit: Leeroy Brun <leeroy.brun@gmail.com>
4584
+ CommitDate: 2026-01-25
4585
+
4586
+ docs: add Conventional Commits instructions
4587
+
4588
+ Introduce .github/copilot-commit-instructions.md to document the Conventional Commits specification and provide commit message guidelines for the repository.
4589
+
4590
+ A .github/copilot-commit-instructions.md
3845
4591
  ```