We have been repairing and dogfooding the `CRYPTO / PROTOCOL VENTURE COHORT` pipeline, specifically the V0.3.1 cohort and the V0.3.2B token-judge evidence repair.
Hard constraint: **NO NEW IDEAS** for the repair work. Only reprocess the existing six former V0.3.1 survivors.
Implemented strict Sol Token Utility Judge evidence validation.
Required non-empty fields now enforced:
-`argument_for_native_token`
-`argument_against_native_token`
-`external_collateral_counterfactual`
-`native_token_removed_breaks`
-`native_token_removed_explanation`
-`material_improvements_over_USDC_ETH`
-`native_asset_costs_and_risks`
-`final_rationale`
Behavior now:
- Rejects incomplete Sol judge response.
- Retries incomplete judge response up to 3 attempts.
- Raises `ValueError` after exhausted retries.
- Does **not** fall back to deterministic/heuristic classification when Sol produced an incomplete response.
- Normalizes Sol response when `external_collateral_counterfactual` appears nested under `counterfactual_analysis`.
- Uppercases `utility_scores` keys during normalization.
- Persists `final_rationale` in token metadata as well as `TokenUtilityAssessment.rationale`.
-`crypto_score_row()` now reuses persisted `token_utility_assessment` instead of calling the token judge again.
- Final Sol IC prompt was compacted so it returns usable JSON.
Rationale invariants now checked:
- Every `TOKEN_OPTIONAL` rationale must explain why ETH/USDC/external collateral is preferable despite claimed degradation.
- Every `TOKEN_ESSENTIAL` / `TOKEN_STRONGLY_JUSTIFIED` rationale must explain what protocol-specific property cannot be reproduced economically enough with ETH/USDC/external collateral.
- The code does not automatically promote due to material degradation.
## Latest Six-Proposal Results
Before/after classifications from V0.3.2B:
| Company | Before | After | Score | Final IC Decision | Final IC Score | Required Field Gaps |
Important nuance: `Compute Clearance Network` became `TOKEN_STRONGLY_JUSTIFIED`, but final cohort finalists remain `0`. It is not automatically promoted to finalist.
No local Guard training/evaluation was run. The local machine is unsuitable and the user explicitly required Spark-only execution.
Spark connectivity is confirmed (`ssh spark hostname` returned `Inceptal`), but read-only inspection found no `ForgeGuard` directory under `/workspace`, `/home`, or `/opt`. Do not run training until a Spark ForgeGuard checkout path is provided or explicitly synced, then register it with `--spark-working-directory` and verify it.
Dataset curation result:
-`79` imported JSON artifacts
-`49` blocked
-`30` warning-only
-`0` approved training datasets
- Decision: `NO_TRAINING_DATASET_APPROVED`
Important curation facts:
- Summary JSON files are non-training artifacts.
- Candidate/provisional corpora are blocked.
-`full_source_c4_guard_candidate_v12` is explicitly candidate-only and has not been trained.
- The Qwen 3B verified pilot has 88 records and a claimed EVMBench exclusion, but stays `WARNING` pending record-level provenance/schema/coverage and contamination verification.
- No Spark baseline/canary/overnight program is permitted yet.