039-model-backed-rank
Model-backed rank and deterministic backfill (amends 002 and 005)
An amendment of approved specs 002 and 005 (R-16), for #76 child C2. Adds a `rank` step kind with three declared modes (listwise, pointwise, pairwise) over a bounded candidate pool, a distinct `ModelRanking` value kind that records partial rankings, dropped ids with reasons, scores scoped to one ranking request and pairwise win counts, optional identity-bearing position-bias controls driven by a named seeded generator, and a `select` step that fills k positions from a model ranking and, when it is short or its backend failed, from a declared exact ordering, with per-position origin and derivation. Pairwise schedules are deterministic and bounded by `max_comparisons`; cycles are resolved by win count, then an exact tie-break, and counted. The constructs join the #76 track versions (`rustev.definition/2`, `rustev.plan/3`, `rustev.evidence/2`); the backend descriptor gains an optional `ranking` member. The rules backend (spec 005) answers pointwise `rank` for the swap test. Bedrock (spec 030) admits its reserved `rank` value under 030 3.12. Jev (specs 012 and 022) keeps R-28: rankings over Jev answers stay composed in plans and feed `select` unchanged. Plans that use none of this keep byte-identical identities. Approved (A-36); implementation is complete; the Bedrock `rank` admission follows spec 030 as its own increment (A-49).
Read the full pinned specification ↗Relationships
depends on
- 001-boundaries-and-authority
- 002-decision-contract-and-pure-core
- 003-runtime-execution-and-evidence
- 004-evaluation-and-replay
- 005-reference-backends
- 009-remote-adapter-protocol
- 012-jev-integration
- 029-evaluation-repeatability
- 031-public-api-and-release-family
- 032-evidence-quality
- 036-mid-plan-acquisition
- 037-generation-steps
- 038-structured-extraction
depended on by
Claimed units
- extends
{ "nature": "amending", "spec": "002-decision-contract-and-pure-core", "unit": { "kind": "directory", "path": "crates/rustev-contract/" } } - extends
{ "nature": "amending", "spec": "002-decision-contract-and-pure-core", "unit": { "kind": "directory", "path": "crates/rustev-core/" } } - extends
{ "nature": "amending", "spec": "005-reference-backends", "unit": { "kind": "directory", "path": "backends/rustev-backend-rules/" } } - extends
{ "nature": "additive", "spec": "003-runtime-execution-and-evidence", "unit": { "kind": "directory", "path": "crates/rustev-runtime/" } } - extends
{ "nature": "additive", "spec": "004-evaluation-and-replay", "unit": { "kind": "directory", "path": "crates/rustev-eval/" } } - extends
{ "nature": "additive", "spec": "006-cli-surface", "unit": { "kind": "directory", "path": "crates/rustev-cli/" } } - extends
{ "nature": "additive", "spec": "001-boundaries-and-authority", "unit": { "kind": "file", "path": "Makefile" } } - extends
{ "nature": "additive", "spec": "001-boundaries-and-authority", "unit": { "kind": "directory", "path": "scripts/acceptance/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "crates/rustev-surface/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "integrations/rustev-node/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "integrations/rustev-wasm/" } } - extends
{ "nature": "additive", "spec": "028-opentelemetry-evidence-sink", "unit": { "kind": "directory", "path": "integrations/rustev-otel/" } } - extends
{ "nature": "additive", "spec": "030-bedrock-backend", "unit": { "kind": "directory", "path": "integrations/rustev-bedrock/" } } - extends
{ "nature": "additive", "spec": "012-jev-integration", "unit": { "kind": "directory", "path": "integrations/rustev-jev/" } } - extends
{ "nature": "additive", "spec": "009-remote-adapter-protocol", "unit": { "kind": "directory", "path": "integrations/rustev-remote-http/" } } - extends
{ "nature": "additive", "spec": "031-public-api-and-release-family", "unit": { "kind": "directory", "path": "tools/rustev-release/" } }
Source headings
- 039: Model-backed rank and deterministic backfill (amends 002 and 005)
- 1. Purpose
- 2. Territory
- 2.1 Binding principles of #76
- 3. Behavior
- 3.1 Documents and versions
- 3.2 The `rank` step
- 3.3 The descriptor `ranking` member
- 3.4 Requests and projections
- 3.5 Listwise mode
- 3.6 Pointwise mode
- 3.7 Pairwise mode
- 3.8 Position-bias controls
- 3.9 The model ranking value
- 3.10 The `select` step and deterministic backfill
- 3.11 Derivation, lineage and origin
- 3.12 Compilation and refusals
- 3.13 Evidence, capture and replay
- 3.14 Rules backend pointwise rank (amends 005)
- 3.15 Bedrock rank (admitted under spec 030 3.12)
- 3.16 Jev and composed rankings (specs 012, 022)
- 3.17 Evaluation
- 3.18 Compatibility
- 4. Out of scope
- 5. Observable negative cases
- Acceptance
- Verification
- Implementation record
- Decisions at approval
Frozen anchors
No frozen anchors declared.