diff --git a/INTENT.md b/INTENT.md index 0567f38..904b763 100755 --- a/INTENT.md +++ b/INTENT.md @@ -360,49 +360,27 @@ These are logical boundaries first. They do not require separate services or pac ## Initial Milestones -### M0 — Deterministic Semantic Scenario Runner +> **Superseded.** This section previously carried its own `M0`–`M3` sequence, +> which conflicted with two other sequences in the repository. The canonical +> milestone sequence is now **`docs/TestDriverInitialMilestones.md` (M0–M10)**. +> Recorded as framework finding `F-0001` (CONCEPT_DRIFT), 2026-08-22. -Implement the conceptual kernel without agentic involvement: +The former M0–M3 map onto the canonical sequence as follows: -- UseCase, -- Actor, -- World, -- Scenario, -- SemanticAction, -- Driver, -- Observation, -- Evidence, -- Oracle, -- Verdict. +| Superseded (INTENT.md) | Canonical (`TestDriverInitialMilestones.md`) | +|---|---| +| M0 Deterministic Semantic Scenario Runner | M1 Deterministic Semantic Kernel | +| M1 Agentic Driver | M4 Agentic Realization | +| M2 Adaptation and Crystallization | M5 Mechanical Adaptation, M6 Defect vs Adaptation, M7 Crystallization | +| M3 Living Verification | M9 Verification Energy | -Run the Alice/Bob/Carol reference scenario deterministically. +The canonical sequence additionally introduces M0 (Research Control Plane), +M2 (Test-Driver Lab), M3 (Self-Verification), M8 (Improvement Loop) and +M10 (Compression Review), which had no counterpart here. -### M1 — Agentic Driver - -Allow an actor agent to realize a semantic action or scenario goal through one interaction surface while maintaining strict actor isolation and evidence capture. - -### M2 — Adaptation and Crystallization - -Add: - -- adaptation classification, -- learned successful paths, -- hardening, -- deterministic test candidate generation, -- lineage from exploratory discovery to regression test. - -### M3 — Living Verification - -Add: - -- energy, -- temperature, -- confidence, -- retirement, -- security mutation campaigns, -- adaptive campaign selection. - ---- +Execution order is *not* the canonical order — see +`workplans/TD-WP-0002-vertical-spike-crystallization.md`, which drives one thin +thread through M1–M7 rather than completing each milestone in turn. ## Non-Goals for the Initial Project diff --git a/docs/TestDriverConceptModel.md b/docs/TestDriverConceptModel.md index c562c45..0be21f9 100755 --- a/docs/TestDriverConceptModel.md +++ b/docs/TestDriverConceptModel.md @@ -910,46 +910,21 @@ The conceptual components may initially share a process or codebase. Their separ # 15. Initial Development Sequence -## M0 — Deterministic semantic scenario runner +> **Superseded.** This section previously carried its own `M0`–`M3` sequence, +> which conflicted with the sequences in `INTENT.md` and +> `TestDriverInitialMilestones.md`. The canonical milestone sequence is +> **`TestDriverInitialMilestones.md` (M0–M10)**. Recorded as framework finding +> `F-0001` (CONCEPT_DRIFT), 2026-08-22. -Implement: +The former M0–M3 corresponded to canonical M1, M4, M5–M7 and M9 respectively. +See the mapping table in `INTENT.md` § Initial Milestones. -- use cases, -- actors, -- worlds, -- semantic actions, -- observations, -- oracles, -- verdicts. - -Execute the reference multi-user scenario without AI. - -## M1 — Agentic driver - -Allow an actor agent to realize a semantic action or use-case subgoal through a browser or API surface while preserving actor isolation and evidence capture. - -## M2 — Adaptation and crystallization - -Implement: - -- adaptation classification, -- successful-path persistence, -- hardening, -- generation of deterministic test candidates. - -## M3 — Living verification - -Introduce: - -- energy, -- temperature, -- lineage, -- retirement, -- mutation campaigns, -- adaptive test selection. +Execution order is *not* the canonical order — see +`workplans/TD-WP-0002-vertical-spike-crystallization.md`. --- + # 16. Canonical Concept Set v0.1 The initial test-driver vocabulary is: diff --git a/docs/TestDriverInitialMilestones.md b/docs/TestDriverInitialMilestones.md index 30a43ed..caf7d0b 100755 --- a/docs/TestDriverInitialMilestones.md +++ b/docs/TestDriverInitialMilestones.md @@ -1,8 +1,18 @@ # TestDriver Research Prototype — Initial Milestones -**Status:** v0.1 +**Status:** v0.1 — **canonical milestone sequence** **Purpose:** Establish the minimum evidence-producing development loop needed to validate the core test-driver concepts. +> This document is the single canonical source for milestone identifiers `M0`–`M10`. +> The competing sequences formerly in `INTENT.md` and `TestDriverConceptModel.md` § 15 +> are superseded — see framework finding +> `research/findings/F-0001-milestone-sequence-drift.md`. +> +> **Canonical order is not execution order.** The milestones define *what must be +> true*; `workplans/TD-WP-0002-vertical-spike-crystallization.md` defines *the order +> in which we get there*, driving one thin thread through M1–M7 rather than +> completing each milestone in turn. + --- ## Milestone 0 — Research Control Plane diff --git a/research/findings/F-0001-milestone-sequence-drift.md b/research/findings/F-0001-milestone-sequence-drift.md new file mode 100644 index 0000000..fe8b8b0 --- /dev/null +++ b/research/findings/F-0001-milestone-sequence-drift.md @@ -0,0 +1,77 @@ +--- +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. diff --git a/research/findings/README.md b/research/findings/README.md new file mode 100644 index 0000000..51323c2 --- /dev/null +++ b/research/findings/README.md @@ -0,0 +1,19 @@ +# Framework Findings + +Findings about **test-driver itself**, kept strictly separate from findings about +any system under test. Classes are defined in +`docs/TestDriverImprovementLoop.md` § 9: + +`PRODUCT_DEFECT` · `TEST_DEFECT` · `MECHANICAL_ADAPTATION` · `SEMANTIC_CHANGE` · +`CONCEPT_DRIFT` · `FRAMEWORK_LIMITATION` · `EVIDENCE_FAILURE` · +`UNNECESSARY_COMPLEXITY` + +File naming: `F-NNNN-.md`. Identifiers are stable and never reused. + +Each finding carries frontmatter (`id`, `class`, `status`, dates, originating +workplan/task) and, when resolved, states which of the three §5 resolution paths +was taken. A finding that leaves an open question records it under "Residual" and +names the task that will answer it — residuals are not parked in prose. + +The wider research control plane (`hypotheses/`, `experiments/`, `concepts/`, +`decisions/`) is built in `TD-WP-0002-T03`. diff --git a/workplans/TD-WP-0002-vertical-spike-crystallization.md b/workplans/TD-WP-0002-vertical-spike-crystallization.md index 720905e..c7c4363 100644 --- a/workplans/TD-WP-0002-vertical-spike-crystallization.md +++ b/workplans/TD-WP-0002-vertical-spike-crystallization.md @@ -4,7 +4,7 @@ type: workplan title: "Vertical spike: falsify the crystallization thesis" domain: infotech repo: test-driver -status: proposed +status: active owner: codex topic_slug: custodian created: "2026-08-22" @@ -76,7 +76,7 @@ satisfying to build, and impossible to validate at this stage: ```task id: TD-WP-0002-T01 -status: todo +status: done priority: high state_hub_task_id: "b1755e17-279a-56cf-86eb-359e9739070a" ``` @@ -91,6 +91,12 @@ Pick one canonical sequence, mark the others superseded in place, and commit first entry in the framework findings log — the project should catch this on itself before it catches anything else. +**Done 2026-08-22.** `docs/TestDriverInitialMilestones.md` (M0–M10) is canonical; +the `INTENT.md` and Concept Model § 15 sequences carry superseded banners with a +mapping table. Recorded as `research/findings/F-0001-milestone-sequence-drift.md`. +`INTENT.md` and `docs/` are now tracked. One residual carried to T10: the finding +taxonomy has no class for document-to-document drift. + ## Decide intent provenance and the classification mechanism on paper ```task