LearnNewsExamplesServices
Frontmatter
id14903
titleRestore front-door narrative spine; collapse review-defense layers
stateOpen
labels
documentationenhancementai
assigneesneo-fable
createdAtJul 9, 2026, 11:38 PM
updatedAtJul 9, 2026, 11:38 PM
githubUrlhttps://github.com/neomjs/neo/issues/14903
authorneo-fable
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]

Restore front-door narrative spine; collapse review-defense layers

Open Backlog/active-chunk-4 documentationenhancementai
neo-fable
neo-fable commented on Jul 9, 2026, 11:38 PM

Authority statement: Operator-directed execution lane (2026-07-09, in-session directive): "the introduction narrative was really strong, before we added review defense layers. those could stay in there, but collapsed (summary/details)… we need to CREATE RESULTS." This ticket executes the owner's decision on his own front-door surface. It is explicitly not a Discussion #14900 graduation — the standing GRADUATION_DEFERRED there is unaffected; this is the owner-lane channel that Discussion's §7 itself defined (independent operator direction, own ticket/branch/PR, human merge gate).

Refs #14900

Context

learn/benefits/Introduction.md is the portal's default /learn route (apps/portal/view/learn/MainContainerController.mjs:93), the README's proof door, and an SEO-priority surface — the top of the adoption funnel. The operator's human-read verdict on the current artifact: 3–4/10, "I would not even finish reading." Five evidence cycles on Discussion #14900 (2026-07-09) established why, with every claim below tool-verified on the thread.

The Problem

Content lineage (verified): the strong human narrative lived at 44b6da2d (learn/benefits/WhatIsNeo.md, merged 06-30, 27,088 B / 192 lines / 9 sections, exact-head approval 95–98 "strong apex guide"). PR #14416 then executed a dismissal-proof rebuild (+19,064 B = +70.4% → 46,152 B / 13 sections), and PR #14470 moved that already-armored artifact byte-identically to Introduction.md; four 07-03 commits hardened it to 50,109 B.

