diff --git a/microtensor_subnet/validator/epoch.py b/microtensor_subnet/validator/epoch.py index fc1f829..07b9e75 100644 --- a/microtensor_subnet/validator/epoch.py +++ b/microtensor_subnet/validator/epoch.py @@ -466,6 +466,7 @@ def score_all( gate_ok=gate, provenance_ok=bool(prov.get("passed")), base=base_run, + min_items=rules.min_items, rules=rules, envelope_ok=envelope_ok, ) @@ -486,7 +487,7 @@ def score_all( ) found.append(pool_score) if outcome.harness is not None: - found.append(score.harness_score(outcome.harness)) + found.append(score.harness_score(outcome.harness, min_items=rules.min_items)) if outcome.router is not None: found.append( score.router_score( @@ -502,11 +503,14 @@ def score_all( if outcome.escalation is not None: found.append( score.escalation_score( - outcome.escalation, runner.reference_escalation, seed=context.seed + outcome.escalation, + runner.reference_escalation, + seed=context.seed, + min_items=rules.min_items, ) ) if outcome.system is not None: - found.append(score.system_score(outcome.system)) + found.append(score.system_score(outcome.system, min_items=rules.min_items)) scores[hotkey] = found return scores diff --git a/microtensor_subnet/validator/score.py b/microtensor_subnet/validator/score.py index 4b9a0d3..ee69262 100644 --- a/microtensor_subnet/validator/score.py +++ b/microtensor_subnet/validator/score.py @@ -66,6 +66,7 @@ class Rules: burn_empty_pools: bool = False router_kind: str = FLOORS_BRIER router_latency_ms: float = ROUTER_LATENCY_GATE_MS + min_items: int = MIN_ITEMS @classmethod def from_definition(cls, definition: Mapping[str, Any]) -> Rules: @@ -97,6 +98,7 @@ def from_definition(cls, definition: Mapping[str, Any]) -> Rules: burn_empty_pools=block.get("empty_pools") == "burn", router_kind=str(block.get("router") or FLOORS_BRIER), router_latency_ms=float(router.get("latency_gate_ms") or ROUTER_LATENCY_GATE_MS), + min_items=int(block.get("min_items") or MIN_ITEMS), )