mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-08-28 08:35:57 +00:00
feat: vendor permission system source
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user