Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions SCRATCHPAD.md
Original file line number Diff line number Diff line change
Expand Up @@ -2854,3 +2854,31 @@ Removed the Canvas page and Creative Studio from the website, replacing it with
the relay session.
- test:palmier script pointed at vitest (node --test broke after the
runner port).

## Session 2026-08-01 — ISSUE 428 pressed (branch: claude/youtube-monetization-rules-pv8pos)

- ISSUE 428 "NOTHING NEW WAS ADDED" — YouTube's 15 July 2025
"inauthentic content" rename, read under two lenses. `compare`,
second instance (406 was the first); no pattern extracted per
interaction-language rule 7. cream stock, classic layout, brick
accent, coverSeal NO NEW POLICIES · III·27.
- Six facts, all externally sourced and dated, verified against the
platform's own help pages plus Social Media Today / PPC Land /
Search Engine Journal / Tubefilter before the issue was set. This is
why CompareSpread gained an optional `references` block (406
unaffected); CompareFeature + CSS render it under `pop-compare-refs`.
- Unlike 406 this piece GIVES a verdict: THE LETTER and THE QUEUE
answer different questions (what you are owed vs what you meet), so
declining would have been a false symmetry rather than honesty.
- Artifact edition `artifacts/428-nothing-new-was-added.html` — THE
REVIEW QUEUE, six-stratum descent (upload → classifier → three
buckets → second look → icon → the rule). Depth axis = the review
stack; carried context = the upload's character (three authored
composites) re-inking every stratum; floor resolves per carry.
Seed 428-0715 printed. Timer-robust clock (rAF-vs-setTimeout race),
reduced-motion collapse, print stacks all strata.
- Gates: check-editorial clean (69 issues), check-adherence clean
(0 raw hex), `npm run build` green, 811/811 vitest.
- NOT deployed. This is a feature branch; only a push to main
publishes. Artifact not published to the claude.ai surface either —
Isaac's call.
435 changes: 435 additions & 0 deletions artifacts/428-nothing-new-was-added.html

Large diffs are not rendered by default.

90 changes: 90 additions & 0 deletions src/components/CompareFeature.css
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,96 @@
text-align: center;
}

/* ── Works cited — back-of-book grammar, not footnotes ──── */
.pop-compare-refs {
max-width: 640px;
margin: 56px auto 0;
padding: 28px 0 0;
border-top: 1px solid var(--pop-hairline);
}

.pop-compare-refs-head {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 20px;
}

.pop-compare-refs-note {
font-family: var(--font-serif);
font-style: italic;
font-size: 14px;
color: var(--pop-coffee);
margin: 4px 0 0;
max-width: 52ch;
}

.pop-compare-refs-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.pop-compare-refs-item {
display: grid;
grid-template-columns: 36px 1fr;
gap: 8px;
font-family: var(--font-serif);
font-size: 14px;
line-height: 1.5;
color: var(--pop-ink);
}

.pop-compare-refs-n {
font-family: var(--font-mono);
font-size: 10px;
letter-spacing: 0.08em;
color: var(--issue-accent);
font-weight: 700;
padding-top: 2px;
}

.pop-compare-refs-authors {
font-family: var(--font-mono);
font-size: 11px;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--pop-coffee);
}

.pop-compare-refs-year {
font-family: var(--font-mono);
font-size: 11px;
color: var(--pop-coffee);
}

.pop-compare-refs-title {
font-style: italic;
color: var(--pop-ink);
}

.pop-compare-refs-journal {
font-family: var(--font-mono);
font-size: 11px;
letter-spacing: 0.04em;
color: var(--pop-coffee);
}

.pop-compare-refs-dot { color: var(--pop-ink); }

/* Ink stock — flip the citation colors for dark paper. */
.pop-compare.pop-stock-ink .pop-compare-refs { border-top-color: rgba(250, 249, 246, 0.18); }
.pop-compare.pop-stock-ink .pop-compare-refs-note { color: var(--pop-sepia); }
.pop-compare.pop-stock-ink .pop-compare-refs-item { color: var(--pop-ivory); }
.pop-compare.pop-stock-ink .pop-compare-refs-authors,
.pop-compare.pop-stock-ink .pop-compare-refs-year,
.pop-compare.pop-stock-ink .pop-compare-refs-journal { color: var(--pop-sepia); }
.pop-compare.pop-stock-ink .pop-compare-refs-title,
.pop-compare.pop-stock-ink .pop-compare-refs-dot { color: var(--pop-ivory); }

/* ── Print — both lenses' readings stack per fact ───────── */
@media print {
.pop-compare-switch { display: none; }
Expand Down
26 changes: 26 additions & 0 deletions src/components/CompareFeature.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,32 @@ export function CompareFeature({ spread, issue }: CompareFeatureProps) {
</blockquote>
)}

{/* ── Works cited (optional) ──────────────────────── */}
{spread.references && (
<aside className="pop-compare-refs" aria-label="Works cited">
<header className="pop-compare-refs-head">
<span className="pop-kicker pop-kicker--tomato">{spread.references.kicker}</span>
{spread.references.note && (
<p className="pop-compare-refs-note">{spread.references.note}</p>
)}
</header>
<ol className="pop-compare-refs-list">
{spread.references.items.map((ref, i) => (
<li key={i} className="pop-compare-refs-item">
<span className="pop-compare-refs-n">{String(i + 1).padStart(2, '0')}</span>
<span className="pop-compare-refs-body">
<span className="pop-compare-refs-authors">{ref.authors}</span>
<span className="pop-compare-refs-year"> ({ref.year}). </span>
<span className="pop-compare-refs-title">{ref.title}</span>
{ref.journal && <span className="pop-compare-refs-journal">. {ref.journal}</span>}
<span className="pop-compare-refs-dot">.</span>
</span>
</li>
))}
</ol>
</aside>
)}

{/* ── Sign-off ────────────────────────────────────── */}
<footer className="pop-compare-signoff">
<hr className="pop-rule pop-rule--short pop-rule--tomato" />
Expand Down
Loading
Loading