{
  "runs": [
    {
      "at": "2026-04-18T18:48:37.125Z",
      "proposed_total": 3,
      "auto_applied_count": 0,
      "queued_count": 3,
      "vetoed_count": 0,
      "auto_applied": [],
      "queued_preview": [
        {
          "type": "architecture",
          "parameter": "hypothesis",
          "current_value": null,
          "proposed_value": "Relaxing cluster_strong_min_wallets from 3 to 2 will unlock actionable tiered signals without meaningfully raising false positives, given current watchlist starvation",
          "reasoning": "With watchlist_size=1, a 3-wallet cluster is mathematically impossible; 2-wallet concurrence within 1h is still meaningful co-conviction and will produce the first tiered signals to measure",
          "expected_impact": "Run 48h with cluster_strong_min_wallets=2; count strong-tier signals generated and track any downstream trades_followed_signals_wr",
          "kill_condition": "If strong-tier signals still = 0 after 48h, or if >5 strong signals fire and followed-trade WR <40%",
          "evidence": {
            "hypothesis": {
              "id": "ANALYST-H1",
              "description": "Relaxing cluster_strong_min_wallets from 3 to 2 will unlock actionable tiered signals without meaningfully raising false positives, given current watchlist starvation",
              "mechanism": "With watchlist_size=1, a 3-wallet cluster is mathematically impossible; 2-wallet concurrence within 1h is still meaningful co-conviction and will produce the first tiered signals to measure",
              "test": "Run 48h with cluster_strong_min_wallets=2; count strong-tier signals generated and track any downstream trades_followed_signals_wr",
              "expected_wr": "n/a baseline — target >0 strong signals and >=50% WR on any followed trades",
              "kill_condition": "If strong-tier signals still = 0 after 48h, or if >5 strong signals fire and followed-trade WR <40%"
            }
          },
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "type_architecture"
          }
        },
        {
          "type": "architecture",
          "parameter": "hypothesis",
          "current_value": null,
          "proposed_value": "Watchlist starvation, not signal quality, is the primary bottleneck — expanding candidate intake (top_volume_tokens_per_cycle, candidate_max) will grow watchlist size and enable cluster formation",
          "reasoning": "Clustering requires multiple independent wallets converging; with only 1 tracked wallet the cluster layer is structurally dead. Broader candidate pool → more wallet discovery → more co-conviction events",
          "expected_impact": "Increase top_volume_tokens_per_cycle 15→25 and candidate_token_age_max_days 7→14 for 48h; measure watchlist_size growth and cluster_signals_generated",
          "kill_condition": "Watchlist_size remains <=2 after 48h despite expanded intake, OR watchlist grows but all new wallets remain UNPROVEN",
          "evidence": {
            "hypothesis": {
              "id": "ANALYST-H2",
              "description": "Watchlist starvation, not signal quality, is the primary bottleneck — expanding candidate intake (top_volume_tokens_per_cycle, candidate_max) will grow watchlist size and enable cluster formation",
              "mechanism": "Clustering requires multiple independent wallets converging; with only 1 tracked wallet the cluster layer is structurally dead. Broader candidate pool → more wallet discovery → more co-conviction events",
              "test": "Increase top_volume_tokens_per_cycle 15→25 and candidate_token_age_max_days 7→14 for 48h; measure watchlist_size growth and cluster_signals_generated",
              "expected_wr": "Watchlist growth to >=5 wallets; cluster_tiers.strong >0",
              "kill_condition": "Watchlist_size remains <=2 after 48h despite expanded intake, OR watchlist grows but all new wallets remain UNPROVEN"
            }
          },
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "type_architecture"
          }
        },
        {
          "type": "architecture",
          "parameter": "hypothesis",
          "current_value": null,
          "proposed_value": "The execution layer is silently filtering out UNPROVEN-wallet signals, explaining trades_followed_signals=0 despite 36 signals",
          "reasoning": "Followers may require PROMISING/PROVEN classification to act; since 100% of watchlist is UNPROVEN, no signal ever passes the execution gate regardless of cluster tier",
          "expected_impact": "Log and inspect the execution-side signal filter over next 48h; confirm whether UNPROVEN signals are being dropped pre-trade. Alternatively, temporarily allow UNPROVEN signals through with small size",
          "kill_condition": "UNPROVEN-sourced followed trades produce WR <35% over >=10 trades, confirming the filter was correct",
          "evidence": {
            "hypothesis": {
              "id": "ANALYST-H3",
              "description": "The execution layer is silently filtering out UNPROVEN-wallet signals, explaining trades_followed_signals=0 despite 36 signals",
              "mechanism": "Followers may require PROMISING/PROVEN classification to act; since 100% of watchlist is UNPROVEN, no signal ever passes the execution gate regardless of cluster tier",
              "test": "Log and inspect the execution-side signal filter over next 48h; confirm whether UNPROVEN signals are being dropped pre-trade. Alternatively, temporarily allow UNPROVEN signals through with small size",
              "expected_wr": "Any non-null trades_followed_signals_wr is informational; target >=45% to justify keeping UNPROVEN in execution path",
              "kill_condition": "UNPROVEN-sourced followed trades produce WR <35% over >=10 trades, confirming the filter was correct"
            }
          },
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "type_architecture"
          }
        }
      ],
      "vetoed": []
    },
    {
      "at": "2026-04-18T19:41:07.750Z",
      "type": "back_process",
      "auto_applied_count": 1,
      "still_queued_count": 2,
      "auto_applied": [
        {
          "at": "2026-04-18T19:41:07.748Z",
          "parameter": "top_volume_tokens_per_cycle",
          "before": 15,
          "after": 15,
          "reasoning": "Watchlist starvation, not signal quality, is the primary bottleneck — expanding candidate intake (top_volume_tokens_per_cycle, candidate_max) will grow watchlist size and enable cluster formation",
          "reversion_path": "PUT /api/config {\"top_volume_tokens_per_cycle\": 15}",
          "actor": "autonomy:back_process",
          "source": "retroactive_v1"
        }
      ],
      "normalized_items": 3
    },
    {
      "at": "2026-04-18T19:42:55.628Z",
      "proposed_total": 3,
      "auto_applied_count": 0,
      "queued_count": 3,
      "vetoed_count": 0,
      "auto_applied": [],
      "queued_preview": [
        {
          "type": "architecture",
          "parameter": "unparsed_hypothesis",
          "current_value": null,
          "proposed_value": "Widening the cluster_strong_window_h from 1h to 3-4h will unlock STRONG tier signals given sparse watchlist co-activity.",
          "reasoning": "With only 4 wallets, the probability of 2+ buying the same token within 60min is low; extending window captures genuine convergence on slower-moving setups.",
          "kill_condition": "If >15 STRONG signals fire in 48h with post-signal 2h WR <35%, window is too loose — revert.",
          "evidence": {
            "normalized_from": "fallback_architecture",
            "raw": {
              "id": "ANALYST-H1",
              "description": "Widening the cluster_strong_window_h from 1h to 3-4h will unlock STRONG tier signals given sparse watchlist co-activity.",
              "mechanism": "With only 4 wallets, the probability of 2+ buying the same token within 60min is low; extending window captures genuine convergence on slower-moving setups.",
              "test": "Set cluster_strong_window_h=3 for 48h; count STRONG signals emitted and track subsequent 2h price movement on signaled tokens.",
              "expected_wr": "45-55% on emitted STRONG signals",
              "kill_condition": "If >15 STRONG signals fire in 48h with post-signal 2h WR <35%, window is too loose — revert."
            }
          },
          "_normalized": false,
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "type_architecture"
          }
        },
        {
          "type": "threshold",
          "parameter": "calibration_min_signals",
          "current_value": 10,
          "proposed_value": 5,
          "reasoning": "Lowering calibration_min_signals from 10 to 5 will break the cold-start deadlock and allow UNPROVEN→PROMISING promotion.",
          "expected_impact": "Set calibration_min_signals=5; monitor watchlist_by_classification over 48h for non-zero PROMISING count.",
          "kill_condition": "If promoted PROMISING wallets show WR<40% across next 10 signals, 5 is too low — revert to 8.",
          "evidence": {
            "normalized_from": "legacy_hypothesis_pattern_1",
            "raw": {
              "id": "ANALYST-H2",
              "description": "Lowering calibration_min_signals from 10 to 5 will break the cold-start deadlock and allow UNPROVEN→PROMISING promotion.",
              "mechanism": "At 36 signals / 4 wallets, no wallet crosses 10-signal calibration gate; reducing to 5 lets the system begin differentiating wallet quality sooner.",
              "test": "Set calibration_min_signals=5; monitor watchlist_by_classification over 48h for non-zero PROMISING count.",
              "expected_wr": "N/A (structural) — expect 1-2 wallets to leave UNPROVEN",
              "kill_condition": "If promoted PROMISING wallets show WR<40% across next 10 signals, 5 is too low — revert to 8."
            }
          },
          "_normalized": true,
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "threshold_delta_50pct"
          }
        },
        {
          "type": "architecture",
          "parameter": "unparsed_hypothesis",
          "current_value": null,
          "proposed_value": "Signal-following executor is gated on tier (STRONG/CRITICAL only), causing 0 trades; enabling trades on aggregated weak signals from ≥2 UNPROVEN wallets would produce a measurable baseline.",
          "reasoning": "No trades means no feedback loop for calibration; paper-trading weak-tier clusters generates the PnL data needed to tune everything else.",
          "kill_condition": "If baseline WR <25% across >20 trades, UNPROVEN signal quality is net-negative and we must wait for PROMISING tier before any execution.",
          "evidence": {
            "normalized_from": "fallback_architecture",
            "raw": {
              "id": "ANALYST-H3",
              "description": "Signal-following executor is gated on tier (STRONG/CRITICAL only), causing 0 trades; enabling trades on aggregated weak signals from ≥2 UNPROVEN wallets would produce a measurable baseline.",
              "mechanism": "No trades means no feedback loop for calibration; paper-trading weak-tier clusters generates the PnL data needed to tune everything else.",
              "test": "Temporarily raise cluster_strong_min_wallets requirement match by allowing executor to paper-trade any multi-wallet cluster; measure WR over 48h as baseline.",
              "expected_wr": "30-45% (baseline noise floor)",
              "kill_condition": "If baseline WR <25% across >20 trades, UNPROVEN signal quality is net-negative and we must wait for PROMISING tier before any execution."
            }
          },
          "_normalized": false,
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "type_architecture"
          }
        }
      ],
      "vetoed": []
    },
    {
      "at": "2026-04-18T20:29:40.791Z",
      "proposed_total": 3,
      "auto_applied_count": 0,
      "queued_count": 3,
      "vetoed_count": 0,
      "auto_applied": [],
      "queued_preview": [
        {
          "type": "threshold",
          "parameter": "top_volume_tokens_per_cycle",
          "current_value": 15,
          "proposed_value": 30,
          "reasoning": "Widening top_volume_tokens_per_cycle from 15 to 30 will surface more candidate wallets and unblock the PROMISING tier.",
          "expected_impact": "Run 48h with expanded scan; measure count of wallets entering PROMISING tier and watchlist composition shift.",
          "kill_condition": "If PROMISING count still 0 after 48h, discovery isn't the bottleneck — revisit promising.min_pnl_pct or data source.",
          "evidence": {
            "normalized_from": "legacy_hypothesis_pattern_1",
            "raw": {
              "id": "ANALYST-H1",
              "description": "Widening top_volume_tokens_per_cycle from 15 to 30 will surface more candidate wallets and unblock the PROMISING tier.",
              "mechanism": "Candidate discovery is the upstream bottleneck; more tokens scanned per cycle = more unique early buyers evaluated, more wallets crossing the 8-trade promising threshold.",
              "test": "Run 48h with expanded scan; measure count of wallets entering PROMISING tier and watchlist composition shift.",
              "expected_wr": "n/a (funnel metric); target ≥3 PROMISING wallets in 48h",
              "kill_condition": "If PROMISING count still 0 after 48h, discovery isn't the bottleneck — revisit promising.min_pnl_pct or data source."
            }
          },
          "_normalized": true,
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "threshold_delta_100pct"
          }
        },
        {
          "type": "threshold",
          "parameter": "cluster_critical_min_wallets",
          "current_value": 10,
          "proposed_value": 4,
          "reasoning": "Lowering cluster_critical_min_wallets from 10 to 4 (matching watchlist_size) will produce actionable critical signals that correlate with higher WR than strong signals.",
          "expected_impact": "48h paper trade all critical signals emitted post-change; compare WR vs strong signals.",
          "kill_condition": "Critical signals emit >15/48h with WR<45% ⇒ threshold too loose, revert to 6.",
          "evidence": {
            "normalized_from": "legacy_hypothesis_pattern_1",
            "raw": {
              "id": "ANALYST-H2",
              "description": "Lowering cluster_critical_min_wallets from 10 to 4 (matching watchlist_size) will produce actionable critical signals that correlate with higher WR than strong signals.",
              "mechanism": "At current watchlist_size=4, critical is unreachable. A dynamic floor (≤watchlist_size) restores the tier's discriminative power.",
              "test": "48h paper trade all critical signals emitted post-change; compare WR vs strong signals.",
              "expected_wr": "55-65% if cluster convergence carries signal",
              "kill_condition": "Critical signals emit >15/48h with WR<45% ⇒ threshold too loose, revert to 6."
            }
          },
          "_normalized": true,
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "threshold_delta_60pct"
          }
        },
        {
          "type": "architecture",
          "parameter": "unparsed_hypothesis",
          "current_value": null,
          "proposed_value": "The execution layer is not auto-following signals; adding a follow rule for strong+ signals will generate the WR feedback needed to calibrate the 37-signals/week pipeline.",
          "reasoning": "trades_followed_signals=0 means calibration_retire_wr and calibration_priority_wr never fire — the whole learning system is dark. Even small paper allocations close the loop.",
          "kill_condition": "WR<35% across ≥10 paper trades ⇒ UNPROVEN signals have no edge; require PROMISING+ filter before execution.",
          "evidence": {
            "normalized_from": "fallback_architecture",
            "raw": {
              "id": "ANALYST-H3",
              "description": "The execution layer is not auto-following signals; adding a follow rule for strong+ signals will generate the WR feedback needed to calibrate the 37-signals/week pipeline.",
              "mechanism": "trades_followed_signals=0 means calibration_retire_wr and calibration_priority_wr never fire — the whole learning system is dark. Even small paper allocations close the loop.",
              "test": "Paper-trade every strong/critical signal at fixed size for 48h; log WR and hold duration.",
              "expected_wr": "baseline 40-50% given UNPROVEN-only watchlist",
              "kill_condition": "WR<35% across ≥10 paper trades ⇒ UNPROVEN signals have no edge; require PROMISING+ filter before execution."
            }
          },
          "_normalized": false,
          "_classification": {
            "mag": "SIGNIFICANT",
            "reason": "type_architecture"
          }
        }
      ],
      "vetoed": []
    }
  ]
}