Skip to content

Research: advisory freshness and review scoring for long-term governed knowledge #142

Description

@ajdelaguila

Source signal

The OpenSearch memory-retention RFC discussion sharpened a point that applies to Data Olympus too:

  • working/session/history cleanup can use retention controls such as count and age;
  • long-term governed knowledge needs freshness, revalidation, supersession, promotion, and scoring signals more than simple deletion;
  • any score should remain advisory until a retrieval or promotion policy interprets it.

Related closed work:

This issue is a follow-up, not a replacement for those slices.

Problem

Data Olympus can decide whether a document is in force, but operators also need a way to identify long-term knowledge that should be refreshed, reverified, promoted, or reviewed before it becomes stale enough to hurt retrieval quality.

A binary in-force filter is necessary but not always enough for long-lived KBs.

Proposed research / design

Evaluate an advisory freshness/scoring layer for long-term governed knowledge. Candidate signals:

  • days since last_verified_at;
  • approaching or past valid_until;
  • supersession depth or conflict links;
  • repeated retrieval without recent verification;
  • repeated agent proposals touching the same concept;
  • source evidence age;
  • operator-confirmed “still current” refresh events.

Possible surfaces:

  • kb_curate recommendation: “review / refresh / verify this guidance”;
  • compact search metadata: freshness_score or review_due as advisory only;
  • maintenance ledger entries for soon-stale high-value docs;
  • optional sorting boost/downrank for stale-but-still-in-force documents, behind a mode flag.

Acceptance criteria

  • Scoring never promotes or demotes authority by itself.
  • The score is clearly advisory and separate from status / in_force.
  • Operators can see why a document is review-due.
  • Retrieval can optionally expose the signal without changing default in-force semantics.
  • Documentation explains the difference between retention, freshness, and authority.

Non-goals

  • Do not add automatic deletion for long-term project knowledge.
  • Do not make access counters write on every read.
  • Do not introduce an authority_state enum parallel to status.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions