hephaestus/docs
Erich Blume d0debfceb9
Some checks failed
Build / validate (pull_request) Failing after 4s
heph-core: recurrence (roll-forward in place) + per-task logs
Slice 5 (tech-spec §4.4). Completing a recurring task rolls it forward in
place instead of marking it done — the Todoist-corner-avoiding model.

Pure recurrence module:
- next_occurrence(rrule, anchor, after): lazy RRULE expansion (rrule +
  chrono/UTC) returning the next instance strictly after `after`,
  skipping missed occurrences; None when a finite series is exhausted.
- reset_checkboxes(body): the fresh-checklist transform — unchecks every
  `- [x]`, idempotent, preserves indentation/bullet/line-endings.

Storage roll-forward (one transaction, on set_state(done) of a recurring
task): reset the canonical context doc's checklist, append the completed
occurrence to the task's log, advance do_date to the next instance after
now (skipping misses); finite series finally goes done. `skip` advances
the same way without logging. Non-recurring done is unchanged.

Per-task append-only log (`log-of` doc): log_append / log_tail — the
resumption breadcrumb + recurring-completion narrative ([[design]] §6.4).

Tests: 7 recurrence unit + 2 proptests (no checked marker survives reset;
reset idempotent for any body) + 6 end-to-end incl. five-occurrence
no-carry-forward and missed-collapse-to-one. 53 tests green. This
completes the heph-core library layer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 19:14:22 -07:00
..
changelog.d heph-core: recurrence (roll-forward in place) + per-task logs 2026-05-31 19:14:22 -07:00
explanation Fold second-pass design review into v1 spec 2026-05-31 18:08:47 -07:00
how-to Initial commit 2026-05-31 06:13:36 -07:00
reference Fold second-pass design review into v1 spec 2026-05-31 18:08:47 -07:00
tutorials Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
index.md Initial commit 2026-05-31 06:13:36 -07:00
quartz.config.ts Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
quartz.layout.ts Initial commit 2026-05-31 06:13:36 -07:00