Skip to content

fix: restructure artifacts-are-projections per writing canon (gauntlet addressed)#243

Merged
klappy merged 1 commit into
mainfrom
fix/essay-writing-canon-structure
Jun 10, 2026
Merged

fix: restructure artifacts-are-projections per writing canon (gauntlet addressed)#243
klappy merged 1 commit into
mainfrom
fix/essay-writing-canon-structure

Conversation

@klappy

@klappy klappy commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Full post-hoc gauntlet: preflight → writing-canon (live read) → ai-voice-cliches audit → challenge, published-essay mode. Block-until-addressed gaps resolved with calibration: scope + counter-example (artifacts that ARE the asset), encoding cost, working-rule framing with a stated disconfirmer, and the sample expanded beyond one case (oral-theology corpus, clone-klappy-to-oddie-recognition). Progressive disclosure now passes all five tiers; header scan tells the story. Remains public:false / exposure:draft — promotion is the author's editorial call.


Note

Low Risk
Draft markdown essay only; no runtime, API, or publication flag changes.

Overview
Restructures the draft essay artifacts-are-projections.md for writing-canon progressive disclosure and a stronger header scan, without changing draft/public metadata.

Adds a lead blockquote and a Summary section up front, then breaks the former single flow into named sections (stale artifact hook, map metaphor, repo tangle anecdote, director’s chair, limits, evidence, CTA). Title and H1 gain the subtitle “The Thing You Shipped Was Never the Asset.”

New editorial substance: a “Where This Holds, and Where It Doesn’t” section frames the idea as a working rule with counter-examples (artifact-as-asset cases, encoding cost), plus expanded evidence beyond the author’s repo (second corpus, “clone” demand). Light punctuation/copy tweaks in frontmatter and body (em dashes → commas/parentheses in places).

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

…c gauntlet)

Gauntlet run: preflight, writing-canon read, ai-voice-cliches audit,
challenge in published-essay mode (block_until_addressed=true, now addressed).
Structure: stance title, complete-compressed-argument blockquote,
'## Summary —' extraction key, story-telling headers (header scan passes),
em dashes 13→5, negation parallelism removed. Challenge fixes: scope and
counter-example named, cost acknowledged, working-rule framing, second
case (oral-theology corpus + clone-klappy observation) cited.
Stays public:false pending author editorial pass.
@klappy klappy merged commit 659bfde into main Jun 10, 2026
@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: #238

@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: #238

@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.

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

Essay Surface
writings/artifacts-are-projections.md hidden — public=False — NOT a published essay; will not surface publicly
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

No dead klappy:// references or legacy link patterns found in writings/. 47 files scanned.

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

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