78 lines
3.1 KiB
Markdown
78 lines
3.1 KiB
Markdown
|
|
---
|
|||
|
|
id: F-0001
|
|||
|
|
type: framework-finding
|
|||
|
|
class: CONCEPT_DRIFT
|
|||
|
|
status: resolved
|
|||
|
|
discovered: "2026-08-22"
|
|||
|
|
resolved: "2026-08-22"
|
|||
|
|
discovered_by: concept-assessment
|
|||
|
|
source: history/2026-08-22-concept-assessment-swot.md
|
|||
|
|
workplan: TD-WP-0002
|
|||
|
|
task: TD-WP-0002-T01
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# F-0001 — Three conflicting milestone sequences
|
|||
|
|
|
|||
|
|
## Class
|
|||
|
|
|
|||
|
|
`CONCEPT_DRIFT` — the repository carried three mutually inconsistent statements
|
|||
|
|
of the same concept, with no explicit decision revising any of them.
|
|||
|
|
|
|||
|
|
Note the unusual shape: §5 of the Improvement Loop defines concept drift as
|
|||
|
|
*implementation* diverging from concept. Here there was no implementation at all.
|
|||
|
|
The drift was **document-to-document**, which the taxonomy does not currently
|
|||
|
|
name. See "Residual" below.
|
|||
|
|
|
|||
|
|
## Observation
|
|||
|
|
|
|||
|
|
Three documents each defined a milestone sequence for the same project:
|
|||
|
|
|
|||
|
|
| Document | Sequence |
|
|||
|
|
|---|---|
|
|||
|
|
| `INTENT.md` § Initial Milestones | M0–M3 |
|
|||
|
|
| `docs/TestDriverConceptModel.md` § 15 | M0–M3 (different content) |
|
|||
|
|
| `docs/TestDriverInitialMilestones.md` | M0–M10 |
|
|||
|
|
|
|||
|
|
The two M0–M3 sequences disagreed with each other and both disagreed with the
|
|||
|
|
M0–M10 sequence. `M2`, for instance, denoted "Adaptation and Crystallization" in
|
|||
|
|
one document and "Test-Driver Lab" in another — so an unqualified reference to
|
|||
|
|
"M2" was ambiguous across the corpus.
|
|||
|
|
|
|||
|
|
## Why it matters
|
|||
|
|
|
|||
|
|
The project's own thesis is that implementations must not silently redefine
|
|||
|
|
intended behaviour, and that concept drift is a first-class finding. The corpus
|
|||
|
|
exhibited the failure it was written to prevent, before a single line of code
|
|||
|
|
existed. Left unresolved, every subsequent milestone reference in commits,
|
|||
|
|
workplans and evidence would have been ambiguous.
|
|||
|
|
|
|||
|
|
## Resolution
|
|||
|
|
|
|||
|
|
Path 2 of §5 — *the concept is deliberately revised*.
|
|||
|
|
|
|||
|
|
`docs/TestDriverInitialMilestones.md` (M0–M10) is now **canonical**. It is the
|
|||
|
|
most complete of the three, is the only one carrying exit criteria and success
|
|||
|
|
metrics, and is the only one that names the lab, self-verification, the
|
|||
|
|
improvement loop and the compression review.
|
|||
|
|
|
|||
|
|
The other two sections were replaced in place with a superseded banner and a
|
|||
|
|
mapping table rather than deleted, so that references from earlier commits and
|
|||
|
|
from `history/` remain interpretable.
|
|||
|
|
|
|||
|
|
Execution order is deliberately *not* the canonical order:
|
|||
|
|
`workplans/TD-WP-0002-vertical-spike-crystallization.md` drives one thin thread
|
|||
|
|
through canonical M1–M7 rather than completing each milestone in turn. Canonical
|
|||
|
|
sequence and execution sequence are now distinct and separately stated.
|
|||
|
|
|
|||
|
|
## Residual
|
|||
|
|
|
|||
|
|
The finding taxonomy (§9) has no class for divergence **between concept
|
|||
|
|
documents** — `CONCEPT_DRIFT` is defined as implementation-vs-concept. This
|
|||
|
|
finding was classified `CONCEPT_DRIFT` as the nearest fit.
|
|||
|
|
|
|||
|
|
Carry into `TD-WP-0002-T10` (compression review): either widen `CONCEPT_DRIFT`
|
|||
|
|
to cover intra-conceptual inconsistency, or accept that pre-implementation
|
|||
|
|
document drift is not a framework finding at all and should be handled as
|
|||
|
|
ordinary editorial hygiene. Do not add a new finding class before that question
|
|||
|
|
is answered — the taxonomy is already larger than the evidence supporting it.
|