Skip to content

docs: belief retention class + aging policy spec (#290) - #296

Merged
robotrocketscience merged 1 commit into
mainfrom
docs/issue-290-belief-typing-spec
Apr 29, 2026
Merged

docs: belief retention class + aging policy spec (#290)#296
robotrocketscience merged 1 commit into
mainfrom
docs/issue-290-belief-typing-spec

Conversation

@robotrocketscience

Copy link
Copy Markdown
Owner

Summary

Spec memo for #290. Phase-3 of the #286 redesign — the foundational typing axis that ranking, aging, and promotion all consume. Doc-only — no code change. Posted for ratification.

Core moves:

  1. New orthogonal axis retention_class with three live values: fact, snapshot, transient (plus unknown for migration). Distinct from the existing type enum, which describes form not expected lifetime.
  2. Defaults per ingest path. Filesystem/git/CLI-remember → fact. Transcript/hook → snapshot. transient requires explicit operator opt-in. Table in §2.
  3. Soft down-weight in ranking, not hard expiry. Composite score from Rebuild redesign: silent-vs-always contract + relevance floor #289 gains a retention_age_multiplier(class, age_days) term. Per-class exponential decay with floor (fact ~300d half-life, snapshot 14d, transient 1d). Locks force multiplier = 1.0.
  4. Promotion: snapshot → fact when corroboration_count >= 3 AND distinct_sessions >= 2 AND no contradiction. Reuses [phantom-prereqs T1] Belief corroboration tracking — sibling table + ingest recorder #190 corroboration recorder. Doctor-pass opt-in (aelf doctor --promote-retention, mirrors feat(doctor): --classify-orphans pass for un-typed low-prior beliefs (#206) #253). No demotion — contradictions handle correctness.
  5. Migration via _maybe_classify_retention_class(), schema-meta gated, heuristic by source_kind. legacy_unknown rows stay unknown.

Decision asks (nine)

Bottom of the memo. Schema shape, defaults table, transient opt-in, multiplier shape, lock override, calibration plan, promotion thresholds, no-demotion, migration heuristic.

What ships if ratified

Three PRs:

  1. Schema + score-formula change + migration helper (~500 lines)
  2. Per-ingest defaults wired across scanner / ingest / hooks (~250 lines)
  3. Promotion lane via aelf doctor --promote-retention (~300 lines)

Test plan

Refs #290, #286

@robotrocketscience robotrocketscience added the author-Setr PR coordination mutex label Apr 29, 2026
@robotrocketscience

Copy link
Copy Markdown
Owner Author

[claim:review:Gylf:2026-04-29T02:29:16Z]

@robotrocketscience
robotrocketscience merged commit 1fe4f8e into main Apr 29, 2026
8 checks passed
@robotrocketscience

Copy link
Copy Markdown
Owner Author

[release:review:Gylf:2026-04-29T02:29:36Z]

@robotrocketscience
robotrocketscience deleted the docs/issue-290-belief-typing-spec branch April 29, 2026 02:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author-Setr PR coordination mutex

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant