-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
memory-wiki: Stale Pages report flags intentionally durable references (concepts, syntheses) as aging #93485
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
memory-wiki:
Stale Pagesreport flags intentionally durable references (concepts, syntheses) as agingPlugin:
memory-wikiAffected versions: 2026.6.1 (and likely all versions where the report was introduced)
Description
The
Stale Pagesreport flags any page withpage.kind !== "report"whoseupdatedAtis older than 30 days as "aging" and 90+ days as "stale". In bridge-mode vaults, concept and synthesis pages are intentionally durable reference material and should not be subject to the same staleness threshold as event-driven sources.In our 853-source / 5-concept / 7-synthesis vault, every concept and synthesis page is currently flagged as "aging" — so the report's signal-to-noise ratio is 0 for the most valuable references.
page.kindis directory-derived (sources/→source,concepts/→concept, etc.) and the lint check atcli-BC1g2VJh.js:3127enforces thatpageTypefrontmatter matches the expected type, so pages cannot be relabeled as reports without breaking the structure validator.The relevant filter at
cli-BC1g2VJh.js:653:The
WIKI_STALE_DAYS = 90constant and the implicit 30-dayagingthreshold are at lines 39 and 71 of the same file.Reproduction
openclaw wiki compile.reports/stale-pages.md— observe all concept and synthesis pages listed as "aging" with the messagelast touched <14-day-old timestamp>.Proposed fix
Add a user-configurable exclude list to the staleness check. Suggested shape:
{ "plugins": { "memory-wiki": { "reports": { "stalePages": { "excludeKinds": ["concept", "synthesis"], "excludePathPatterns": ["^/concepts/", "^/syntheses/"], "durableFrontmatterKey": "durable", "staleAfterDays": 90, "agingAfterDays": 30 } } } } }Defaults: empty arrays (current behavior),
durableFrontmatterKeydefaults to"durable"and is treated as opt-in when the value istrue,staleAfterDaysdefaults to 90,agingAfterDaysdefaults to 30.Additional request
The hardcoded
WIKI_STALE_DAYS = 90and the implicit 30-dayagingthreshold should be exposed as configurable thresholds (staleAfterDays,agingAfterDays) so operators can tune to their own vault activity cadence.Workarounds attempted (none viable)
pageType: reportin concept/synthesis frontmattercode: page-type-mismatchbecause the validator expects the directory-derived type (cli-BC1g2VJh.js:3127)updatedAtto a recent timestampdurable: truefrontmatter fieldcli-BC1g2VJh.jsdirectlynpm update; not a routine fix pathImpact
High noise in a high-value report. Operationally, the report is currently unusable for spotting genuinely stale source pages because durable references drown out real signal.