From 46739ac75e3239f9d8cc6ef06af240fa655fdd3b Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 17 Jun 2026 04:02:38 +0000 Subject: [PATCH] docs/plans A2: tool_min is derived from the tool's actual cost, not independent A tool's minimum-to-consider falls out of its cost function (tool_min as a function of tool_cost), so it is not a separate constant to fit. https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c --- docs/plans/A2-energy.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/plans/A2-energy.md b/docs/plans/A2-energy.md index c97a598..639723f 100644 --- a/docs/plans/A2-energy.md +++ b/docs/plans/A2-energy.md @@ -23,8 +23,9 @@ R · `src/endocrine/driver_energy.R` (+ `test_energy.R`). arbitrary function of cost `c`, e.g. one tool `c×2`, another `((c²³)×3)/π`. So: `tool_cost(e, tool) -> num` and `tool_locked(e, tool) -> bool`, **per tool** — *not* one global `tool_lock_threshold`. -- **Per-tool minimum + locked rendering (Anja; A1-L4).** Each tool also has a **minimum energy** to run; - `tool_min(tool) -> num`. A valid tool shows its cost; a **locked** tool's name is **replaced in-band** +- **Per-tool minimum + locked rendering (Anja; A1-L4).** Each tool has a **minimum to consider it**, + **derived from its actual cost** (Anja) — *not* an independent parameter: `tool_min(tool)` is a function + of that tool's `tool_cost`. A valid tool shows its cost; a **locked** tool's name is **replaced in-band** (the agent can't see colour) by `[====L⍉¢K€D ϟ ∅ΩΤ====] 《E≠》`, the predicate reading "energy below this tool's `tool_min`". Lockout is a **breaker, not a sentence** (L3). - `consume(e, amt) -> e'` · `recharge(e, amt) -> e'`. @@ -51,5 +52,5 @@ Restoration hooks tie to ETR-Z migration (A8) + tarot reshuffle (B3) — *stub:* `Rscript src/endocrine/test_energy.R` (from repo root) — encodes L1–L3 + per-tool economy; fails on unfitted constants. ## 10. Open items -- The per-tool cost/lockout **functions per tool** (C1), incl. each tool's **minimum** (`tool_min`, C1). - Restoration *rates* (C1). +- The per-tool cost/lockout **functions per tool** (C1). `tool_min` is **not** separate — it's **derived + from the tool's cost** (so it falls out of the cost fn, nothing extra to fit). Restoration *rates* (C1).