Skip to content

Design a positive-confirmation ('this automated decision was correct') signal #8106

Description

@JSONbored

Problem

Every backtest/precision system built or planned in this epic (and in #7980's own reactive self-correction family) can only ever see REVERSALS — a maintainer disagreeing with an automated call. Confirmed via grep: src/review/outcomes-wire.ts's recordReversalSignals has no positive-confirmation counterpart anywhere in this codebase. RulePrecisionReport.precision (packages/loopover-engine/src/calibration/signal-tracking.ts) and this epic's own BacktestScoreReport.precision/recall both, by design, treat "no override" as "no signal either way" — never coerced into a confirmed count. That's the right behavior given no real confirmation signal exists, but it means every precision number in this system is a floor, not a true value: it can only go up as reversals are found, never as correct calls get positively confirmed. At real scale this systematically undercounts precision for every rule, everywhere in the system.

Area

Cross-cutting — affects the ground-truth quality feeding #7982's calibration module, #7980's reactive detection, and this epic's own backtest primitives, wherever a "confirmed" count matters.

Proposal

Decide what a real confirmation signal should look like. Candidates to weigh (this issue does not decide between them):

  • An explicit maintainer action — a bot-recognized comment or command on a PR that was automatically blocked/closed — highest-confidence, but requires new maintainer-facing UX and only captures cases the maintainer bothers to explicitly confirm.
  • A time-boxed "stayed closed with no reopen" heuristic — cheap, no new UX, but conflicts with RulePrecisionReport's own stated discipline against absence-of-signal-as-signal: a maintainer might simply not have gotten around to reviewing a stale closed PR, not have confirmed it was correctly closed.
  • Something derived from an existing maintainer action already captured elsewhere in the system (worth auditing what's already recorded — e.g. an explicit PR review approval/request-changes event — before inventing a new mechanism).
  • A hybrid: the lightest-weight explicit action that still counts as a real, deliberate signal rather than an inferred one.

Deliverables

A written decision on which approach (or combination) to build, with reasoning — followed by a real implementation issue once decided.

Resources

Boundaries

This issue is decision-only — it does not implement anything. Whatever gets decided becomes its own follow-up implementation issue.

maintainer-only — a real product-design decision affecting every rule's precision measurement, not a build task for contributors.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.roadmapOn the Wave-2 agent-layer roadmap board (project 9)

Projects

Status
Done
Status
Done

Relationships

None yet

Development

No branches or pull requests

Issue actions