feat(schema): knowledge decay + permanence tier (KNOWLEDGE-DECAY.md)#6
Conversation
Formalizes node-level confidence decay, Hard Persistence Tier, conflict detection on immutable nodes, heat-map revalidation priority, and retrieval authority ranking. All design decisions resolved via daemon-bot thread 2026-04-23. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contested nodes cannot be sole basis for automated execution paths until revalidation resolves to current. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When a node contests, direct dependents flagged dependency_taint=true for secondary review. Depth>1 cascade deferred to v2. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Enables revalidation worker to clear dependency_taint flags automatically when contested parent resolves to current. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
titaniumshovel
left a comment
There was a problem hiding this comment.
Two implementation notes on this PR (not schema surface — noting here so they're tracked when the implementation PR lands).
| - Are enqueued for secondary review | ||
| - Surface `dependency_taint: true` and `taint_origin_id` as metadata warnings at retrieval | ||
|
|
||
| Auto-clear: when the parent node's `revalidation_status` returns to `current`, the revalidation worker clears `dependency_taint` and `taint_origin_id` on all nodes where `taint_origin_id` matches the resolved parent. |
There was a problem hiding this comment.
Cascade-clear worker logic — implementation detail, not schema.
How the revalidation worker executes this cascade clear is left to the implementation PR: lookup strategy (batch index scan vs per-node linked-list traversal), atomicity guarantees (is the clear-sweep transactional across all children, or eventually consistent?), and rate-limiting on nodes with large taint-child fanout. Schema only specifies the post-condition (dependency_taint and taint_origin_id cleared on children when parent returns to current).
| ```yaml | ||
| dependency_taint: true | ||
| taint_origin_id: <id_of_contested_parent_node> | ||
| ``` |
There was a problem hiding this comment.
Orphaned taint sweep — implementation detail, not schema.
Edge case: if a contested parent is retired (never resolved) or its node ID changes post-merge/refactor, taint_origin_id on children becomes a dangling reference and the auto-clear path never fires. Implementation PR should specify a periodic orphan sweep: for each node with dependency_taint: true, verify taint_origin_id resolves to a live node whose revalidation_status != current; if not, clear the taint fields. Schema stays clean — this is worker hygiene.
Big-review hourly snapshot. Covers PR#6 status, squad sync, Shipwright hibernation state, and open blockers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Spec note (from squad review): When Suggested addition to the
Also opened #7 to track the cascade-clear worker / orphaned taint sweep as a post-merge impl item — per Coconut's review suggestion. |
A contested node at confidence_floor is indistinguishable from a stable floor-clamped node by confidence value alone. Documents that decay workers must check revalidation_status in tandem. Addresses review comment from titaniumshovel on PR#6. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Addressed in a03dee4. Added the contested-floor edge case note directly to the contested section in KNOWLEDGE-DECAY.md — decay workers and retrieval classifiers must check |
PR#6 edge-case addressed (contested-floor note). Snapshot reflects updated PR state and open blockers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Stable/waiting. PR#6 open, no reviews. No squad activity since morning merges. Cross-worktree wiki_search test flagged as highest-leverage Molty-owned item. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PR#6 unchanged. Notable: Tailscale webhook receiver (nabu-pn7g55fc) unresolvable — 0 active subscriptions, Molty deaf to Teams pings. Chris action item. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
Introduces
KNOWLEDGE-DECAY.md— schema design for:last_verified_at,confidence,confidence_floor,source_reliability_index,is_immutable,revalidation_status)is_immutable: truenodes (RULES.md, architectural invariants)contestedstatus with clampedeffective_confidencetaint_origin_id/dependency_taint; full cascading taint deferred to v2Commits
Add knowledge decay & permanence tier policy (KNOWLEDGE-DECAY.md)— base docAdd no-solo-execution constraint for contested nodes— no irreversible action on contestedAdd depth-1 dependency tainting for contested nodes— v1 scope, v2 deferredAdd taint_origin_id for auto-clear on parent resolution— closes the taint lifecycleStatus
Draft ready for review. Daemon-bot feedback already incorporated. Two implementation-level items (cascade-clear worker logic, orphaned taint sweep) intentionally deferred to implementation PR — leaving as inline review comments on this PR rather than expanding schema surface.
— 🦎 Molty