mirror of
https://github.com/SHOGGOTH-SECTOR/sica-fondt.git
synced 2026-08-01 16:40:24 +00:00
docs/plans A2: tool_min is a per-tool skill threshold, independent of cost
Correct the earlier 'derived from cost' framing. Equal-cost tools can carry different minimums: the better skill demands the higher minimum (Playwright vs manual fetch ~ same cost, but Playwright needs more), so under depletion the refined tool locks out first and the agent falls back to the cruder equal-cost one. Lockout now defined as E < tool_min(tool), no longer a function of cost. https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
This commit is contained in:
parent
46739ac75e
commit
09a16987b2
@ -19,15 +19,18 @@ R · `src/endocrine/driver_energy.R` (+ `test_energy.R`).
|
|||||||
|
|
||||||
## 5. Interface contract
|
## 5. Interface contract
|
||||||
- `init_energy_state(current=100, max=100) -> e`.
|
- `init_energy_state(current=100, max=100) -> e`.
|
||||||
- **Per-tool economy (Anja):** each tool carries **its own energy cost AND its own lockout scale** — an
|
- **Per-tool economy (Anja):** each tool carries **its own energy cost** — an arbitrary per-tool function,
|
||||||
arbitrary function of cost `c`, e.g. one tool `c×2`, another `((c²³)×3)/π`. So:
|
e.g. one tool `c×2`, another `((c²³)×3)/π`. So `tool_cost(e, tool) -> num` and
|
||||||
`tool_cost(e, tool) -> num` and `tool_locked(e, tool) -> bool`, **per tool** — *not* one global
|
`tool_locked(e, tool) -> bool`, **per tool** — *not* one global `tool_lock_threshold`. **Lockout trips at
|
||||||
`tool_lock_threshold`.
|
the tool's `tool_min`** (next bullet), so `tool_locked := E < tool_min(tool)`.
|
||||||
- **Per-tool minimum + locked rendering (Anja; A1-L4).** Each tool has a **minimum to consider it**,
|
- **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
|
`tool_min(tool)` — **per-tool, a skill/capability threshold, NOT a pure function of cost** (Anja). Two
|
||||||
of that tool's `tool_cost`. A valid tool shows its cost; a **locked** tool's name is **replaced in-band**
|
tools of ~equal *cost* can have different minimums: the **better skill demands the higher minimum**
|
||||||
(the agent can't see colour) by `[====L⍉¢K€D ϟ ∅ΩΤ====] 《E≠<minimumfortool>》`, the predicate reading
|
(e.g. Playwright vs a manual site-fetch cost about the same to run, but Playwright needs more minimum
|
||||||
"energy below this tool's `tool_min`". Lockout is a **breaker, not a sentence** (L3).
|
energy). So under depletion the refined tool **locks out first** and the agent falls back to the cruder
|
||||||
|
equal-cost one. 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≠<minimumfortool>》` ("energy below this tool's
|
||||||
|
`tool_min`"). Lockout is a **breaker, not a sentence** (L3).
|
||||||
- `consume(e, amt) -> e'` · `recharge(e, amt) -> e'`.
|
- `consume(e, amt) -> e'` · `recharge(e, amt) -> e'`.
|
||||||
|
|
||||||
## 6. Dependencies & stubs
|
## 6. Dependencies & stubs
|
||||||
@ -52,5 +55,6 @@ 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.
|
`Rscript src/endocrine/test_energy.R` (from repo root) — encodes L1–L3 + per-tool economy; fails on unfitted constants.
|
||||||
|
|
||||||
## 10. Open items
|
## 10. Open items
|
||||||
- The per-tool cost/lockout **functions per tool** (C1). `tool_min` is **not** separate — it's **derived
|
- The per-tool cost/lockout **functions per tool** (C1), **and `tool_min` per tool** — its own
|
||||||
from the tool's cost** (so it falls out of the cost fn, nothing extra to fit). Restoration *rates* (C1).
|
skill/capability threshold (C1), independent of cost (better skill → higher minimum). Restoration
|
||||||
|
*rates* (C1).
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user