Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions canon/constraints/mode-transitions-require-encoded-handoff.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
---
Expand All @@ -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)
Expand Down Expand Up @@ -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:**

Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion writings/reverse-engineer-the-future.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
Loading