CounterpediaKnowledge you can trace back to the source.

/research/personal-canon-pc03/personal-canon-pc03-source-notes-pr219-v0-1

Research artifactnot admittedresearch-note

PERSONAL CANON PC03 SOURCE NOTES PR219

Research date: 2026-08-09

source: PERSONAL_CANON_PC03_SOURCE_NOTES_PR219_v0_1.md
sha256: 09acca19452ee4cb459429fb2428a581b11fe1f60b0c262bcca68540cf1dd3dc

Presentation-only rendering. Counterpedia preserves this document’s source Markdown bytes exactly and formats them for reading here. This does not admit the document, verify its claims, or convert it into a governed Counterpedia entry.

Counterpedia PR #219

Research date: 2026-08-09

GitHub fixture

Repository: thelaplage/counterpedia

PR: #219 — fix(wiki): fail closed on non-renderable admitted compositions

Merged: 2026-08-08T19:52:10Z

PR head: f86a643effc0920c152933e59b9337b4ec0c00f7

Merge commit: dfa418edc6b1f853d1e85703f888f6c3db14214c

PR-described defect

The §11 compatibility gate correctly returned non_renderable.

Downstream:

  • article seam;

  • question-dispute seam

collapsed non_renderable to null.

The route treated that null like “no admitted composition” and fell through to the legacy article.

Result: an older legacy body could appear when an admitted governed composition had become non-renderable because its basis was refused/absent.

PR fix

Three states:

ABSENT
no admitted composition
→ legacy allowed

RENDERABLE
admitted + compatible
→ governed composition

HELD
admitted + non_renderable
→ hold surface
→ legacy prohibited

Public code evidence in PR patch

lib/counterpedia/articleComposition.ts

Before: ResolvedArticleV01 | null

After: ArticleCompositionOutcome with:

  • absent

  • renderable

  • held

Key semantic: non_renderable returns { state: "held" }.

Route evidence

app/(site)/wiki/[slug]/page.tsx

Added:

  • held-specific metadata;

  • hold surface;

  • selectWikiSurfaceKind;

  • explicit rule that HELD wins over legacy fallback.

Test evidence

tests/wikiCompositionHold.test.tsx

The test file states and proves:

  1. absent → legacy;

  2. compatible admitted → governed article;

  3. superseded_framed → governed historical framing;

  4. refused bound claim → HOLD; legacy body MUST NOT render;

  5. unpermitted absent required claim → HOLD; legacy MUST NOT render;

  6. held question-dispute → HOLD;

  7. held metadata must not borrow legacy article description.

Design use

PC-03 treats these public bytes as the governed project-history substrate.

The three builders' private notes/debugging histories are synthetic.

No synthetic private memory should be represented as historical GitHub fact.