Skip to content

docs: reactive-recalc doc + auto-recalc-on-revise plan#130

Merged
paddymul merged 1 commit into
mainfrom
docs/auto-recalc-plan
Jun 24, 2026
Merged

docs: reactive-recalc doc + auto-recalc-on-revise plan#130
paddymul merged 1 commit into
mainfrom
docs/auto-recalc-plan

Conversation

@paddymul

Copy link
Copy Markdown
Contributor

Two documentation artifacts for the reactive recalc system, no code change. Off
latest main (includes #129).

What lands

  • docs/reactive-recalc.md — a rewrite of the reactive-recalc system doc. It
    leads with the two things you actually do — build a simple catalog, then revise an
    alias and recompute its dependents — and then documents when new alias revisions are
    created, the two staleness axes (alias + source), the scan/recalc surfaces (MCP +
    HTTP), the one-checkpoint-per-walk semantics, and the cross-process notify/SSE path.
    Accurate against main as of fix(#89): recalc review fixes (#128) — notify reload, SSE shape, manifest-less root guard #129 (the _recalc_sse_event shape, manifest-less root
    guard, and /internal/notify recalc handling it describes are all merged).

  • plans/auto-recalc-on-revise.md — the design plan for auto-recalc on revise:
    revising an alias optionally recomputes its stale dependents in the same atomic
    checkpoint. Settled during design review:

    • Atomicity falls out of the existing per-op checkpoint (git add -A); revise
      embeds a checkpoint-free _recalc_walk, so there are no checkpoint plumbing
      changes — a refactor, not new machinery.
    • Switch: per-project config.json in the catalog repo, env-overridable,
      default ON.
    • Scope: followers of the revised alias only, with orphan-stale logging +
      durable recalc-failure records, so leaked staleness is always logged and
      tie-back-able.
    • Failure: stop-and-report — the revise always lands.
    • Triggers: every existing-alias head-mover (catalog_revise +
      catalog_promote_diff, both MCP and companion) via a shared helper, with a
      catalog_scan_staleness backstop for the bypasses it can't hook.

Implementation (Stage A/B) is a follow-up; this PR is the plan + doc only.

🤖 Generated with Claude Code

Two reactive-recalc documentation artifacts, no code change.

- docs/reactive-recalc.md — rewrite of the reactive recalc system doc. Leads with
  how a simple catalog is built and the revise-an-alias -> recompute-dependents
  workflow, then documents when new alias revisions are created, the two staleness
  axes, the scan/recalc MCP+HTTP surfaces, the one-checkpoint semantics, and
  cross-process SSE. Accurate against main as of #129.

- plans/auto-recalc-on-revise.md — design plan for making revise auto-cascade to its
  stale dependents in one atomic checkpoint. Resolves the decision tree: catalog-repo
  config (env-overridable, default ON), followers-only scope with orphan-stale
  logging + durable recalc-failure records, stop-and-report failure, sync v1, and
  triggers on every existing-alias head-mover (revise + promote_diff, both surfaces)
  with a scan-surface backstop.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@paddymul paddymul merged commit d7a52f2 into main Jun 24, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant