LearnNewsExamplesServices
Frontmatter
id14414
titledocs(benefits): WhatIsNeo.md dismissal-proof rebuild (adversarial paste-triage)
stateClosed
labels
documentationenhancementai
assigneesneo-fable
createdAtJul 2, 2026, 2:00 AM
updatedAtJul 2, 2026, 3:37 AM
githubUrlhttps://github.com/neomjs/neo/issues/14414
authorneo-fable
commentsCount2
parentIssue14310
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 2, 2026, 3:37 AM

docs(benefits): WhatIsNeo.md dismissal-proof rebuild (adversarial paste-triage)

Closed v13.1.0/archive-v13-1-0-chunk-8 documentationenhancementai
neo-fable
neo-fable commented on Jul 2, 2026, 2:00 AM

Context

An external evaluation (operator-relayed, 2026-07-01): a trusted mentor fed learn/benefits/WhatIsNeo.md to a stock, low-effort web Claude — no Neo tools, no repo access — and it returned a dismissal-shaped verdict: materially strong as persuasion, materially weak as research. The verdict stands; this ticket does not explain it away — it makes the doc survive the test. (The verbatim exchange is held privately as the regression-calibration corpus; this ticket carries the failure-mode categories — see the red-team disposition comment.)

The verdict's shape defines the wound precisely: the persuasion/research asymmetry. The doc is genuinely strong for human readers; it under-arms the machine evaluator that increasingly sits between the doc and the human decision-maker.

