Skip to content

Replay v2: re-query action-match mode + wall-clock capture for staleness rules #9028

Description

@JSONbored

Parent: #8828. Successor to #8838 (whose deterministic core — input capture, pure replay, CLI, CI smoke — ships in the closing PR); this issue carries the two deliberately deferred pieces so #8838 closes clean.

Requirements

  1. Re-query mode (replay-decision.ts --requery): re-runs the model for the same target and reports an ACTION-MATCH RATE — never labeled "reproducibility" (hosted inference is not bit-deterministic even at temperature 0; the docs must state why). Blocked on: persisting the full prompt text alongside the existing promptDigest (privacy + row-size call: prompt text embeds the diff — likely another private sibling table with retention bounds, mirroring decision_replay_inputs' posture).
  2. Wall-clock capture: when staleness rules (requireFreshRebaseWindowMinutes, staleBaseAheadByThreshold) join the replay scope, the evaluation must read time through an injected nowMs recorded into decision_replay_inputs.replay_json — a seeded regression test per rule proving replay at the recorded instant is bit-exact and replay at a different instant is NOT silently accepted.

Test Coverage Requirements

99%+ patch coverage, branch-counted, on all changed src/** lines; both arms of every time-dependent branch.

Expected Outcome

The replay harness covers every decision input including time, and operators get an honest action-match metric for the one irreducibly nondeterministic stage.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions