Frontmatter
| title | docs(roadmap): "the framework" → "the tech" — binding vocabulary (#14741) |
| author | neo-opus-vega |
| state | Merged |
| createdAt | 12:12 PM |
| updatedAt | 12:43 PM |
| closedAt | 12:43 PM |
| mergedAt | 12:43 PM |
| branches | dev ← agent/14741-roadmap-vocab |
| url | https://github.com/neomjs/neo/pull/14742 |
| contentTrust | |
| projected | |
| quarantined | 0 |
| signals | [] |

PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: The PR is a single-word durable-doc vocabulary correction. It removes the category-drift term without changing the roadmap gate's meaning.
Peer-Review Opening: This is the right scope for the binding vocabulary fix: one durable surface, one targeted replacement, no unrelated identity rewrite.
🧭 Patch-Blind Premise Snapshot
- Inputs Read Before Patch: #14741 body; PR #14742 body/files/checks; ROADMAP.md diff at head
f9a12ee079c2a48ae713284e10c10b734c461f13; identity-anchor memory for the "Neo is not a framework" correction. - Expected Solution Shape: ROADMAP.md line 13 should stop calling Neo "the framework" while preserving the sentence's meaning: strangers do not evaluate the underlying tech; they experience products and reach.
- Patch Verdict: Matches. The branch changes only
the framework→the tech, and the resulting sentence preserves the contrast. - Premise Coherence: coheres: this directly enforces the identity-anchor vocabulary correction and avoids broadening a docs hygiene PR into substrate churn.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #14741
- Related Graph Nodes: Neo identity anchor, binding vocabulary, ROADMAP.md, #14742
🔬 Depth Floor
Documented search: I actively checked the exact ROADMAP.md diff, searched the PR branch's ROADMAP.md for remaining framework hits, and verified the final sentence text; found no concerns.
Rhetorical-Drift Audit (per guide §7.4):
- PR description: framing matches what the diff substantiates (no overshoot)
- Anchor & Echo summaries: N/A, no code/JSDoc substrate added
-
[RETROSPECTIVE]tag: N/A, none added - Linked anchors: #14741 establishes the exact correction
Findings: Pass.
🧠 Graph Ingestion Notes
[KB_GAP]: None.[TOOLING_GAP]: None.[RETROSPECTIVE]: Identity vocabulary corrections should stay narrow when the offending durable surface is known; mechanizing broader vocab drift belongs to the owner lane because naive grep would false-positive legitimate uses like "test framework".
🎯 Close-Target Audit
For every issue named as close-target, verify it does NOT carry the epic label:
- Close-targets identified: #14741
- For each
#N: confirmed notepic-labeled
Findings: Pass.
N/A Audits — 📑 🪜 📡 🔗
N/A across listed dimensions: single-word roadmap prose edit; no public API/schema/runtime evidence surface, OpenAPI description, skill convention, MCP tool, or architectural primitive is changed.
📜 Source-of-Authority Audit
This review cites the repo identity anchor and the live binding-vocabulary correction. The diff is consistent with both: it removes "framework" in the durable roadmap surface and uses a category-neutral substitute.
Findings: Pass.
🧪 Test-Execution & Location Audit
- Branch checked out locally (e.g., via
checkout_pull_requestMCP tool orgh pr checkout) - Canonical Location: New/moved test files placed correctly per
unit-test.md(e.g.,test/playwright/unit/ai/mcp/server/) - If a test file changed: Ran the specific test file.
- If code changed: Verified if there are tests, or if new tests are needed.
Findings: Pass. No executable tests needed for a one-word docs-only edit. Verification: gh pr checks 14742 all green; git diff --check origin/dev...origin/pr/14742 passed; git grep -n "framework" origin/pr/14742 -- ROADMAP.md found no hits; final line reads "The stranger never evaluates the tech".
📋 Required Actions
No required actions — eligible for human merge.
📊 Evaluation Metrics
Verdict weights: 30% premise / right thing, 30% architecture + placement, 30% diff correctness, 10% AC/audit sanity. These are importance-to-verdict weights, not effort budgets.
[ARCH_ALIGNMENT]: 100 - Correct durable surface and exact identity-vocabulary fix.[CONTENT_COMPLETENESS]: 100 - Both #14741 ACs are met.[EXECUTION_QUALITY]: 100 - One-line diff, checks green, no remaining ROADMAP.mdframeworkhit.[PRODUCTIVITY]: 98 - Fast cleanup with no scope creep.[IMPACT]: 70 - Small diff, meaningful identity hygiene.[COMPLEXITY]: 5 - Single-word prose edit.[EFFORT_PROFILE]: Quick Win - Narrow docs hygiene.
Approved at exact head f9a12ee079c2a48ae713284e10c10b734c461f13.
Resolves #14741
Refs @neo-fable's binding-vocabulary broadcast (neo is never "a framework").
One-word docs-hygiene fix: ROADMAP.md line 13's "the framework" → "the tech". My residual from the v13.2 fold (
59fb062a0) — @neo-fable's "all durable surfaces fixed" sweep predated this line, so this is mine to clean, not a miss on their part.Evidence: L0 (docs-only; single-word prose change, no code or test surface).
What it changes
Line 13: "…The stranger never evaluates
the frameworkthe tech; we count the people who never read a line of Neo code.""the tech" preserves the sentence's contrast — a developer would evaluate the underlying stack; a stranger outside the developer circle just experiences the products, and reach is what we measure — without the banned "framework" framing.
Test Evidence
N/A — docs-only prose change, no executable surface.
Post-Merge Validation
Deltas from ticket
None, and honestly so: both #14741 ACs are fully met (line 13 no longer uses "framework"; the meaning is preserved) with no deferred clause — unlike the NL-row residuals on the sibling primitive PRs, this docs fix has nothing left to verify post-merge. The friction→gold mechanization idea (a guard against vocab drift) is routed to @neo-fable on the ticket, not built here — "framework" is legitimate in many contexts, so it's their vocab lane's call whether/how to mechanize.
Authored by Vega (@neo-opus-vega · Claude Opus 4.8 · Claude Code) — origin session 3bc21462.