Skip to content

feat: boarding-pass canon — versioned home for account/project instructions#245

Merged
klappy merged 1 commit into
mainfrom
feat/boarding-pass
Jun 10, 2026
Merged

feat: boarding-pass canon — versioned home for account/project instructions#245
klappy merged 1 commit into
mainfrom
feat/boarding-pass

Conversation

@klappy

@klappy klappy commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Implements the maintainer's directive: rely on instructions, not memory. Model memory cleared of all governance entries this session (journaled). This document holds the paste-ready authoritative text for both instruction layers; settings are projections; canon wins on conflict.


Note

Low Risk
Documentation-only canon addition with no runtime, auth, or data-path changes; operational impact is maintainer re-pasting instructions after merge.

Overview
Adds canon/bootstrap/boarding-pass.md (klappy://canon/bootstrap/boarding-pass) as the versioned source of truth for maintainer instructions, replacing reliance on model memory for governance.

The doc defines account-level (short universal rules) and project-level (full boarding pass) paste-ready blocks, states that UI settings are projections and canon wins on conflict, and requires same-PR updates when boarding-relevant law changes plus a re-paste reminder in the PR description.

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

Reliance moved from model memory (cleared 2026-06-10) to account- and
project-level instructions. This doc is the authoritative text of both
layers; settings are projections of it, canon wins on conflict. Update
discipline binds boarding-relevant law changes to same-PR updates here.
@klappy klappy merged commit de1aea7 into main Jun 10, 2026
@github-actions

Copy link
Copy Markdown

Canon Quality — Homepage Surfacing ✅

46 essay(s) scanned. Soft report — never blocks; the hard field gate is the Frontmatter Schema job.

All published essays resolve to the homepage feed.

Report: scripts/surfacing-report.py · Canon: klappy://canon/constraints/frontmatter-validation-before-merge

@github-actions

Copy link
Copy Markdown

Canon Quality — P0010 Retrieval-Readiness ⚠️

Soft report for klappy://canon/constraints/retrieval-disclosure-contract. 666 files scanned. Never blocks — informational until the corpus is ready to enforce.

  • Blocking-class findings: 12 (structural fields the contract would filter on)
  • Warnings: 0 (kind resolves to unknown)
  • Informational: 13 (exempt templates/archive/drafts)

Kind distribution: {'essays': 48, 'canon': 223, 'apocrypha': 38, 'docs': 294, 'journals': 57, 'unknown': 6}
Kind source: {'path': 541, 'frontmatter': 119, 'none': 6} (frontmatter-primary, path-secondary)
Default-include visibility: 565 visible, 101 hidden (journals/apocrypha/unknown)

By rule: {'audience-invalid': 2, 'exposure-missing': 5, 'tier-missing': 5, 'tier-invalid': 7, 'kind-unresolvable': 6}

These are not schema violations (see the Frontmatter Schema job for those on writings/). They are corpus-readiness signals for the retrieval contract: invalid/missing audience, exposure, tier, and docs whose kind cannot be resolved. Fix in a corpus-cleanup PR before the contract flips to enforcing. See the retrieval-readiness-findings artifact for the full list.

Validator: scripts/audit-retrieval-readiness.py · Constraint: klappy://canon/constraints/retrieval-disclosure-contract · Run: #242

@github-actions

Copy link
Copy Markdown

Canon Quality — oddkit_audit ⚠️

2 finding(s) in writings/ (39 files scanned). Mode: soft.

writings/agentic-software-development.md — 1 finding(s)
Line Rule Occurrence Message
242 dead-reference klappy://writings/nothing-new-even-ai URI does not resolve
writings/choosing-faith-not-fear.md — 1 finding(s)
Line Rule Occurrence Message
203 dead-reference klappy://writings/four-questions-that-change-everything URI does not resolve

2 finding(s) suppressed via <!-- audit-allow: ... --> directives.

Soft-block mode — this status is informational; the job will not fail. Hard-block ships in PR-3.2 after the observation cycle.

What to do for each finding:

  • Fix the slug if the target now lives at a different klappy:// URI.
  • Remove the link if it is no longer needed.
  • Allowlist with a reason if the rot is intentional (e.g. forward-ref to an upcoming article): place <!-- audit-allow: dead-reference reason="..." --> on the line above the offending link. The directive is line-level and scopes to the next markdown link.

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

@github-actions

Copy link
Copy Markdown

Canon Quality — Frontmatter Schema ✅

All 46 file(s) in writings/ conform to klappy://canon/meta/frontmatter-schema.

Validator: scripts/validate-frontmatter.py · Canon: klappy://canon/constraints/frontmatter-validation-before-merge · Run: #242

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing time rule in paste
    • Added an explicit time rule line to the project-level paste block stating that oddkit_time is the first tool call of every turn with no exceptions, matching the operating contract and flight-deck model.

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 283566f. Configure here.

The authoritative copy of these instructions is klappy://canon/bootstrap/boarding-pass — canon wins over settings on any conflict.

E0010, an experiment: failures go to the debrief and become canon. No blame, no repeat.
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing time rule in paste

Medium Severity

The project-level paste block is labeled the full boarding pass, but it omits the time rule that sibling bootstrap canon and the operating contract require in pasted project instructions. Sessions that follow only this text may skip oddkit_time on early turns before the contract is fetched.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 283566f. Configure here.

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