Planning Board blueprint¶
This is a design blueprint, not a shipped example. Model tasks as tokens with
stable IDs, labels, assignees, estimates, and provenance. Model columns or
swimlanes as Space zones; use agents for participants and ordinary game state
for labels, filters, and milestones.
Invariants and conflicts¶
State the invariants before choosing fields: a task has one canonical ID, a completed task cannot return to active without an explicit action, estimates are non-negative, and an archive is tombstoned. Concurrent moves to different columns should merge. Concurrent edits to the same title, rank, or assignee need an intentional register, multi-value conflict, or domain merge—not an unstated overwrite. Keep ordering and rank rebalance bounded; document growth is a product constraint.
Use engine.dispatch() for all mutations and game:setState for board-specific
fields. A relay can connect peers but does not authenticate identities. Add a
server authority for permissions, retention, audit policy, quotas, and
notifications. HyperToken is a poor fit when the product needs full project
management workflows, search/analytics infrastructure, or strict central
approval rather than mergeable edits.