Skip to content

spec(oddkit): add oddkit_audit specification (DRAFT v2 — KISS)#140

Closed
klappy wants to merge 1 commit intomainfrom
spec/oddkit-audit
Closed

spec(oddkit): add oddkit_audit specification (DRAFT v2 — KISS)#140
klappy wants to merge 1 commit intomainfrom
spec/oddkit-audit

Conversation

@klappy
Copy link
Copy Markdown
Owner

@klappy klappy commented Apr 26, 2026

Summary

Lands the oddkit_audit action specification (DRAFT v2 — KISS) as committed canon at docs/oddkit/specs/oddkit-audit.md.

This is PR-1.2 of the link-rot-elimination campaign.

What it specifies

One thin action with one check (two rule_ids):

  • dead-referenceklappy:// URI returns NOT_FOUND from oddkit_resolve
  • legacy-link-pattern[label](/page/...) or [label](./relative.md) in writings/

Both severity error by default. Allowlist via line-level <!-- audit-allow: <rule-id> reason="..." --> directives only.

Partial-data compliant. Backward-compatible (net-new action). Calls oddkit_resolve (PR-1.1) for the dead-reference rule.

What it explicitly does NOT include

Per Vodka discipline / Use Only What Hurts:

  • No terminological-drift check
  • No projection-staleness check
  • No epoch-gap check
  • No deprecated-terms registry
  • No epoch-completeness rules
  • No audit_allow: frontmatter field
  • No pre-commit hook

Each is a real concern with an explicit revisit condition in the deferred-concerns ledger (PR-1.3). The reported pain was broken links; the spec solves that. Other concerns become their own thin actions when their pain is acute.

Lineage

  • v1: four-check audit (dead-references + terminological-drift + projection-staleness + epoch-gaps) + deprecated-terms registry + epoch-completeness rules + audit_allow: field
  • v2 (this PR): cut to one check, two rule_ids. Other three checks moved to deferred-concerns ledger.

Implementation timing

This PR lands the specification. Implementation is PR-2.3 of the campaign and is gated on E0008.3 release-validation-gate.

Next in the campaign

  • PR-1.3: tier-1 principle (canon/principles/identity-resolved-by-protocol.md) + deferred-concerns ledger + campaign sequencing doc

Note

Low Risk
Documentation-only change that adds a new spec; no runtime behavior or CI wiring is modified in this PR.

Overview
Adds a new draft spec, docs/oddkit/specs/oddkit-audit.md, defining the oddkit_audit action for PR-time link integrity auditing.

The spec defines inputs/outputs, two finding rules (dead klappy:// URIs via oddkit_resolve, and banned legacy link patterns in writings/), a line-level audit-allow suppression directive, and partial-index/partial-data reporting expectations.

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

@klappy klappy closed this Apr 26, 2026
@klappy klappy deleted the spec/oddkit-audit branch April 26, 2026 03:09
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