Files
my-pi/pi-permission-system/docs/retro/0019-drop-legacy-settings-json-mcp-fallback.md

43 lines
2.0 KiB
Markdown

---
issue: 19
issue_title: "Drop legacy ~/.pi/agent/settings.json fallback for MCP server names"
---
# Retro: #19 — Drop legacy `~/.pi/agent/settings.json` fallback for MCP server names
## Final Retrospective (2026-05-03T02:05:00Z)
### Session summary
Removed the `legacyGlobalSettingsPath` fallback from `PermissionManager`, making `mcp.json` the sole file-based source for MCP server name derivation.
Three slash-command steps (`/plan-issue`, `/tdd-plan`, `/ship-issue`) executed with zero user corrections and zero rework.
Released as v1.2.0.
### Observations
#### What went well
- **End-to-end pipeline without intervention.**
Plan → TDD → ship executed in sequence with no user corrections, redirections, or rework.
The issue body was precise, the plan was unambiguous, and the implementation was a pure removal.
- **Correct red→green test design despite misleading plan language.**
The plan's TDD step 1 suggested the test "should pass even before the removal," but a proper red→green cycle needs a failing test.
The agent correctly wrote a test that fails before the fix (by passing `legacyGlobalSettingsPath` to the constructor, proving the legacy path is active) and passes after (when the option is removed).
The test was updated in the green commit — a minor plan deviation but the right call.
#### What caused friction (agent side)
- `instruction-violation` (self-identified) — Markdownlint MD060 (table column alignment) failed the pre-commit hook on the plan commit because separator widths didn't match header widths.
This is the same friction seen in the #18 retro.
MD060 is not auto-fixable by `markdownlint-cli2 --fix`.
Impact: one failed pre-commit hook, ~30 seconds of rework.
#### What caused friction (user side)
- No friction observed.
### Changes made
1. Created `docs/retro/0019-drop-legacy-settings-json-mcp-fallback.md` (this file).
2. Added markdownlint MD060 table-column-alignment rule to `AGENTS.md` § Markdown (not auto-fixable; must match separator widths to header widths).