canon/definitions: DOLCHEO vocabulary (tier 2) — adds Open as the seventh letter#112
Merged
Merged
Conversation
Add canon/definitions/dolcheo-vocabulary.md. Supersedes docs/oddkit/proactive/dolche-vocabulary.md by adding Open as the seventh letter — the forward-pointing thread that stays with the current owner. Seven letters: Decision, Observation (closed), Learning, Constraint, Handoff, Encode, Open. Both Os remain O; section placement and the optional '-open' tag suffix disambiguate. Open items carry priority bands (P1..Pn, with sub-bands like P1.1). Open vs Handoff distinguished by ownership: Open stays with the current owner; Handoff transfers to another owner. Worked examples included. Canon contract for oddkit_encode follows: the tool must accept all seven prefixes, return per-artifact arrays for batched input, and read this vocabulary at runtime via the prompt-over-code pattern (live canon -> bundled baseline -> fail-loud). Backward compatible with DOLCHE: every DOLCHE journal is a valid DOLCHEO journal with zero Open entries. Gauntlet run: - oddkit_preflight: clean - oddkit_challenge (canon-tier-2): block_until_addressed=false; prior-art, scope, and retraction conditions addressed inline - Writing Canon 8-point checklist: pass (title, blockquote, metadata, summary, header scan, no buried claims, axiom space, ghost writer) - Frontmatter schema: native YAML types (tier: 2 int, date unquoted, simple identifiers unquoted, strings with punctuation quoted) - AI voice clichés: one negation-parallelism pattern caught and rewritten; em-dash density in body prose reduced
Complete the per-type governance surface for DOLCHEO. The umbrella canon doc at canon/definitions/dolcheo-vocabulary.md defined seven artifact types; the per-type docs under odd/encoding-types/ must exist for each so BM25 search surfaces all seven independently. Before this change the inventory was missing: - encode.md (letter E, meta-level action) - open.md (letter O, facet=open, forward-pointing) Both follow the minimal template established by decision.md, observation.md, learning.md, constraint.md, and handoff.md: frontmatter tagged 'encoding-type' for discovery, opening blockquote, Type Identity table, Field Schema, Trigger Words. open.md registers letter O alongside observation.md with an explicit Facet row (open vs closed). Classification preference: a paragraph inside a section headed 'Open items' or 'forward-pointing' classifies as Open regardless of trigger words; '[O-open]' prefix forces Open; bare '[O]' outside an Open items section stays closed Observation. This matches the disambiguation rule in the umbrella doc. observation.md gets a See Also footer pointing at open.md and the umbrella doc so the O-letter collision is traversable from either side in search results. Gauntlet: - oddkit_challenge (canon-tier-2) on the pair: CHALLENGED, but block_until_addressed=false. The prerequisites it surfaced (evidence, prior art, scope, retraction conditions) are all addressed in the umbrella doc's frontmatter chain and its explicit 'Scope, Prior Art, and Retraction Conditions' section. These two files are structural companions, not independent principle-extractions. - Frontmatter schema: native YAML types, universal fields present. - AI-voice cliches pass: no negation parallelism, no formulaic transitions, em-dash density normal.
Owner
Author
|
The second commit on this PR ( What this commit adds
All three mirror the minimal template established by the existing type docs ( Gauntlet for this commit
This isn't a pivot — it's continuation of the existing per-type governance pattern that DOLCHE established under |
klappy
added a commit
that referenced
this pull request
Apr 19, 2026
…l O/O-open collision Two follow-ups after PR #112 landed the DOLCHEO umbrella: 1. docs/oddkit/proactive/dolche-vocabulary.md: - status: active -> superseded - superseded_by: canon/definitions/dolcheo-vocabulary.md - Adds a banner blockquote pointing readers at the DOLCHEO umbrella while preserving the doc for historical reference. 2. odd/encoding-types/how-to-write-encoding-types.md: - Custom-type conventions now acknowledge the one intentional exception to letter-collision: Observation and Open both register letter O and disambiguate by facet plus section placement, per the DOLCHEO contract. Future custom types should not introduce collisions unless they follow the same facet pattern.
klappy
added a commit
that referenced
this pull request
Apr 19, 2026
…nal collision (#113) Two follow-ups after PR #112 landed the DOLCHEO umbrella: 1. docs/oddkit/proactive/dolche-vocabulary.md: - status: active -> superseded - superseded_by: canon/definitions/dolcheo-vocabulary.md - Adds a banner blockquote pointing readers at the DOLCHEO umbrella while preserving the doc for historical reference. 2. odd/encoding-types/how-to-write-encoding-types.md: - Custom-type conventions now acknowledge the one intentional exception to letter-collision: Observation and Open both register letter O and disambiguate by facet plus section placement, per the DOLCHEO contract. Future custom types should not introduce collisions unless they follow the same facet pattern.
This was referenced Apr 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
canon/definitions/dolcheo-vocabulary.md(tier 2) as the canon home for the vocabulary. Supersedesdocs/oddkit/proactive/dolche-vocabulary.mdby adding Open as the seventh letter: the forward-pointing thread that stays with the current owner.Summary
Seven letters: Decision, Observation (closed), Learning, Constraint, Handoff, Encode, Open.
Both Os retain the single letter
O; section placement and an optional-opentag suffix disambiguate closed Observation from Open item. Open items carry priority bands (P1..Pn, with sub-bands like P1.1). Open vs Handoff distinguished by ownership — Open stays with the current owner; Handoff transfers.The
odd/ledger/2026-04-19-agent-team-pilot.mdledger (open in #109) is the first DOLCHEO-native ledger and is referenced as the working example.Why canon (not docs)
This vocabulary governs how session capture works across all oddkit-powered projects. It also sets the contract that
oddkit_encodemust satisfy — the tool must accept all seven prefixes, return per-artifact arrays for batched input, and read this vocabulary at runtime via prompt-over-code (live canon → bundled baseline → fail-loud). That contract lives in canon, not docs.Backward compatibility
Every DOLCHE journal is a valid DOLCHEO journal with zero Open entries. Trigger phrases (
encode DOLCHE,journal this,run the gauntlet) continue to work.Gauntlet
oddkit_preflight— cleanoddkit_challengeincanon-tier-2mode —block_until_addressed: false; prior-art (GTD's Next Actions / Waiting For, kanban, issue trackers), scope boundaries, and retraction conditions addressed inline in a dedicated sectioncanon/meta/frontmatter-schema) — native YAML types:tier: 2unquoted,date: 2026-04-19unquoted,epoch: E0008.3unquoted simple identifier, strings with punctuation quotedcanon/constraints/ai-voice-cliches) — one negation-parallelism pattern caught and rewritten; em-dash density in body prose reduced from 46 to 40Next
Unblocks the
oddkit_encodebatch-mode + prompt-over-code canary refactor (next PR onklappy/oddkit), which reads this vocabulary at runtime. Canon ships before the code that reads it.Note
Low Risk
Low risk: changes are documentation/governance additions that don’t alter runtime code, but they define a new contract that future
oddkit_encodeimplementations must follow.Overview
Defines DOLCHEO as the new tier-2 canon vocabulary for session capture by adding Open as a seventh dimension (unresolved, owner-retained threads) with priority bands and explicit disambiguation from closed Observations while keeping the single-letter
O.Adds new encoding-type docs for
E(Encode) andOwithfacet: open(Open items), and updates the Observation encoding-type doc to cross-reference the new Open/Observation split and section-based classification expectations foroddkit_encode.Reviewed by Cursor Bugbot for commit 9cb7459. Bugbot is set up for automated code reviews on this repo. Configure here.