Skip to content

promote 0.23.0 to prod — P1.3.4 encode canon-parity (D5 + D9)#130

Merged
klappy merged 1 commit intoprodfrom
main
Apr 20, 2026
Merged

promote 0.23.0 to prod — P1.3.4 encode canon-parity (D5 + D9)#130
klappy merged 1 commit intoprodfrom
main

Conversation

@klappy
Copy link
Copy Markdown
Owner

@klappy klappy commented Apr 20, 2026

P1.3.4 Encode Promotion — 0.22.0 → 0.23.0

Promotes the encode canon-parity refactor (D5 + D9, PR #126 squashed as 7542cbb) from main to prod. Closes the canon-parity sweep.

Delta

Single commit promotes: 7542cbb — feat(encode): D5 stemmed phrase-subset matcher + D9 cache removal (0.23.0) (#126)

Release validation gate attestation

Rule 1 — Waiting for Bugbot completed on this PR's head SHA. Will read every finding and disposition before merge.

Rule 2 — Sonnet 4.6 read-only validator dispatched against this promotion's delta. 5-corroboration pattern (C1 scope / C2 bytes / C3 live curl matrix × 3 / C4 canon retrievability / C5 smoke × 3). Feat-PR validator session sesn_011CaF5vqjgzN7Mw8s84qvK9 returned PASS against the pre-merge state (eaa1234); this validator re-validates the post-merge main state against prod for promotion. Findings fold into closeout ledger before merge.

Rule 3 — Canon outranks session artifacts. Handoff recommended 0.22.0; parallel releases (PR #128 / PR #129) claimed 0.22.0 for telemetry + catalog. Per Rule 3, this refactor re-versioned to 0.23.0. Novel learning candidate L-08: "version-collision-as-canon-enforcement — when handoff recommends a version and parallel work claims it first, canon-driven resolution is a bump, not a renegotiation."

Validation anchors

Against preview at https://main-oddkit.klappy.workers.dev and prod after promotion:

  • (12) inflection: "I'm deciding to ship the two-tier cascade" → Decision
  • (13) phrasal: "we're going with option B after the review" → Decision
  • (14) multi-type no-break: "We must never deploy without tests because we decided this last week" → both C and D
  • (15) batch first-match: mixed tagged/untagged → exactly 2 artifacts
  • (16) phrase-subset regression anchor: "I need to wait until tomorrow for the review" → NOT Decision, NOT Handoff

Post-promotion

  • Prod smoke × 3 consecutive
  • Live self-call against oddkit.klappy.dev with input E from above
  • Closeout ledger klappy://odd/ledger/2026-04-20-p1-3-4-encode-canon-parity-landed with validator session IDs, Bugbot dispositions, timeline, L-08 and P13 carry-forwards
  • Flip handoff to superseded

Refs

  • Feat PR: feat(encode): D5 stemmed set intersection + D9 cache removal (0.22.0) #126 (merged as 7542cbb)
  • Handoff: klappy://odd/handoffs/2026-04-20-p1-3-4-encode-canon-parity
  • Canon basis: klappy://canon/principles/cache-fetches-and-parses, klappy://canon/principles/vodka-architecture
  • Binding gate: klappy://canon/constraints/release-validation-gate
  • Closes the canon-parity sweep

…23.0) (#126)

Migrates oddkit_encode's trigger-word classifier from regex alternation to stemmed phrase-subset matching — the last regex matcher in the canon-parity sweep. Closes the sweep.

Originally scoped as 0.22.0 per the P1.3.4 handoff. While this branch was in Sonnet 4.6 validator dispatch, PR #124 (telemetry envelope) and PR #125 (catalog envelope) landed on main and were released as 0.22.0 via PR #128. Per klappy://canon/constraints/release-validation-gate Rule 3 (canon outranks session artifacts), this refactor rebases forward and ships as 0.23.0.

Bugbot disposition (Rule 1):
- 259170a (first cut, flat stemmedTokens): completed/neutral, high-severity finding on multi-word vocab flattening → fix-forwarded via 113ba11
- 113ba11 (Cursor autofix stemmedPhrases): completed/neutral, low-severity dead-code finding on intersectsStems → fix-forwarded via e404fe0
- e404fe0: completed/success
- eaa1234 (CHANGELOG + assertion 16): completed/success
- d2acf91 (merge origin/main): Bugbot cancelled (new commit pushed before completion)
- 8a0636b (stale-comment fix): completed/success — final head

Sonnet 4.6 validator (Rule 2): agent_011CaF5vo8B5UpqtfZAmSeui, session sesn_011CaF5vqjgzN7Mw8s84qvK9 — verdict PASS on all 5 corroborations against eaa1234. Rebase and comment-fix commits on top are textual/version-only and do not touch matcher code. A fresh validator dispatch will run against the main→prod promotion PR per Rule 2.

Refs:
- Handoff: klappy://odd/handoffs/2026-04-20-p1-3-4-encode-canon-parity
- Canon basis: klappy://canon/principles/cache-fetches-and-parses, klappy://canon/principles/vodka-architecture
- Binding gate: klappy://canon/constraints/release-validation-gate

Non-blocking carry-forward: P13 — Input-E fallback classification (inputs with no canon vocab intersection fall through to types[0] alphabetical = Constraint). Pre-existing behavior, flagged by validator, outside P1.3.4 scope.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
oddkit 7542cbb Commit Preview URL

Branch Preview URL
Apr 20 2026, 02:05 PM

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