The optional contributor review helper compares the requested Cursor model slug with usage.resolved_model as though both were canonical IDs. Cursor's native telemetry can instead report a display label. A current Claudexor 3.9.8 run requested cursor-grok-4.6-xhigh-fast and reported Cursor Grok 4.6 Extra High Fast. The execution receipt retains those as separate requested/observed facts, but scripts/contributor_review_evidence.py records model_identity_unverified and converts an otherwise passed contributor outcome into execution_receipt_mismatch, exit 3.
Reproduced without model calls on 5ea0a54: feed _session_evidence a Cursor session with the correct harness, profile, readonly access, durable custody, complete settlement and transcript. With observed_model equal to cursor-grok-4.6-xhigh-fast there are no mismatches. Changing only observed_model to Cursor Grok 4.6 Extra High Fast produces exactly one model_identity_unverified mismatch; finalize_contributor_outcome then returns exit 3. The display-label shape was separately observed in an actual local run, so the fixture is not an invented vendor format.
The gap needs an authoritative way to establish canonical model identity across the adapter/helper boundary. It must not be repaired by accepting arbitrary whitespace labels or by treating requested model/options as observed facts. Fail-closed behavior is appropriate when identity cannot be established; the usability defect is that a supported Cursor reviewer route currently has no successful model-identity proof path for this normal receipt shape. Keep raw labels, findings and transcripts intact. This is separate from #618's shared-project settlement issue and from PR #712's final-attempt provenance repair; the latter carries observed_model forward but does not alter this helper comparison.
Source:
|
f"{expected_harness or 'invalid'}->{delegated_route or 'absent'}" |
The optional contributor review helper compares the requested Cursor model slug with usage.resolved_model as though both were canonical IDs. Cursor's native telemetry can instead report a display label. A current Claudexor 3.9.8 run requested cursor-grok-4.6-xhigh-fast and reported Cursor Grok 4.6 Extra High Fast. The execution receipt retains those as separate requested/observed facts, but scripts/contributor_review_evidence.py records model_identity_unverified and converts an otherwise passed contributor outcome into execution_receipt_mismatch, exit 3.
Reproduced without model calls on 5ea0a54: feed _session_evidence a Cursor session with the correct harness, profile, readonly access, durable custody, complete settlement and transcript. With observed_model equal to cursor-grok-4.6-xhigh-fast there are no mismatches. Changing only observed_model to Cursor Grok 4.6 Extra High Fast produces exactly one model_identity_unverified mismatch; finalize_contributor_outcome then returns exit 3. The display-label shape was separately observed in an actual local run, so the fixture is not an invented vendor format.
The gap needs an authoritative way to establish canonical model identity across the adapter/helper boundary. It must not be repaired by accepting arbitrary whitespace labels or by treating requested model/options as observed facts. Fail-closed behavior is appropriate when identity cannot be established; the usability defect is that a supported Cursor reviewer route currently has no successful model-identity proof path for this normal receipt shape. Keep raw labels, findings and transcripts intact. This is separate from #618's shared-project settlement issue and from PR #712's final-attempt provenance repair; the latter carries observed_model forward but does not alter this helper comparison.
Source:
ouroboros/scripts/contributor_review_evidence.py
Line 250 in 5ea0a54