Warden plan
tier: hermetic requires: []
Pending stub — GATED criterion. The precondition below is not built; this plan reports the criterion as pending (skip, never fail) until it lands. When it does, replace this stub with a real plan in the shape of
25-cr-18/26-cr-25/27-cr-20.
Register: ~/.studio/master.withrobin.ai/project/rfc.one/criteria-register.md (status there: PENDING OWNER ACCEPTANCE; accepted by the 2026-08-31 proxy screen).
### CR-13 — Staleness under injected contradictions - Statement: Standing propagation keeps stale Claims out of top results as structure accumulates, and beats a Graphiti-style temporal-graph arm on staleness at comparable ingest cost. - Metric: Staleness rate: fraction of top-10 results that are accepted/proposed Claims with an injected contradicting Signal present longer than Δ (contested-and-surfaced does not count). Sanity: retracted/superseded Claims in top-10 must be zero (construction guarantee). Per-Signal ingest cost c_ing both arms. - Dataset/inputs: Injected replay series: same artifact runs as CR-12 plus, per checkpoint, up to 100 annotator-written contradicting Signals against existing accepted Claims (<20 accepted Claims at a checkpoint → staleness reported as not measurable, not zero). Comparison arm: Graphiti-style incremental temporal fact graph over the same Signals. - Threshold: Staleness below 2% at every measurable checkpoint. - Drop condition: Staleness rising with m falsifies the thesis in the weaker sense (§1). If the Graphiti-style arm matches Robin's staleness at ingest cost no higher than Robin's, the justification network is not earning its complexity on this axis. - Source: Anchor §10.5. - Tier: gated — requires full stack plus the replay harness.
Precondition: requires the full stack plus the replay harness. Not built at HEAD 7f379974 (verified 2026-08-31: no 'claims', 'dimensions', or 'initiatives' tables in server/src/db/schema.ts, and no conflicts_with edges anywhere in server/src or packages/). The replay harness and the Graphiti-style comparison arm have no code marker to probe.
set -uo pipefail
source "$WARDEN_LIB/assert.sh"
cd "${PROJECT_ROOT:-$(git rev-parse --show-toplevel)}"
SCHEMA=server/src/db/schema.ts
MISSING=""
grep -q "'claims'" "$SCHEMA" || MISSING="$MISSING claims-tables"
if [ -n "$MISSING" ]; then
warden_skip "CR-13 — Staleness under injected contradictions" "pending: requires the full stack plus the replay harness — gated criterion, precondition not built (probes missing:$MISSING)"
else
warden_skip "CR-13 — Staleness under injected contradictions" "schema probes now pass — upgrade this pending stub to a real plan before CR-13 can bind (probes are heuristic, not proof)"
fi
Pending stub, hermetic on purpose: the guard reads the checkout only and emits skip in every branch, so this plan can never red a run — the criterion surfaces in every summary as pending with its precondition named. The probes are heuristic activation bells, not proof: quoted table names (and conflicts_with where the contradiction check is a precondition) flip the detail text when the machinery lands. The real plan must quote the criterion verbatim, turn its thresholds into warden_pass/warden_fail gates, and follow the conventions the three runnable plans set: machine-local fixtures (25-cr-18), NLI probe and versioned judge prompts (26-cr-25), data-keyed guard activation (27-cr-20).