generated from eblume/project-template
Some checks failed
Build / validate (push) Failing after 5s
Resolve the open tensions surfaced in the pre-Phase-1 second pass over design.md and tech-spec.md: - Context items: Fork A index model — body markdown is the source of truth; context items are a locally-derived, non-synced index; identity is pinned at promotion. Dissolves the body-CRDT vs. extraction convergence problem. - Recurrence: roll-forward in place; drop task_occurrences and is_template; advance to next RRULE instance after now (skip misses). - Identity: deterministic ids for journal/tag (offline-convergent); ULID for content nodes and project. - Mode/sync: orthogonal hub_url spoke capability; everyday device is local + hub_url, not server. - Auth/owner: nullable oidc_sub, friction-free local user, hub- authoritative identity, one-time pre-first-sync adoption rewrite. - Ranking: do_date is a boolean candidacy filter only; late_on is the sole urgency signal (global tier); FIFO tiebreak; order expressed as a reorderable named-dimension list. - Modes are plugin-side compositions; add list() and log.tail(). - Frame v1 as a single deliberate C1; misc cleanups (export, health, CI nvim runner, README license). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
460 B
460 B
Second-pass review of the v1 design + tech spec before Phase 1: resolved context-item storage (Fork A index model), recurrence (roll-forward in place), key-unique node identity (deterministic ids for journal/tag), mode/sync orthogonality (hub_url spoke), the local-only owner / OIDC adoption path, the "what is next?" ranking (do-date as candidacy filter only, late-on as the sole urgency signal), and the plugin-side mode model (added list + log.tail).