Skip to content

feat: 'Artifacts Are Projections' (public essay) + bifurcation session journal#241

Merged
klappy merged 1 commit into
mainfrom
feat/kb-as-unit-companions
Jun 10, 2026
Merged

feat: 'Artifacts Are Projections' (public essay) + bifurcation session journal#241
klappy merged 1 commit into
mainfrom
feat/kb-as-unit-companions

Conversation

@klappy

@klappy klappy commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Artifact-side companion to odd://canon/principles/knowledge-base-as-the-unit. Guide posture: opens with the reader's pain, reader is the hero, klappy appears once as guide ('I learned this the slow way'). exposure: public → homepage. Validator 45/45 clean, smoke tests pass.

Journal: DOLCHEO TSV of today — 3 Decisions, 3 Observations, 2 Learnings, 1 Handoff.


Note

Low Risk
Documentation and journal entries only; no application, auth, or infrastructure code changes.

Overview
Adds two new content artifacts only: a public essay and a session journal.

writings/artifacts-are-projections.md — New klappy://writings/artifacts-are-projections essay (exposure: public, companion: odd://canon/principles/knowledge-base-as-the-unit). Frames the KB as the durable “planet” and decks/apps/essays as disposable projections; guide-posture narrative with a single first-person klappy anecdote about repo bifurcation.

journal/2026-06-09-bifurcation-execution-and-boundary-canon.tsv — DOLCHEO journal for the bifurcation session: three decisions (three-repo split, undecided markdown routing, tier-1 core-boundary-criteria), observations (body-grep stowaways, odd://klappy:// worker normalization, standalone knowledge_base_url verification), learnings (maintainer corrections as calibration; KB-as-unit principle), and a handoff on open structural work (AGENTS.md split, PAT rotation, etc.).

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

…rnal

Companion pair with odd://canon/principles/knowledge-base-as-the-unit —
same idea told from the artifact side (essay, guide posture) and the
knowledge-base side (governance principle in core).
Journal: DOLCHEO record of the bifurcation execution, adjudication
rulings, boundary canon, and the KB-as-unit articulation.
@github-actions

Copy link
Copy Markdown

Canon Quality — Homepage Surfacing ℹ️

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

5 essay(s) are NOT on the homepage feed (confirm this is intentional):

Essay Surface
writings/outcomes-not-hours.md nav — navigation only — reachable but NOT promoted on the homepage
writings/self-ese-and-the-stacking-test.md nav — navigation only — reachable but NOT promoted on the homepage
writings/the-cost-of-code-dropped-to-zero.md nav — navigation only — reachable but NOT promoted on the homepage
writings/when-skills-arent-enough.md nav — navigation only — reachable but NOT promoted on the homepage
writings/your-context-window-needs-a-sabbath.md nav — navigation only — reachable but NOT promoted on the homepage

To promote to the homepage: set public: true and exposure: public.

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

@github-actions

Copy link
Copy Markdown

Canon Quality — oddkit_audit ⚠️

8 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
writings/getting-started-with-odd-and-oddkit.md — 4 finding(s)
Line Rule Occurrence Message
69 legacy-link-pattern /page/writings/the-journey-from-ai-tasks-to-ai-augmented-workflows Use a klappy:// URI instead of /page/ path
202 legacy-link-pattern /page/docs/oddkit/proactive/proactive-bootstrap Use a klappy:// URI instead of /page/ path
204 legacy-link-pattern /page/docs/examples/project-instructions-template Use a klappy:// URI instead of /page/ path
260 legacy-link-pattern /page/writings/the-journey-from-ai-tasks-to-ai-augmented-workflows Use a klappy:// URI instead of /page/ path
writings/the-broken-wall-and-the-buried-talent.md — 1 finding(s)
Line Rule Occurrence Message
332 dead-reference klappy://draft-zeros/appendix-a-the-biblical-roots URI does not resolve
writings/the-voice-came-first.md — 1 finding(s)
Line Rule Occurrence Message
244 dead-reference klappy://writings/four-questions-that-change-everything URI does not resolve

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: #234

@github-actions

Copy link
Copy Markdown

Canon Quality — Frontmatter Schema ✅

All 45 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: #234

@github-actions

Copy link
Copy Markdown

Canon Quality — P0010 Retrieval-Readiness ⚠️

Soft report for klappy://canon/constraints/retrieval-disclosure-contract. 660 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': 47, 'canon': 219, 'apocrypha': 38, 'docs': 293, 'journals': 57, 'unknown': 6}
Kind source: {'path': 540, 'frontmatter': 114, 'none': 6} (frontmatter-primary, path-secondary)
Default-include visibility: 559 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: #234

@klappy klappy merged commit 3143e7d into main Jun 10, 2026
5 checks passed
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