Step 7 of strategy/01-git-excision.md, the companions. The agent guide bumps to v11: the Git section teaches repo-resident etiquette alone (stage only your own paths, commit your own changes, leave app-maintained files to the app) — existing boards heal to the new text on next open. README re-anchors: the four git feature bullets out, tiers say the complete Mac experience is free, and one bullet states the format's git-friendliness promise. The changelog drops the never-shipped git entries. DESIGN re-rules: 06 retired with Undo routing migrated to 13 (now the sole substrate's doc, seam kept open), 07 retired as written pending the ops-service workstream, 14 retired as superseded record, 12 carries the second pivot note, the index reflects all of it; the charter gets a pointer note (the anchors' full re-ruling stays with the user). InertGitTests renames to GitAgnosticStorageTests — the excision restores its original claim app-wide. And the sweep: ~70 comment sites across 36 files adjudicated against the keeper list, every present-tense description of the excised machinery made past tense or repointed, keepers untouched. 2,707 tests green. Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
44 lines
3.8 KiB
Markdown
44 lines
3.8 KiB
Markdown
# Lanework — Design Documents
|
|
|
|
A ground-up rewrite of the Kanban app, to ship as **Lanework** on the Mac App Store. The old repo (`../../Kanban`, one level above this repository — not the rewrite's own `Kanban/` source folder, which shares the codename) was a pathfinder — it never shipped, but it is the reference implementation and the source of hard-won decisions. This design starts from a clean slate and keeps only what earned its place. The rewrite keeps the internal codename `Kanban` (bundle id `dev.rzen.indie.Kanban`).
|
|
|
|
Each document covers one aspect of the design. Within each:
|
|
|
|
- **Decisions** — settled, either carried over from the old app or newly made.
|
|
- **Changes from Kanban** — where this rewrite deliberately diverges.
|
|
- **Open questions** — flagged for iteration; nothing here is implicitly settled.
|
|
|
|
## Index
|
|
|
|
| Doc | Aspect |
|
|
|---|---|
|
|
| [00-vision.md](00-vision.md) | What Lanework is, who it's for, goals and non-goals |
|
|
| [01-storage-format.md](01-storage-format.md) | On-disk contract: folders, frontmatter, ordering, the materialized trash |
|
|
| [02-architecture.md](02-architecture.md) | App structure: source of truth, stores, watchers, concurrency |
|
|
| [03-board-ui.md](03-board-ui.md) | Board window: layout, lanes, cards, styling, templates |
|
|
| [04-interactions.md](04-interactions.md) | Selection, drag & drop, keyboard, clipboard, search |
|
|
| [05-card-window.md](05-card-window.md) | The card window: Markdown preview/edit, attachments |
|
|
| [06-history-undo.md](06-history-undo.md) | Git-backed undo/redo and history — **retired 2026-08-08** (git excised, strategy/01-git-excision.md; Undo routing migrated to 13) |
|
|
| [07-sync-collab.md](07-sync-collab.md) | Board modes and git-rails sync — **retired 2026-08-08 as written**; successor: the ops-based sync service workstream |
|
|
| [08-agent-integration.md](08-agent-integration.md) | AI agents as first-class users of the board |
|
|
| [09-templates.md](09-templates.md) | Board templates: inventory and definition format |
|
|
| [10-accessibility.md](10-accessibility.md) | VoiceOver, text scaling, visual accommodations |
|
|
| [11-command-nexus.md](11-command-nexus.md) | The command Nexus — every command and action: bindings, contexts, customizability |
|
|
| [12-editions.md](12-editions.md) | The tiers: one-app distribution, entitlement, provider seam — the git rows are record (pivot 2026-08-07, excision 2026-08-08) |
|
|
| [13-native-undo.md](13-native-undo.md) | macOS-native undo/redo — the history substrate (sole since 2026-08-08); owns Undo routing |
|
|
| [14-git-operations.md](14-git-operations.md) | Extracted pathfinder git-operations conclusions — **retired 2026-08-08** (superseded record) |
|
|
|
|
## Deferred design iterations
|
|
|
|
The card window (05-card-window.md), toolbar (03-board-ui.md ▸ Toolbar), styling controls (03-board-ui.md ▸ Styling ▸ Controls), and comments (01 ▸ Enhanced schema + 05 ▸ The comments column — designed 2026-07-29, shipping post-2.0) each had their focused pass and are settled.
|
|
|
|
**The authoritative list of open design passes is the findings board** (Lanework Redesign.kanban ▸ Issues to Resolve) — this section stopped enumerating by hand after drifting twice. Standing examples as of 2026-07-29: the attachment-undo staging design and the EchoLedger foreign-undo bridge (both flagged in 13-native-undo.md), Teams' tracker integration (no design yet), the fail-fast decision surface (01 ▸ Refuse), and the drop-release settle presentation (03 ▸ Motion — deliberately last in line).
|
|
|
|
## Wishlist
|
|
|
|
Ideas worth keeping but outside the committed design live in [../WISHLIST.md](../WISHLIST.md).
|
|
|
|
## Terminology
|
|
|
|
The rewrite adopts **lane** as the canonical term for what the old app called a column (it's in the name: Lane-work). "Column" survives only when referring to the old app or to interior card-grid columns inside a wide lane.
|