test-driver/research/findings/F-0008-temperature-may-be-redundant.md

71 lines
2.6 KiB
Markdown
Raw Normal View History

---
id: F-0008
type: framework-finding
class: UNNECESSARY_COMPLEXITY
status: open
discovered: "2026-08-23"
discovered_by: TD-WP-0002-T10
workplan: TD-WP-0002
task: TD-WP-0002-T10
carried_to: next workplan
---
# F-0008 — Temperature may be redundant; measured stability did the work
## Observation
`Temperature` (`HOT` / `WARM` / `COOL` / `COLD`) is one of the more prominent
ideas in `INTENT.md` and the Concept Model. It is supposed to govern which
verification mode an asset uses, and it is the mechanism by which "tests
crystallize as software cools".
The spike built crystallization end to end. **Temperature was never consulted,
never implemented, and never missed.**
What actually triggered freezing was `assess_stability`: the same realization
path observed across several consecutive runs. Nothing declared the surface cold;
the surface was observed to have stopped moving.
## The argument for removal
The two mechanisms answer the same question, and only one of them can be wrong:
| | Temperature | Measured stability |
|---|---|---|
| source | declared by a human | observed from runs |
| upkeep | must be maintained and kept honest | none |
| failure mode | says `COLD` while the surface churns | none — it is the churn |
| already built | no | yes |
A declared temperature is a claim about the system that nobody verifies. The
project's own first heuristic — *do not let a declaration substitute for
evidence* — argues against keeping it.
## The argument for keeping it
Two cases measured stability cannot cover:
1. **Forward-looking scope.** A team knows a rewrite lands next month.
Temperature can say `HOT` before any run has observed instability, where
measured stability would happily freeze an asset the day before it breaks.
2. **Cheap prioritisation.** Deciding *where to spend effort* across many
capabilities may want a coarse label without running anything.
Neither case arose in the spike, and neither is evidenced.
## Recommendation
Do not delete yet; do not build either. Carry `Temperature` as **explicitly
unvalidated** in the fitness map, and set a gate: if the next workplan completes
without any decision consulting it, remove it from the concept model.
Recorded now because the compression review's purpose is to catch concepts that
survive on the strength of being attractive rather than useful, and Temperature
is currently the clearest instance in the corpus.
## Related
`Confidence`, `Campaign`, `Metabolism` and `Retirement` are in the same position —
declared, unimplemented, never consulted — but Temperature is the one with a
built alternative already doing its job, which makes it the decidable case.