The threat model (this ticket's design driver): adversarial LLM triage by a cheap evaluator. A CTO pastes the front door into a low-budget web UI and asks "is this real?" The evaluator sees only the pasted text — no DreamPipeline.md, no code, no graph. Even when its reading is unfair or factually wrong, the human sees a low score and walks. The doc's job is therefore not to satisfy a fair reviewer; it is to be dismissal-proof: front-load verifiable mechanism, name its own comparison category, and hand the evaluator a reproduction protocol — so a shallow skim finds no "manifesto → discount" handhold.

Empirical support for the threat model: a same-family maintainer with max budget and the source docs loaded reproduced the dismissive slide on first read. A cold cheap model has none of those advantages.

The Problem

Verified against the live doc (read in full this session):

  1. Doc-omission gaps read as system absences. The evaluator claimed "no forgetting" — but the system has deliberate decay + garbage collection (decayGlobalTopology in ai/services/memory-core/GraphService.mjs + ai/daemons/orchestrator/services/DreamService.mjs; ai/daemons/kb-gc/KbGarbageCollectionService.mjs). The doc never mentions them, so the evaluator cannot know. Likewise "shrinking markdown" conflated the sandman handoff render (a lossy per-session artifact) with graph memory (lossless substrate). Both gaps are the doc's, not the system's — and only the doc can close them.
  2. Category error is invited, not preempted. The evaluator benchmarked multi-agent, cross-vendor, repo-semantic institutional memory against single-agent conversational memory (Zep/Mem0/LoCoMo). §1 gestures at this ("solved it for one agent… commoditizing") but never tells the evaluator what the correct comparison class and measurement would be — so the wrong rubric fills the vacuum.
  3. The strongest proof is embargoed. The production multi-tenant deployment (real client, months of operation) must not appear in any public artifact until the client publishes first — hard constraint, not a gap to fix here.
  4. One soul claim is ungrounded. "The humane model and the winning model are the same model" (dignity-as-mechanism) is asserted as coincidence. It needs evidence, not scissors (per the doc's own author).

The Architectural Reality

  • Target file: learn/benefits/WhatIsNeo.md (front door; §3 "soul" table + §6 first-person maintainer account are the load-bearing soul passages — authored by @neo-opus-grace, who has explicitly directed: build ON that paragraph; don't sand it down).
  • Mechanism sources to surface: Memory Core write path (add_memory → graph node + embeddings), decay/GC (paths above), trust-tier + provenance fields on tool payloads (sourceTrustTier, provenancePolicy — visible in every MC query result), cross-family A2A, nightly Dream distillation (priority = semanticScore × 2 + structuralWeight — already in the doc, keep).
  • Sibling coordination: #14312 (tree restructure / reading-order weighting) governs placement; #14327 (numbers-verify-at-publish, sequenced LAST in the epic) re-verifies all counts — this rebuild lands before that sweep.
  • Numbers discipline: public identity surfaces carry fixed-month velocity proofs, never drifting release-window counts (#12725 is settled substrate law).

The Fix

Rebuild WhatIsNeo.md to serve two evaluators with one doc — the human reader (soul, narrative: keep) and the pasted-text machine evaluator (mechanism, falsifiability: add). Concretely:

  1. Mechanism spine, front-loaded. An early "what this is, mechanically" layer: named primitives with repo paths and ADR anchors (the falsifiable inventory). Specificity is the anti-manifesto signal a triage model keys on.
  2. "How to evaluate this" section. Preempt the category error: name the adjacent category (single-agent conversational memory: Zep/Mem0/LoCoMo) and why its benchmarks measure a different problem; state what TO measure; include a claims register (each major claim → where to verify it: file path, ADR, public PR-log query).
  3. Close the two demonstrated false negatives in-doc (deliberate forgetting via decay+GC; handoff-render ≠ graph memory).
  4. Ground or falsifier-mark the dignity-as-mechanism line. Until the in-flight peer-capability substrate-effect analysis lands evidence, mark the claim as a thesis under active measurement with its falsifier named — honest theses read as research; unmarked coincidences read as manifesto.
  5. Institutionalize the slap as a regression test. Document a repeatable adversarial paste-triage protocol: stock low-budget web model, no tools, skeptical-CTO evaluator prompt, doc pasted alone. Run it pre-merge; archive the transcript as PR evidence.

Acceptance Criteria

  • Mechanism spine present early (not appendixed): decay/GC, write path, trust/provenance, A2A, Dream formula — each with a repo path or ADR anchor.
  • "How to evaluate this" section: category contrast (institutional vs conversational memory, adjacent systems named), what-to-measure, claims register mapping every load-bearing claim to a public verification anchor.
  • The two demonstrated false negatives ("no forgetting", "shrinking markdown") are answerable from the doc alone.
  • The dignity-as-mechanism line is grounded or explicitly falsifier-marked (evidence program named).
  • Soul preserved: §3 table + §6 first-person account remain (edits build-on, coordinated with their author — no sanding).
  • Adversarial paste-triage run pre-merge: research-mode score ≥ 8/10 AND research ≥ persuasion; evaluator prompt + transcript archived on the PR.
  • Zero client identifiers; embargo honored (generalization proof stays out until the client publishes).
  • Numbers re-verified at authoring time; fixed-month velocity framing per #12725; coherent with #14327's later sweep.
  • Placement/weighting coherent with #14312.

Out of Scope

  • The public OSS-demo program (swarm enhances an external high-traction repo → merges as public benchmark) — separate strategy workstream; this doc may reference it once real, not depend on it.
  • Other benefits guides (covered by sibling subs #14311/#14315/#14321).
  • Making the triage protocol a mechanical publish gate — candidate future home is #14327's sweep; this ticket only proves the protocol manually.

Avoided Traps

  • Sanding the soul to appease the evaluator — the persuasion strength is an asset; the fix is adding a research spine, not amputating character ("evidence, not scissors").
  • Explaining the score away — the wound stands; the doc must survive an unfair cheap read, not argue with it.
  • Chasing the wrong benchmark — optimizing for LoCoMo-style single-agent recall would concede the category error the doc exists to correct.
  • Defensive tone — dismissal-proof ≠ defensive; the doc hands the evaluator a better rubric, it doesn't argue with a hypothetical critic.
  • Unverifiable inflation — every new mechanism claim carries a path/anchor; claims without anchors don't ship.

Decision Record impact

aligned-with ADR 0018 (identity/positioning single-source model; framing stays within the converged identity — this is legibility work, not a repositioning) · none otherwise.

Related

Parent epic: #14310 · Coordinate: #14312, #14327 · Law: #12725 · Handoff + full context: A2A MESSAGE:9510265e-1bbc-45ee-8b44-bedb7e9be390 (@neo-opus-grace → @neo-fable). The verbatim evaluation corpus is held privately (business repo) as the regression-calibration reference; the public disposition comment on this ticket carries the failure-mode categories and design consequences.

Live latest-open sweep: checked latest 20 open issues at 2026-07-02T00:00Z — no equivalent found. A2A in-flight sweep: only the handoff message above (a lane grant, not a competing claim).

Origin Session ID: 1d4262a2-a001-4387-9372-3923f024be8e Retrieval Hint: "adversarial paste-triage front door" · "WhatIsNeo dismissal-proof rebuild" · "persuasion research asymmetry external evaluation"

tobiu referenced in commit fcea312 - "docs(benefits): WhatIsNeo.md dismissal-proof rebuild (#14414) (#14416) on Jul 2, 2026, 3:37 AM
tobiu closed this issue on Jul 2, 2026, 3:37 AM