diff --git a/canon/constraints/mode-transitions-require-encoded-handoff.md b/canon/constraints/mode-transitions-require-encoded-handoff.md index 1c6e0da..fe0ca29 100644 --- a/canon/constraints/mode-transitions-require-encoded-handoff.md +++ b/canon/constraints/mode-transitions-require-encoded-handoff.md @@ -10,7 +10,7 @@ tags: ["canon", "constraints", "epistemic-modes", "handoff-contract", "journal", epoch: E0008.5 date: 2026-05-10 derives_from: "canon/principles/sessions-mirror-modes.md, canon/definitions/epistemic-modes.md, canon/constraints/critic-cannot-be-resolver.md, canon/principles/verification-requires-fresh-context.md" -complements: "canon/methods/persona-shaped-agent-runtime.md, docs/mode-separated-conversations.md, docs/oddkit/proactive/oldc-h-vocabulary.md" +complements: "canon/methods/persona-shaped-agent-runtime.md, docs/mode-separated-conversations.md, canon/definitions/dolcheo-vocabulary.md" governs: "Every transition between epistemic modes — exploration, planning, execution, validation, resolution — across all surfaces (agent runtime, human conversation, mixed teams)" status: proposed --- @@ -27,7 +27,7 @@ Every legitimate transition between epistemic modes produces two artifacts: ### 1. Journal Entry — Universal, No Exception -Every transition produces a journal entry recording what happened. The format is DOLCHEO+H per [the canonical vocabulary](klappy://docs/oddkit/proactive/oldc-h-vocabulary): observations, learnings, decisions, constraints, encodes, handoffs. The journal entry captures: +Every transition produces a journal entry recording what happened. The format is DOLCHEO per [the canonical vocabulary](klappy://canon/definitions/dolcheo-vocabulary): decisions, observations, learnings, constraints, handoffs, encodes, opens. The journal entry captures: - The mode transition itself (from → to, with timestamp) - What was completed in the prior mode (obligations met) @@ -119,7 +119,7 @@ This is a consumer pattern, not a runtime feature, and it is documented separate ## Confidence -**Working belief.** The journal-entry requirement extends an already-canonical practice (DOLCHEO+H entries on every session per [oldc-h-vocabulary](klappy://docs/oddkit/proactive/oldc-h-vocabulary)) to mode transitions specifically. The transition-specific handoff requirements extend already-canonical practice for individual transitions (P0008 for validator deliverables, plan documents for execution work, etc.) into a uniform contract. +**Working belief.** The journal-entry requirement extends an already-canonical practice (DOLCHEO entries on every session per [the dolcheo-vocabulary](klappy://canon/definitions/dolcheo-vocabulary)) to mode transitions specifically. The transition-specific handoff requirements extend already-canonical practice for individual transitions (P0008 for validator deliverables, plan documents for execution work, etc.) into a uniform contract. **Retraction conditions:** @@ -135,7 +135,7 @@ This is a consumer pattern, not a runtime feature, and it is documented separate - [Sessions Mirror Modes](klappy://canon/principles/sessions-mirror-modes) — the principle this constraint operationalizes - [Epistemic Modes](klappy://canon/epistemic-modes) — the parent canon defining the modes whose transitions this constraint governs -- [DOLCHEO+H Vocabulary](klappy://docs/oddkit/proactive/oldc-h-vocabulary) — the journal entry format required at every transition +- [DOLCHEO Vocabulary](klappy://canon/definitions/dolcheo-vocabulary) — the journal entry format required at every transition - [Verification Requires Fresh Context](klappy://canon/principles/verification-requires-fresh-context) — the principle motivating the encoded handoff for execution → validation specifically - [Critic Cannot Be Resolver](klappy://canon/constraints/critic-cannot-be-resolver) — the constraint motivating the encoded handoff for validation → resolution specifically - [P0008 — Fresh-Validator Deliverable Is a DOLCHEO Ledger](klappy://docs/promotions/P0008-pr-validator-dolcheo-ledger-as-deliverable) — the operationalized handoff pattern for the validator role diff --git a/writings/reverse-engineer-the-future.md b/writings/reverse-engineer-the-future.md index 31258d9..d4f4840 100644 --- a/writings/reverse-engineer-the-future.md +++ b/writings/reverse-engineer-the-future.md @@ -253,7 +253,7 @@ For about four hours each evening, I babysat agents. The ratio of human discernment to model output, in the kind of work I am doing right now, is unusually high. This is not a long-running production codebase where the path is well-trodden and the AI can charge ahead. This is the part where the architecture is being negotiated session by session — where a single bad commit can lock in a domain assumption that takes a week to undo. An agent making seventy decisions an hour, untended, would produce a server I would not want to maintain. -So I sat with it. I read what it wrote. I caught the moments when it was about to add a tool that should be a canon document, or write a feature flag that should be a CLI argument, or import a library that would lock the build to a runtime I had spent three days designing my way out of. Most of those moments lasted ten or fifteen seconds. The whole evening was a string of those ten-second corrections. By two in the morning the day's transcripts had been encoded as DOLCHEO+H artifacts — Decisions, Observations, Learnings, Constraints, Handoffs, Encodings, Opens — into the project's canon, where the next session would inherit them. +So I sat with it. I read what it wrote. I caught the moments when it was about to add a tool that should be a canon document, or write a feature flag that should be a CLI argument, or import a library that would lock the build to a runtime I had spent three days designing my way out of. Most of those moments lasted ten or fifteen seconds. The whole evening was a string of those ten-second corrections. By two in the morning the day's transcripts had been encoded as DOLCHEO artifacts — Decisions, Observations, Learnings, Constraints, Handoffs, Encodings, Opens — into the project's canon, where the next session would inherit them. I have been asked, more than once: *why don't you just automate that?* The answer is that I am not optimizing for the throughput of any single feature. I am optimizing for the integrity of the architecture across many features. Automation will catch up. Once the patterns I am writing now solidify into canon, the next round of similar projects will largely write themselves — that's what already happened with the Scripture App Builder server, which I built more than half by replaying the playbook on a new domain.