Skip to content

canon: link-rot Phase 2 shipped — persist handoff + ledger + spec v2.2#148

Merged
klappy merged 3 commits intomainfrom
canon/link-rot-phase-2-shipped-and-spec-v2.2
Apr 27, 2026
Merged

canon: link-rot Phase 2 shipped — persist handoff + ledger + spec v2.2#148
klappy merged 3 commits intomainfrom
canon/link-rot-phase-2-shipped-and-spec-v2.2

Conversation

@klappy
Copy link
Copy Markdown
Owner

@klappy klappy commented Apr 27, 2026

Closes out the v0.26.0 oddkit promote — link-rot Phase 2 — by persisting the session artifacts and aligning the audit spec with what shipped.## What this PR adds**odd/handoffs/2026-04-27-link-rot-phase-2-promote-resume.md** — the resume handoff that this session executed. Authored by the prior session (compacted at 2026-04-27T02:39 UTC), kept Continuation Test discipline; this session executed it cleanly. The companion "original" handoff (2026-04-27-link-rot-phase-2-promote-and-phase-3.md) was attached to the prior session's chat context only and was lost — see the resume's "Persistence Note" appendix. Per axiom 4 ("You Cannot Verify What You Did Not Observe"), this PR refuses to reconstruct the original from inference. The resume is comprehensive enough to stand alone.odd/ledger/2026-04-27-link-rot-phase-2-shipped.md — session ledger documenting the v0.26.0 ship: timeline, decisions (lineSeen waiver, spec amendment, original-handoff loss), observations (DNS overflow workaround, Bugbot Autofix non-blocking carve-out, real link-rot in writings/), learnings, and what remains for Phase 3.docs/oddkit/specs/oddkit-audit.md v2.1 → v2.2 — defers index_state field and PARTIAL_INDEX status enum value per validator findings F-3 and F-5. Both were intentional drift in the v0.26.0 implementation; rather than carry permanent spec-vs-shipped drift, the spec now matches shipped behavior with both deferred items marked clearly in Partial-Data Compliance and the Origin v2.2 amendment paragraph. Use Only What Hurts: if a real consumer demonstrates need to distinguish "URI dead" from "couldn't be checked because index isn't warm," the deferred mechanism graduates back into the schema.F-4 (suppressed_findings returns full objects vs spec's "count only") was dispositioned by the validator as no action — additive, not harmful and remains unchanged in v2.2.## What shipped to prod (verification recap)- ✅ oddkit_version returns 0.26.0- ✅ Unified oddkit action enum at 13 values (audit + resolve + 11 prior); strictly +1 from v0.25.0 baseline- ✅ Standalone oddkit_audit tool live; default scope ["writings/"]; wider scope ["writings/", "canon/"] honored- ✅ Real link-rot surfaced: 3 dead-references in default-scope smoke; 17 in writings+canon scope- ✅ Cursor Bugbot finding on promote PR head dispositioned per release-validation-gate Rule 1 (waived in body + tracked at klappy/oddkit#148)- ✅ Validator findings table appended to klappy/oddkit#146 body before merge## Refs- Promote PR: klappy/oddkit#146 (merged 2026-04-27T02:51:55 UTC)- F-1 fix-forward: klappy/oddkit#147- Bugbot lineSeen tracking issue: klappy/oddkit#148- Resume handoff this PR persists: klappy://odd/handoffs/2026-04-27-link-rot-phase-2-promote-resume- Session ledger this PR adds: klappy://odd/ledger/2026-04-27-link-rot-phase-2-shipped- Spec at v2.2: klappy://docs/oddkit/specs/oddkit-audit- Canon honored: klappy://canon/constraints/release-validation-gate (Rules 1, 2, 3 all)## Next session pick-upPhase 3 PR-3.1 — .github/workflows/canon-quality.yml on this repo (klappy.dev), soft-block mode. Spec at v2.2 is the source of truth. Continuation Test in the new session ledger.


Note

Low Risk
Documentation-only changes that align the spec with the implemented oddkit_audit output and persist operational notes; no runtime behavior is modified.

Overview
Aligns the oddkit_audit action spec to shipped v0.26.0 by bumping to DRAFT v2.2 and removing index_state/PARTIAL_INDEX from the documented output schema (marking the partial-index mechanism as deferred).

Adds two canon artifacts: a promote-resume handoff for completing/validating the Phase 2 promote steps, and a session ledger capturing what shipped, validator dispositions, and remaining Phase 3 follow-ups.

Reviewed by Cursor Bugbot for commit 7908310. Bugbot is set up for automated code reviews on this repo. Configure here.

@klappy klappy merged commit 36d2b7d into main Apr 27, 2026
1 check passed
@klappy klappy deleted the canon/link-rot-phase-2-shipped-and-spec-v2.2 branch April 27, 2026 04:47
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