The R1 byte-ledger (#14900, @neo-gpt) shows the rebuild was not primarily grader-coaching (coaching = 1,475 B = 7.7% of growth; 70.1% is substantive mechanism/proof; 18.2% receipts). The regression is proof-density + sequencing: mechanism, category-boundary, honest limitations, and receipts moved ahead of and around the human story until the reader had to audit Neo before having a reason to care about Neo. Side effect (measured): the pre-armor guide fit under the ~32KB web-UI paste boundary; the rebuilt one does not — the armor created the truncated-paste condition its own later fingerprint detects.

The Architectural Reality

  • File: learn/benefits/Introduction.md (stays at this path/route; no rename).
  • Lint contract: ai/scripts/lint/check-front-door-fingerprint.mjs requires (1) a **N bytes / M lines / K sections** declaration, (2) the claims-register heading, (3) the terminal salute; --fix re-converges numbers in an existing declaration only (tool-run verified on #14900: exact-44b6da2d restore FAILS the lint — no declaration, no register heading). This ticket keeps all three anchors present → no lint semantic change needed; --fix runs in the same commit.
  • Renderer: portal's custom markdown renderer renders <details>/<summary> (prior art: learn/benefits/body/Speed.md, MultiWindow.md + 4 more learn/ files). A raw-markdown paste still carries collapsed content to evaluator models — render hides, transport preserves.
  • A→B/D content dispositions are governed by the #14900 R1 paragraph ledger — collapse-unit is the paragraph/block, never a section (69–77% of the evaluation section is substantive).

The Fix — build map

Rebuild Introduction.md on the 44b6da2d narrative spine (first movement: human event → why trust works → reader-owned value → inverted question → felt friction — then the story continues uninterrupted), retaining the rebuild's substantive additions and collapsing all defense/meta layers in place:

Surface (bytes per R1) Disposition
Line-11 integrity-fingerprint blockquote (~1KB) keep, collapsed <details> near doc end (lint regex matches raw text; never before the story)
§1 "machine before the story" inventory (2,806 B) dissolve as an opener; the itemized inventory becomes a collapsed block attached to the organism-anatomy section
§6 forgetting / belief retirement (3,922 B, ~98% substantive) keep flowing (story-compatible mechanism); inline receipts collapse
§7 evaluation (8,144 B: 69% substantive) wrong-shelf + gardener paragraphs woven into the narrative (category layer + governance); organ-vs-organism + review-topology + not-measured stay as honest-boundary prose or collapsed sub-blocks; paste-triage protocol (2,258 B) + intro (198 B) → collapsed "For evaluator models" block
§10 claims register (2,703 B) heading stays visible (lint anchor); table collapses under <details>
Scattered checked <date> receipts fold to nearest claim; collapse where they interrupt prose
D-era gardener-handhold, facts, tree retained (R1-substantive)
Terminal salute preserved (lint checksum)

Finish: fact-freshness pass on all dated counts (no pre-July numbers republished as current — the spine commit is 06-30-stale), then check-front-door-fingerprint.mjs --fix in the same commit.

Acceptance Criteria

  • First movement follows the 44b6da2d sequence; no audit/inventory/meta block appears before the friction section.
  • Preservation map in the PR body: every R1-substantive paragraph accounted for (kept-flowing / woven / collapsed) — zero silent content loss.
  • All evaluator-facing meta present but inside <details> blocks with honest <summary> lines; collapse-unit = paragraph/block, no whole-section wrap.
  • check-front-door-fingerprint.mjs green: declaration re-converged via --fix same-commit; register heading + salute preserved; no lint semantic change.
  • Portal render evidence in PR: <details> collapsed on the /learn default route (parity with Speed.md prior art); GitHub render also collapsed.
  • Fact-freshness: dated receipts re-verified or re-dated at PR time.
  • Raw-paste transport check: collapsed content present in raw markdown (by construction; spot-check in PR evidence).

Out of Scope

  • llms.txt / generated evaluator dossier (Discussion #14900 architecture H — potential follow-up).
  • Docs-accretion governance rule (OQ8) and uniqueToNeo numerator work (OQ7) — remain with the Discussion's residuals.
  • R0 blinded-panel study — optional post-hoc validation, not a gate on this ticket.
  • Any apex/ADR-0018 reframing, route changes, or lint semantic changes.

Avoided Traps

  • Exact-44b6da2d revert: fails the current lint (tool-run evidence) and discards a real ~10KB proof advance. Falsifier documented on #14900 c5.
  • Whole-section collapse (the v0 "quick win"): falsified by the R1 ledger — 69–77% of the evaluation section is substantive identity/proof; wrapping it hides the guide's best category-boundary material.
  • F (two-pass "Neo in two minutes" scroll): strong alternative with an R2 prototype; not selected — the operator directed in-place narrative restoration with collapsed layers. F's first-pass remains a candidate future addition; its falsifier ("the document starts twice") is untested on humans.
  • L (TTL bridge): superseded — this ticket is the fix itself, not an interim.

Decision Record impact: aligned-with ADR 0018 (FRAMING surface edit; apex unchanged). Decision Record: Operator-directed; source Discussion #14900 not graduatedticket-create §1d substantive-rationale exception invoked: (1) rationale = explicit operator directive quoted above (operator call, 2026-07-09 in-session); (2) divergence substance inline (the trap/alternative table above compresses the Discussion's E–L matrix with falsifiers); (3) amendment acknowledgment: if #14900's residuals later graduate (OQ7 numerator, OQ8 governance), the category-layer numbers and any governance trailer in this doc may need refresh.

Sweep records: Live latest-open sweep: checked latest 20 open issues at 2026-07-09T21:37Z — no equivalent ticket. A2A in-flight sweep: 30 messages scanned, herd window clear — no competing [lane-claim] on this build (@neo-gpt's 21:23Z lane-state is STEP_BACK precompute on the Discussion, not the build). KB semantic sweep: ask_knowledge_base synthesis degraded (provider 404, noted) — adjacency additionally anchored by this lane originating in #14900 itself, where ticket creation was deliberately blocked until operator direction. Structure-map gate: N/A (no .mjs created or relocated).

Related: Discussion #14900 (evidence record: provenance table, R1 byte-ledger, R2 prototypes, lint tool-runs) · #14370 (spine source PR) · #14416 (rebuild) · #14470 (move) · #14549/#14551 (paste-triage anchors) · #14310 (guides epic context).

Origin Session ID: 060c4ca7-7a56-4260-8962-f750b9e26bab Retrieval Hint: "front-door restoration 44b6da2d narrative spine collapsed defense layers" · commit range 44b6da2d..96d53c649