diff --git a/docs/plans/views-system.md b/docs/plans/views-system.md index 777d2f9..0101290 100644 --- a/docs/plans/views-system.md +++ b/docs/plans/views-system.md @@ -391,6 +391,37 @@ Each slice is its own coder shift, its own branch, its own PR. No bundled big-ba --- +## §8.5 — m's decisions (2026-05-26) + +All open questions answered by m directly via AskUserQuestion (m greenlit chip-picker for inventor 2026-05-26 13:12). Decisions captured below; §9 stays as the historical record of what was open. + +| # | header | m picked | matches inventor pick? | +|---|---|---|---| +| Q1 | Timeline | Fifth view_type | yes | +| Q2 | View scope | Page-agnostic | yes | +| Q3 | enum size | 5 values (follows Q1) | yes | +| Q4 | Picker | Sidebar section under main nav | yes | +| Q5 | Proj scope | **Toggle on the chip** (include-descendants on/off) | **no** — inventor picked "always include descendants"; m wants explicit control | +| Q6 | Kanban grp | status (active/done/archived) | yes | +| Q7 | Save UI | HTMX modal | yes | +| Q8 | rename safety | (already resolved in §4: id authoritative, path display-only) | n/a | +| Q9 | Pull back into scope | none — all four stay parked | yes | + +### Implications for the slicing + +- **Q5 changes Slice A**: project filter chip needs an `include-descendants` boolean toggle next to the picker. Default state and TreeFilter field: `IncludeDescendants bool` (default `true` to match the most common case; toggle flips to `false` for single-item scope). URL param: `?project_descendants=0` when off (default-elided, so URLs stay short in the common case). Cache key implication: covered automatically by `QueryString()` once the field is in the emit set. +- **Q1 + Q3 lock the view_type enum at 5**: `card | list | calendar | kanban | timeline`. Migration `0016_views.sql` CHECK constraint uses all five. +- **Q9 confirms all four parked**: drag-to-change-group on kanban, multi-user/sharing, per-view notifications, cross-view diffs all stay out of Phase 5i. Slice C stays read-only as designed. +- **Q2 + Q4 + Q7 all match inventor picks**: design ships as drafted on those fronts. + +### Concrete edits to the slicing in §7 + +- **Slice A** adds: `IncludeDescendants` field on TreeFilter, default true; toggle chip rendered next to the project picker on every Views-supporting page; `Matches` falls back to "primary path equality only" when off; round-trip test for the toggle. +- **Slice D** schema: `view_type` CHECK now includes `timeline`. No other change. +- All other slices unchanged. + +--- + ## §9 — Open questions for head delegation These are forks where data + code alone can't resolve the design. Single delegation to head with these batched; head surfaces to m; head relays answers.