Items
Items have observable properties (what the agent senses) and hidden effects (what happens on interaction). Effect keys must match internal() sensor names in the body.
Items are the objects that exist in the world for agents to encounter and interact with. Each item has two faces: what the agent can sense about it before interacting (observable properties), and what actually happens when the agent consumes it (hidden effects). This separation is what makes discrimination tasks interesting - the agent must learn to read the observable properties to predict the hidden consequences, since the effects are never directly visible to the brain.
// Example: an item representing a harmful object in the world.// Item names, categories, and properties are defined by your experiment -// there are no built-in item types.item ToxicPlant { category: food // any category name (validated by your domain) properties { color: 0.3 // observable values in [0.0, 1.0] smell: 0.7 texture: 0.5 } on_consume { health: -0.3 // effect keys must match body's internal sensors energy: -0.05 // positive = increase, negative = decrease hunger: -0.1 }}category- any name (your domain layer defines what categories mean)propertiesvalues must be in [0.0, 1.0]on_consumekeys must matchinternal()sensor names in the bodyon_consumevalues can be signed:+0.3,-0.1