Skip to content

feat(canon): Audit 2026-04-30 followups — Open dedup bug observation + fresh-session-over-context-carry method#160

Merged
klappy merged 2 commits intomainfrom
audit-2026-04-30-followups-dedup-bug-observation-and-fresh-session-method
Apr 30, 2026
Merged

feat(canon): Audit 2026-04-30 followups — Open dedup bug observation + fresh-session-over-context-carry method#160
klappy merged 2 commits intomainfrom
audit-2026-04-30-followups-dedup-bug-observation-and-fresh-session-method

Conversation

@klappy
Copy link
Copy Markdown
Owner

@klappy klappy commented Apr 30, 2026

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.md

Standalone 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_search on terms like "open dedup," "quality criteria," "encode bug."

Includes verification path (reproducible oddkit_encode call), 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.md

NEW 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:

Phase 2 of E0008.4 (encode parser refactor in klappy/oddkit) opens in a fresh session against the merged contract at klappy://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 discoverEncodingTypes dedupes encoding types by letter and can drop Open’s qualityCriteria when Observation and Open both use O, 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.

klappy added 2 commits April 30, 2026 09:42
…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)
@github-actions
Copy link
Copy Markdown

Canon Quality — oddkit_audit

No dead klappy:// references or legacy link patterns found in writings/. 39 files scanned.

Spec: klappy://docs/oddkit/specs/oddkit-audit · Workflow: .github/workflows/canon-quality.yml · Run: #22

@klappy klappy merged commit 579c204 into main Apr 30, 2026
2 checks passed
@klappy klappy deleted the audit-2026-04-30-followups-dedup-bug-observation-and-fresh-session-method branch April 30, 2026 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant