Skip to content

LLP 0086-0092: automatic projection of derived datasets (design)#279

Draft
philcunliffe wants to merge 1 commit into
masterfrom
automatic-projection
Draft

LLP 0086-0092: automatic projection of derived datasets (design)#279
philcunliffe wants to merge 1 commit into
masterfrom
automatic-projection

Conversation

@philcunliffe

Copy link
Copy Markdown
Contributor

What

Design-only LLP set (no code) that makes automatic graph projection the default, with a config opt-out, and generalizes the mechanism to "things like the graph."

Today the T0 activity graph only projects when someone runs hyp graph project (LLP 0023 §on-demand-projection), so a running install accumulates capture while its graph silently drifts stale. This set reverses that default.

Why it's safe to reverse LLP 0023

LLP 0023 kept projection out of the daemon because it "could block or OOM the daemon." The daemon already runs bounded background work safely: the cache-maintenance loop (runtime.js) is default-on/opt-out, interval-driven, budget-capped, single-flight, and error-isolated. Automatic projection rides that same shape, so the objection is answered without inventing a kernel commit hook.

The documents

LLP Type Settles
0086 spec Requirements: default-on, opt-out, bounded, eventually fresh, general; cost/exfiltration derivations stay opt-in
0087 decision Automatic projection is the default (supersedes 0023 §on-demand-projection, default only)
0088 decision Scheduled daemon tick as the trigger (vs commit hook / subprocess)
0089 decision Bounded, isolated execution (budget + single-flight + error isolation)
0090 decision General derivation registration seam (ctx.derivations.register; defaultOn per-derivation so enrichment stays off)
0091 design Registry seam, daemon tick loop, derive config block, what the graph registers
0092 plan Implementation steps (6 mergeable tasks)

Plus a superseded-by note on LLP 0023 §on-demand-projection; the rest of 0023 (contracts, content-addressed ids, merge, dedup, compaction) stands and is what makes automatic re-projection idempotent.

Scope / status

  • Docs only. No code changes. Implementation is the follow-up described in LLP 0092.
  • All docs are Status: Draft for review before Accepted, since this reverses an Active decision.
  • All @refs, LLP numbers, section anchors, and repo paths verified to resolve.

Notable defaults (flag if you disagree)

  • Default cadence 15 min (vs the maintenance loop's 60); it's a config value, not baked in.
  • graph compact stays manual this slice; auto-compaction is a listed follow-on.

🤖 Generated with Claude Code

Design set making automatic graph projection the default (opt-out via
config), superseding LLP 0023 section on-demand-projection for the default
trigger only. The rest of LLP 0023 (contracts, ids, merge, dedup, compaction)
stands and is what makes automatic re-projection idempotent.

- 0086 spec: automatic derivation requirements (default-on, opt-out, bounded,
  eventually fresh, general; cost/exfiltration derivations stay opt-in)
- 0087 decision: automatic projection is the default
- 0088 decision: scheduled daemon tick as the trigger (not a commit hook)
- 0089 decision: bounded, isolated execution (answers 0023's OOM objection)
- 0090 decision: general derivation registration seam
- 0091 design: registry seam, daemon tick loop, derive config block
- 0092 plan: implementation steps
- 0023: superseded-by note on the on-demand-projection default

Docs only; no code changes. Implementation is LLP 0092.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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