From b473315be259448783928464231a14b30cc7a65a Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 18 Jul 2026 06:57:21 +0000 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20update=20ARCHITECTURE.md=20?= =?UTF-8?q?=E2=80=94=20mark=20#291=20Slice=201=20complete,=20describe=20Sl?= =?UTF-8?q?ice=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_011jmbBkJwJByEJGXFAihgh8 --- docs/ARCHITECTURE.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 9acfc32a..a9e616dc 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -2563,7 +2563,9 @@ cat .map/workflow_logs/feat_auth_20251023_143022.json | jq '.subtasks[].agents.e All remaining open issues are enhancements (no bugs as of 2026-07-18). Prioritized by concreteness: ### #291 — SpecKit-style preset composition (layered template resolution) -Adds `.map/presets/` directory, 4-tier resolution (project → preset → extension → core), composition strategies (prepend/append/wrap/replace), `mapify preset add/remove/enable/disable/list/resolve` commands, and extension hook lifecycle. First slice: directory structure, YAML manifest format, and `mapify preset list`. Key constraint: must not bypass the `make check-render` single-source invariant — presets should compose at render time, not by editing generated trees. +**Slice 1 COMPLETE (PR #370, 2026-07-18)**: `mapify preset` sub-group with `list` and `add --from ` commands; `.map/presets//manifest.json` format (required keys: `id`, `title`, `version`); path-traversal guards; `--json` flag; `--force` overwrite; 29 tests in `tests/test_preset_commands.py`. + +**Next slice (Slice 2)**: `mapify preset remove `, `mapify preset enable/disable ` (via `.enabled` flag in manifest or sidecar), and `mapify preset resolve