mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-08-28 08:35:57 +00:00
35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
---
|
|
issue: 53
|
|
issue_title: "Support ~/$HOME expansion in permission config patterns"
|
|
---
|
|
|
|
# Retro: #53 — Support ~/$HOME expansion in permission config patterns
|
|
|
|
## Final Retrospective (2026-05-05T03:09:00Z)
|
|
|
|
### Session summary
|
|
|
|
Implemented `~/` and `$HOME/` prefix expansion in wildcard permission patterns, shipping as v4.8.0.
|
|
The change adds a single utility (`src/expand-home.ts`) integrated into `compileWildcardPattern()`, making configs portable across machines.
|
|
Completed in 4 functional commits + 1 docs commit with zero regressions across 944 tests.
|
|
|
|
### Observations
|
|
|
|
#### What went well
|
|
|
|
- Integration point was surgically minimal — one import + one line in `compileWildcardPattern()` with zero changes to callers.
|
|
- The plan's prediction that step 6 ("no code change expected") would pass immediately was correct — the integration tests were green without additional work.
|
|
- Using the real `homedir()` in the integration test (`permission-manager-unified.test.ts`) avoided a complex `vi.mock` setup that would have risked breaking the file's `tmpdir()` dependency.
|
|
|
|
#### What caused friction (agent side)
|
|
|
|
- `instruction-violation` — First draft of `tests/expand-home.test.ts` used `await import("node:os")` inside a non-async function.
|
|
AGENTS.md explicitly documents the `vi.hoisted()` + `vi.mock()` pattern, and `tests/bash-external-directory.test.ts` demonstrates the correct approach 4 lines in.
|
|
Self-identified after autoformat/vitest failure.
|
|
Impact: one file rewrite (< 30 seconds of rework, no wasted commits).
|
|
|
|
#### What caused friction (user side)
|
|
|
|
- None observed.
|
|
The issue spec was detailed and unambiguous, including prior art and exact scope.
|