Skip to content

docs(spec): the validator-facing eval interface, as a reviewable mechanism - #10088

Merged
JSONbored merged 1 commit into
mainfrom
docs/validator-eval-interface-9215
Jul 31, 2026
Merged

docs(spec): the validator-facing eval interface, as a reviewable mechanism#10088
JSONbored merged 1 commit into
mainfrom
docs/validator-eval-interface-9215

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

#9215's remaining deliverable. The decision records for all six numbered items are on the issue; this is the draft page they resolve to.

Deliberately unpublished

It lives in the repo-root docs/ tree, not apps/loopover-ui/content/docs/, so it is not served on the site — the issue holds publication until the mechanism conversation with the subnet team concludes. The header says so explicitly, so a later reader does not mistake the location for an oversight. There is precedent for internal docs there (decision-audit-rubric.md, load-test-worker.md).

Mechanism only — no emissions, pricing or weight economics, per the issue's hard constraint.

Decisions it encodes

# Decision
1 EvalScoreRecord as the artifact, committing to corpus / window / scoring-rule version
2 Pull API + signed bundles using the existing anchor key. On-chain out of v1
3 outcome_confirmed_precision now, benchmark_run later, with an explicit not-scored list
4 trust.tier per artifact, omitted rather than published at a tier it cannot support
5 Scoring changes gate through the prospective-backtest machinery; version rides on the artifact
6 npx -p @loopover/mcp loopover-verify — recomputes locally, never asks us whether we passed

The gap it does not gloss

EvalScoreRecords are digest-committed but not signed. recordDigest proves internal consistency and detects tampering in a copy you already trust — it does not prove origin. Only the ledger anchor checkpoint is signed today.

So a validator can verify a score is self-consistent and that its corpus rehashes, and still not know we issued it. A validator team finds that in ten minutes, so it belongs in the proposal as a line item rather than as a surprise. That is exactly what transport option B closes, using the existing anchor key — no new cryptography, no new trust anchor.

The not-scored list is in for the same reason: live-gate execution, private-repo contents, and general agent capability are named as things this does not measure. A proposal that only lists what it can do is not reviewable.

Verification

docs:drift-check, branding-drift:check, git diff --check green. No code, no published surface, no behaviour change.

Closes #9215

…anism

#9215's remaining deliverable. The decision records for all six numbered items
are recorded on the issue; this is the draft page they resolve to.

DELIBERATELY UNPUBLISHED. It lives in the repo-root docs/ tree rather than
apps/loopover-ui/content/docs/, so it is not served on the site -- the issue
holds publication until the mechanism conversation with the subnet team
concludes. The header says so, so a later reader does not mistake its location
for an oversight.

Mechanism only: no emissions, pricing or weight economics, per the issue's hard
constraint.

Most of what it describes already ships, which is the point -- "adopt LoopOver as
the eval provider" becomes a thing a validator team can check line by line rather
than a claim. The artifact, the pull transport, the trust tiers, the scoring-rule
versioning and the one-command verifier all exist today.

The one gap is stated rather than glossed: EvalScoreRecords are DIGEST-COMMITTED
BUT NOT SIGNED. `recordDigest` proves internal consistency and detects tampering
in a copy you already trust; it does not prove origin. Only the ledger anchor
checkpoint is signed today. So a validator can verify a score is self-consistent
and that its corpus rehashes, and still not know we issued it. A validator team
finds that in ten minutes, so it belongs in the proposal as a line item -- which
is what transport option B closes, using the existing anchor key rather than any
new cryptography or trust anchor.

The "not scored" list is included for the same reason. Live-gate execution,
private-repo contents, and general agent capability are named as things this does
NOT measure, because a proposal that only lists what it can do is not reviewable.

On-chain commitment is recorded as out of scope for v1 and left as the named
upgrade path.

Closes #9215
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@loopover-orb

loopover-orb Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Warning

⏸️ LoopOver review result - manual review recommended

Review updated: 2026-07-31 06:46:04 UTC

1 file · 1 AI reviewer · no blockers · CI green · clean

⏸️ Suggested Action - Manual Review

  • AI review did not produce public notes: The configured AI reviewer returned no usable public assessment for this PR head.

Review summary
AI review is unavailable for this PR head. LoopOver is holding this PR for manual review until the configured AI provider returns a usable public review summary.

Nits — 3 non-blocking
  • PR author also opened the linked issue — Link an issue that was opened by a different contributor, or provide a rationale for why this self-authored issue represents genuine discovery work.
  • Diff looks like trivial or whitespace-only churn — Reduce whitespace-only or formatting-only churn and keep the diff focused on substantive changes.
  • AI review did not produce public notes — Fix the configured AI provider, then re-run LoopOver review before relying on the result.

Decision drivers

  • ✅ Code review — No blockers (1 reviewer)
  • ⚠️ Gate result — Not blocking (Advisory; not blocking this PR.)
Context & advisory signals — never blocks the verdict
Signal Result Evidence
Linked issue ✅ Linked #9215
Related work ✅ No active overlap found No same-issue or scoped active PR overlap found.
Change scope ✅ 20/20 Low review scope from cached public metadata (1 linked issue).
Validation posture ✅ 25/25 PR body includes validation/test evidence.
Contributor workload ✅ 10/10 Author activity: 9 registered-repo PR(s), 8 merged, 272 issue(s).
Contributor context ✅ Confirmed Gittensor contributor JSONbored; Gittensor profile; 9 PR(s), 272 issue(s).
Improvement ℹ️ Insufficient signal risk: low · value: insufficient-signal
Review context
  • Author: JSONbored
  • Role context: owner (maintainer lane)
  • Public audience mode: oss maintainer
  • Lane context: Repository is configured for direct PR review.
  • Public profile languages: not available
  • Official Gittensor activity: 9 PR(s), 272 issue(s).
  • PR-specific overlap: none found.
Contributor next steps
  • Start here: Treat this as maintainer-lane context rather than normal contributor-lane activity.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Change scope = cached public metadata such as size labels, draft state, and review-burden hints.
  • Validation posture = whether the PR provides enough public validation/test evidence for maintainer review.
  • Contributor workload = public contributor activity and cleanup pressure, not a repo-wide quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.
🧪 Chat with LoopOver

Ask LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.

  • @loopover ask <question> answers contribution-quality Q&A with source citations and freshness.
  • @loopover chat <question> answers in natural prose from cached decision-pack facts via local inference (maintainer/collaborator; read-only).
  • A plain-language @loopover mention with a real question is routed to the closest matching read-only command automatically — no exact syntax required.

Full command reference: https://loopover.ai/docs/loopover-commands

🧪 Experimental — new and may change.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed


💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.

  • Re-run LoopOver review

@JSONbored JSONbored self-assigned this Jul 31, 2026
@loopover-orb loopover-orb Bot added the manual-review Gittensor contributor context label Jul 31, 2026
@JSONbored
JSONbored merged commit c228738 into main Jul 31, 2026
6 checks passed
@JSONbored
JSONbored deleted the docs/validator-eval-interface-9215 branch July 31, 2026 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual-review Gittensor contributor context

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spec: validator-facing eval interface — what SN74 consumes from LoopOver as the objective eval provider

1 participant