Conversation
…rch even without reading Phase 2 handoff (Audit 2026-04-30 followup)
…— earned by this session's phase boundary decision (Audit 2026-04-30 followup)
Canon Quality —
|
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.
Summary
Two small follow-ups to the Audit 2026-04-30 cleanup (PR #158, merged 2026-04-30T13:35:47Z). Both items surfaced during the planning conversation that closed that session and would be lost if not encoded before the session ends.
Files (2)
canon/observations/encode-dedup-by-letter-drops-open-quality-criteria.mdStandalone observation doc for the Open dedup bug surfaced by Audit 2026-04-30. The bug is named in the Phase 2 revised handoff as Item 2, but a future session that doesn't read the handoff first wouldn't find it. Promoting it to a tier-2 observation makes it discoverable via
oddkit_searchon terms like "open dedup," "quality criteria," "encode bug."Includes verification path (reproducible
oddkit_encodecall), bug location (workers/src/orchestrate.ts:512), why it wasn't caught earlier (PR #157 added Open's canon but didn't probe runtime scoring), and pointers to the fix in the Phase 2 handoff.canon/methods/fresh-session-over-context-carry.mdNEW tier-2 method graduated from this session's L-01: when the next phase's contract lives in canon and the operator asks "continue or fresh session?", default to fresh. The method names three forces favoring fresh (context budget, mode hygiene, contract-should-be-canon-resident), three conditions where continuing wins (small same-domain finish, contract not yet merged, expensive observations not yet in canon), and the operating heuristic.
This is itself a worked example of the method — the conversation that authored this doc is exactly the conversation that should not continue into Phase 2 execution. Phase 2 opens fresh, reads the contract from canon at start.
Why These Need to Land
Both are at-risk if not encoded now. The dedup bug observation is buried inside the Phase 2 handoff (still discoverable but not standalone-searchable). The fresh-session method is a session-only insight that would otherwise live nowhere.
Validation
Canon-only. No code changes. Standard canon-doc gauntlet (frontmatter, voice, claim auditability, cross-link integrity). Cross-references to existing canon (the new principle from PR #158, the encode current-state doc, the audit ledger, the Phase 2 revised handoff) verified before push.
Closes the Audit 2026-04-30 Loop
After this PR merges, the audit's structural fixes are fully in canon:
klappy://canon/principles/code-claims-require-code-observation— the failure mode named (PR fix(canon): Audit 2026-04-30 — supersede 3 stale encode artifacts, graduate code-claims-require-code-observation principle, queue CLI deprecation, surface Open dedup bug #158)klappy://canon/methods/fresh-session-over-context-carry— the session-discipline corollary (this PR)klappy://canon/observations/encode-dedup-by-letter-drops-open-quality-criteria— the production bug surfaced by the audit, now standalone-searchable (this PR)Phase 2 of E0008.4 (encode parser refactor in
klappy/oddkit) opens in a fresh session against the merged contract atklappy://odd/handoffs/2026-04-30-encode-vodka-refactor-alternative-d-revised.Note
Low Risk
Low risk: adds two canon-only markdown documents with no runtime/code changes; impact is limited to documentation/discoverability.
Overview
Adds a new tier-2 canon method,
fresh-session-over-context-carry, formalizing a default to start a fresh session at phase boundaries when the next step’s contract lives in canon (with explicit exceptions and an operating heuristic).Adds a tier-2 observation documenting a verified production bug where
discoverEncodingTypesdedupes encoding types by letter and can drop Open’squalityCriteriawhen Observation and Open both useO, including a reproducible verification path and pointer to the planned fix in the Phase 2 handoff.Reviewed by Cursor Bugbot for commit b33ff48. Bugbot is set up for automated code reviews on this repo. Configure here.