You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Phase 3 — the typed adaptive loop. This is the goal line: the phase where "adaptive context is real". Ships behind context.lifecycle.enabled (default off).
Observable: Stella proposes durable context from evidence and explains why — "three separate tasks, here they are" — and Keep/Edit/Ignore is auditable afterward. The proposal that becomes a skill is reviewable before it lands, which is the part users cannot do today.
Why third — and read this before starting: this is a migration, not a build (spec §8). A live lexical loop already does this and users depend on it. It must not regress.
Blocked on ratifying ADR 0010 — see #711, decisions 1 and 2.
Deliverables
1. The lifecycle ledger. Append-only, immutable, hashed records for observations, proposals, and promotion events, born canonical per ADR 0010. No legacy rows are rewritten. New kinds have no legacy counterpart and therefore need no migration.
2. Typed observation extraction, replay-idempotent with cursors, secrets redacted before persistence, sourced from the evidence already captured — reflection lessons, citations, tool outcomes.
3. Proposal induction over the existing miner. Keep the clustering, the stable identity, and the thresholds. Add a durable, reviewable proposal record carrying its supporting observations, distinct-task count, and scored components. Distinct tasks, never raw events.
4. Migrate the skills loop onto the typed path, behavior-compatible. Existing skill files are untouched. The per-session cap, no-clobber, and two-surface tombstone filtering all survive — asserted by test, not by inspection.
5. Wire the dead rules miner through the same path. Its twin has shipped unwired since the shared clustering module was created to keep them aligned.
6. Solo advisory governance. Immutable promotion events; inferred directives start advisory and can never start blocking; no automatic sharing or scope widening; a re-proposal cooldown so a declined proposal does not return next turn.
7. Review surface. List proposals with their evidence; Keep, Edit, or Ignore; every outcome recorded as an immutable event.
Gate
Three distinct tasks produce one eligible proposal; thirty repetitions inside one task produce none.
No inferred directive reaches blocking by any path.
No sharing or scope widens without an explicit act.
A tombstoned lesson still cannot return as a proposal or a skill.
Existing skill files are byte-identical after migration.
Keep/Edit/Ignore replay identically from the event log.
Mining failure cannot fail the user's task.
Risk
The behavior-compatibility obligation is the whole risk. A typed loop that regresses forget/restore is a worse product than the lexical one it replaces. Every guarantee in spec §8 gets a test before the migration lands, not after:
tombstone suppression across re-learning, on every surface
the per-session creation cap
never clobbering a hand-edited file
deterministic, stable candidate identity
failure isolation — mining never fails the user's task
Blocked by Phase 2 and by #711 (decisions 1 and 2). Blocks Phase 4. Plan: docs/design/adaptive-context-plan.md § Phase 3. Part of Epic #469.
Phase 3 — the typed adaptive loop. This is the goal line: the phase where "adaptive context is real". Ships behind
context.lifecycle.enabled(default off).Observable: Stella proposes durable context from evidence and explains why — "three separate tasks, here they are" — and Keep/Edit/Ignore is auditable afterward. The proposal that becomes a skill is reviewable before it lands, which is the part users cannot do today.
Why third — and read this before starting: this is a migration, not a build (spec §8). A live lexical loop already does this and users depend on it. It must not regress.
Blocked on ratifying ADR 0010 — see #711, decisions 1 and 2.
Deliverables
Gate
Risk
The behavior-compatibility obligation is the whole risk. A typed loop that regresses forget/restore is a worse product than the lexical one it replaces. Every guarantee in spec §8 gets a test before the migration lands, not after:
Blocked by Phase 2 and by #711 (decisions 1 and 2). Blocks Phase 4. Plan:
docs/design/adaptive-context-plan.md§ Phase 3. Part of Epic #469.