docs: Phase 5i Views — fold in m's decisions on the 9 open Qs
m answered every open question directly via AskUserQuestion (greenlit for inventor 2026-05-26 13:12). New §8.5 captures the picks + slice implications. Inventor picks held on 6 of 9; m differed on Q5 (project filter descendants) — wants an include-descendants toggle on the chip rather than always-on, so Slice A grows an `IncludeDescendants` field on TreeFilter + a toggle on the picker chip. view_type enum locks at 5 (card/list/calendar/kanban/timeline). All four out-of-scope items stay parked. No other slice changes.
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user