{
  "runId": "foraging-bug-develop-20261027",
  "executedAt": "2026-10-27T11:45:35.817Z",
  "modelVersion": "1.0.0",
  "sourceSha256": "6423db27c7928430fe1650c5bad6dcefcfca39d05a10b0ef54d4d4346a12a78b",
  "environment": {
    "platform": "linux",
    "architecture": "x64",
    "node": "v22.23.4"
  },
  "parameters": {
    "width": 14,
    "height": 10,
    "obstacles": 14,
    "foods": 6,
    "scentRadius": 6,
    "maxEnergy": 150,
    "initialEnergy": 150,
    "foodEnergy": 40,
    "moveCost": 1,
    "restCost": 0.4,
    "foodRegrowth": 45,
    "relocateAt": 1800,
    "duration": 3600,
    "alpha": 0.2,
    "gamma": 0.95,
    "epsilon": 0.15,
    "scentShaping": 0.1
  },
  "clock": "Accelerated simulation; these are not wall-clock one-hour observations.",
  "seeds": [
    1,
    2,
    3,
    4,
    5
  ],
  "aggregate": {
    "learner": {
      "survivors": 4,
      "meanFood": 183.4,
      "meanSurvivalTicks": 3439.8,
      "meanFoodAfterRelocation": 87.2
    },
    "frozen": {
      "survivors": 0,
      "meanFood": 5.6,
      "meanSurvivalTicks": 389,
      "meanFoodAfterRelocation": 0
    },
    "heuristic": {
      "survivors": 2,
      "meanFood": 183.2,
      "meanSurvivalTicks": 2271.6,
      "meanFoodAfterRelocation": 72.8
    }
  },
  "runs": [
    {
      "seed": 1,
      "conditions": {
        "learner": {
          "seed": 1,
          "policy": "learner",
          "ticks": 3600,
          "alive": true,
          "deathTick": null,
          "energy": 145,
          "foodCount": 236,
          "energyGained": 3168.4000000000046,
          "moves": 2706,
          "rests": 711,
          "collisions": 183,
          "visitedCells": 115,
          "learnedContexts": 79,
          "learningUpdates": 3600,
          "totalReward": -8.600714285714618,
          "firstFoodTick": 11,
          "firstFoodAfterRelocation": 1,
          "foodBeforeRelocation": 134,
          "foodAfterRelocation": 102
        },
        "frozen": {
          "seed": 1,
          "policy": "frozen",
          "ticks": 3600,
          "alive": false,
          "deathTick": 403,
          "energy": 0,
          "foodCount": 6,
          "energyGained": 209.60000000000005,
          "moves": 267,
          "rests": 71,
          "collisions": 65,
          "visitedCells": 89,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -6.82857142857144,
          "firstFoodTick": 24,
          "firstFoodAfterRelocation": null,
          "foodBeforeRelocation": 6,
          "foodAfterRelocation": 0
        },
        "heuristic": {
          "seed": 1,
          "policy": "heuristic",
          "ticks": 3600,
          "alive": true,
          "deathTick": null,
          "energy": 146,
          "foodCount": 345,
          "energyGained": 3596,
          "moves": 3600,
          "rests": 0,
          "collisions": 0,
          "visitedCells": 123,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -2.185714285714164,
          "firstFoodTick": 2,
          "firstFoodAfterRelocation": 1,
          "foodBeforeRelocation": 173,
          "foodAfterRelocation": 172
        }
      }
    },
    {
      "seed": 2,
      "conditions": {
        "learner": {
          "seed": 2,
          "policy": "learner",
          "ticks": 3600,
          "alive": false,
          "deathTick": 2799,
          "energy": 0,
          "foodCount": 131,
          "energyGained": 2247.6000000000035,
          "moves": 1926,
          "rests": 669,
          "collisions": 204,
          "visitedCells": 125,
          "learnedContexts": 115,
          "learningUpdates": 2799,
          "totalReward": -12.027142857143097,
          "firstFoodTick": 5,
          "firstFoodAfterRelocation": 4,
          "foodBeforeRelocation": 71,
          "foodAfterRelocation": 60
        },
        "frozen": {
          "seed": 2,
          "policy": "frozen",
          "ticks": 3600,
          "alive": false,
          "deathTick": 346,
          "energy": 0,
          "foodCount": 4,
          "energyGained": 160,
          "moves": 249,
          "rests": 59,
          "collisions": 38,
          "visitedCells": 75,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -5.947142857142864,
          "firstFoodTick": 77,
          "firstFoodAfterRelocation": null,
          "foodBeforeRelocation": 4,
          "foodAfterRelocation": 0
        },
        "heuristic": {
          "seed": 2,
          "policy": "heuristic",
          "ticks": 3600,
          "alive": false,
          "deathTick": 588,
          "energy": 0,
          "foodCount": 38,
          "energyGained": 438,
          "moves": 588,
          "rests": 0,
          "collisions": 0,
          "visitedCells": 88,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -5.149999999999995,
          "firstFoodTick": 2,
          "firstFoodAfterRelocation": null,
          "foodBeforeRelocation": 38,
          "foodAfterRelocation": 0
        }
      }
    },
    {
      "seed": 3,
      "conditions": {
        "learner": {
          "seed": 3,
          "policy": "learner",
          "ticks": 3600,
          "alive": true,
          "deathTick": null,
          "energy": 144.99999999999997,
          "foodCount": 141,
          "energyGained": 3040.000000000006,
          "moves": 2400,
          "rests": 925,
          "collisions": 275,
          "visitedCells": 113,
          "learnedContexts": 76,
          "learningUpdates": 3600,
          "totalReward": -11.617857142857448,
          "firstFoodTick": 16,
          "firstFoodAfterRelocation": 6,
          "foodBeforeRelocation": 56,
          "foodAfterRelocation": 85
        },
        "frozen": {
          "seed": 3,
          "policy": "frozen",
          "ticks": 3600,
          "alive": false,
          "deathTick": 462,
          "energy": 0,
          "foodCount": 7,
          "energyGained": 260.2000000000003,
          "moves": 277,
          "rests": 85,
          "collisions": 100,
          "visitedCells": 69,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -7.935714285714315,
          "firstFoodTick": 55,
          "firstFoodAfterRelocation": null,
          "foodBeforeRelocation": 7,
          "foodAfterRelocation": 0
        },
        "heuristic": {
          "seed": 3,
          "policy": "heuristic",
          "ticks": 3600,
          "alive": false,
          "deathTick": 877,
          "energy": 0,
          "foodCount": 20,
          "energyGained": 727,
          "moves": 877,
          "rests": 0,
          "collisions": 0,
          "visitedCells": 10,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -5.19285714285711,
          "firstFoodTick": 2,
          "firstFoodAfterRelocation": null,
          "foodBeforeRelocation": 20,
          "foodAfterRelocation": 0
        }
      }
    },
    {
      "seed": 4,
      "conditions": {
        "learner": {
          "seed": 4,
          "policy": "learner",
          "ticks": 3600,
          "alive": true,
          "deathTick": null,
          "energy": 138.39999999999995,
          "foodCount": 217,
          "energyGained": 3171.400000000006,
          "moves": 2716,
          "rests": 695,
          "collisions": 189,
          "visitedCells": 123,
          "learnedContexts": 76,
          "learningUpdates": 3600,
          "totalReward": -7.374285714286007,
          "firstFoodTick": 29,
          "firstFoodAfterRelocation": 3,
          "foodBeforeRelocation": 108,
          "foodAfterRelocation": 109
        },
        "frozen": {
          "seed": 4,
          "policy": "frozen",
          "ticks": 3600,
          "alive": false,
          "deathTick": 306,
          "energy": 0,
          "foodCount": 5,
          "energyGained": 115.8000000000001,
          "moves": 191,
          "rests": 66,
          "collisions": 49,
          "visitedCells": 47,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -6.262857142857149,
          "firstFoodTick": 2,
          "firstFoodAfterRelocation": null,
          "foodBeforeRelocation": 5,
          "foodAfterRelocation": 0
        },
        "heuristic": {
          "seed": 4,
          "policy": "heuristic",
          "ticks": 3600,
          "alive": true,
          "deathTick": null,
          "energy": 141,
          "foodCount": 304,
          "energyGained": 3591,
          "moves": 3600,
          "rests": 0,
          "collisions": 0,
          "visitedCells": 120,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -1.5392857142856182,
          "firstFoodTick": 1,
          "firstFoodAfterRelocation": 0,
          "foodBeforeRelocation": 173,
          "foodAfterRelocation": 131
        }
      }
    },
    {
      "seed": 5,
      "conditions": {
        "learner": {
          "seed": 5,
          "policy": "learner",
          "ticks": 3600,
          "alive": true,
          "deathTick": null,
          "energy": 118.39999999999998,
          "foodCount": 192,
          "energyGained": 3161.6000000000054,
          "moves": 2742,
          "rests": 678,
          "collisions": 180,
          "visitedCells": 120,
          "learnedContexts": 72,
          "learningUpdates": 3600,
          "totalReward": -7.704285714286026,
          "firstFoodTick": 14,
          "firstFoodAfterRelocation": 23,
          "foodBeforeRelocation": 112,
          "foodAfterRelocation": 80
        },
        "frozen": {
          "seed": 5,
          "policy": "frozen",
          "ticks": 3600,
          "alive": false,
          "deathTick": 428,
          "energy": 0,
          "foodCount": 6,
          "energyGained": 228.80000000000004,
          "moves": 284,
          "rests": 82,
          "collisions": 62,
          "visitedCells": 87,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -6.724285714285735,
          "firstFoodTick": 33,
          "firstFoodAfterRelocation": null,
          "foodBeforeRelocation": 6,
          "foodAfterRelocation": 0
        },
        "heuristic": {
          "seed": 5,
          "policy": "heuristic",
          "ticks": 3600,
          "alive": false,
          "deathTick": 2693,
          "energy": 0,
          "foodCount": 209,
          "energyGained": 2543,
          "moves": 2693,
          "rests": 0,
          "collisions": 0,
          "visitedCells": 117,
          "learnedContexts": 0,
          "learningUpdates": 0,
          "totalReward": -5.849999999999948,
          "firstFoodTick": 2,
          "firstFoodAfterRelocation": 1,
          "foodBeforeRelocation": 148,
          "foodAfterRelocation": 61
        }
      }
    }
  ],
  "nonAdvantageSeeds": [],
  "starvedLearnerSeeds": [
    2
  ],
  "limits": [
    "Same initial terrain and preselected food layouts; sensory inputs diverge with actions and food consumption.",
    "Engineered local scent shaping; energy and reward constants are design choices.",
    "Heuristic is a hand-coded scent follower; it is a separate reference, not a learned brain."
  ]
}
