Files
lanework/DESIGN
rzen d9797acf57 The form rule and the banner rule compose — inline while the asking surface stands
Gap #9 ruled into 06 ▸ Rules: a board-wholesale operation asked from a
form is both rulings at once, and the form rule wins while the asking
surface is up — create-and-switch answers inline in the sheet's Branch
section, a picker-asked switch at the popover's caption, never both at
once (the sheet dismisses the popover). The banner stays the posture for
whatever outlives the asking surface — the form rule's own fallback
generalized. Banner-only-everywhere weighed and set aside.

Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
2026-08-06 20:39:10 -04:00
..
2026-07-26 14:58:16 -04:00

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 What Lanework is, who it's for, goals and non-goals
01-storage-format.md On-disk contract: folders, frontmatter, ordering, the materialized trash
02-architecture.md App structure: source of truth, stores, watchers, concurrency
03-board-ui.md Board window: layout, lanes, cards, styling, templates
04-interactions.md Selection, drag & drop, keyboard, clipboard, search
05-card-window.md The card window: Markdown preview/edit, attachments
06-history-undo.md Git-backed undo/redo and history — Pro tier
07-sync-collab.md Board modes: local-only, git; iCloud Drive warned against — Pro tier
08-agent-integration.md AI agents as first-class users of the board
09-templates.md Board templates: inventory and definition format
10-accessibility.md VoiceOver, text scaling, visual accommodations
11-command-nexus.md The command Nexus — every command and action: bindings, contexts, customizability
12-editions.md The tiers (free / Pro subscription / Teams deferred): one-app distribution, entitlement, provider seam, feature matrix
13-native-undo.md macOS-native undo/redo — the free tier's history substrate
14-git-operations.md Extracted pathfinder git-operations conclusions: the forward-restore model — Pro tier

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.

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.