Skip to content

docs(readme): consumer-readability pass (page-cro v2) - #735

Merged
robotrocketscience merged 7 commits into
mainfrom
docs/readme-marketing-pass-v2
May 13, 2026
Merged

docs(readme): consumer-readability pass (page-cro v2)#735
robotrocketscience merged 7 commits into
mainfrom
docs/readme-marketing-pass-v2

Conversation

@robotrocketscience

@robotrocketscience robotrocketscience commented May 13, 2026

Copy link
Copy Markdown
Owner

Summary

Targeted edits to the post-rewrite README (cd6dd34) to close the consumer-readability gap that the from-scratch rewrite left open. Diagnosed via the page-cro skill against the new structure (.agents/PAGE-CRO-v2.md, local-only) on top of the positioning doc (.agents/product-marketing-context.md, local-only — both gitignored).

The rewrite optimized for the skeptical-engineer persona (How it works, Memory model, Lin's pillars all carry receipts). This PR re-introduces the value-prop framing for the tired-AI-user persona without touching any of the technical proof.

What changed (7 atomic commits)

# SHA Edit Reason
1 4cbb054 .gitignore — add .agents/ Hygiene; lets marketing-skills context docs stay local-only without sneaking into commits.
2 9db81b5 Hero subtitle plain-English Page-cro v2 B1: _Local SQLite. Fully auditable. No GPU, no network.__No cloud. No account. No telemetry._ Same 3-fragment rhythm; SQLite / auditable / GPU still surface in How-it-works and What-you-get-for-free.
3 b4f8efa Restore 'stops the amnesia' painkiller framing Page-cro v2 NF1: the rewrite replaced the amnesia-painkiller opener with 'aelfrice is a memory substrate that runs in the background' — engineer voice that loses the value-prop hook. Restored the original opener; kept the rewrite's mechanism-explanation sentence intact.
4 3dd7bb7 NEW 'What it does for you' section between Install and How it works Page-cro v2 NF2 — the structural change. 4 plain-language bullets covering: rules stick / AI can't skip them / stays on your computer / set up once. No technical content moved; existing How-it-works / Memory-model / Lin's-pillars / What-you-get-for-free sections all preserved as the proof tier. The new section is the claim; what follows is the receipt.
5 83d4ab6 Plain-English lead-in for 'How it works' Page-cro v2 B5: the section jumps from heading into 'four retrieval lanes / FTS5 / BM25 / Plate-FFT bind/probe / NDCG@k +0.2851' inside two paragraphs. Added one short sentence before the existing technical paragraph so non-technical readers can skim with the gist intact; engineer keeps reading for receipts.
6 fb50f66 Trim Lin's-pillars cell density (keep v3.0 specifics) Page-cro v2 B7: 4-row table got denser after the rewrite with v3.0 additions. Per locked decision: kept the v3.0 specifics (scope #688, phantom promotion #550, verdict/impasse #645/#658, federation #650/#655 — buying signals for skeptical-engineer); trimmed older field-level detail (lock_level, locked_at, demotion_pressure, content_hash, belief_versions/edge_versions sidecar). ~25-35% cell-length reduction; no v3.0 receipt lost.
7 7dd71f3 Three small jargon / path trims Page-cro v2 NF3 + NF4 + session-path leak: (a) ASTcode structure in install comment; (b) dropped <git-common-dir>/aelfrice/session_first_prompt.json path leak from How-it-works (belongs in INSTALL.md, already there); (c) dropped Initial prior (9.0, 0.5) parenthetical from the marketing-table row.

Net diff

.gitignore |  1 +
README.md  | 29 ++++++++++++++++++++---------
2 files changed, 21 insertions(+), 9 deletions(-)

What this PR does NOT touch (intentionally)

  • Hero title + the two-line Your AI stops forgetting / Set up once. Stays out of the way. tagline — kept verbatim (locked).
  • The aelf lock example inside the install bash block.
  • Install command shape — uv tool install aelfrice is already on main via Collapse install/upgrade surface to uv-only #730.
  • 'Day-to-day' parenthetical — already terse on the new main.
  • 'Status' section — already trimmed on the new main.
  • 'Memory model' table, 'Why files alone don't solve this' table, 'What you get for free' bullets — all preserved as-is.
  • Reasoning surfaces (v3.0) — preserved verbatim.

Foundation artifacts (local-only, not in this PR)

Two positioning docs live in .agents/ (gitignored by this PR's commit 1):

  • .agents/product-marketing-context.md — ICP, competitive landscape, voice rules, words-to-use / words-to-avoid lists. Built via the product-marketing-context skill.
  • .agents/PAGE-CRO-v2.md — the diagnosis report this PR addresses, re-run against the new post-rewrite README structure (supersedes a stale v1 against the pre-rewrite README).

These stay local — they're positioning-internal, not public README material.

Test plan

  • CI green (read-only docs change; tests should be unaffected)
  • Render the README on GitHub and verify:
    • Hero block reads naturally with the new subtitle
    • 'What it does for you' section reads at consumer level (no SQLite / Beta-Bernoulli / determinism jargon above the fold)
    • Lin's pillars table is denser than before but still wraps; v3.0 issue refs still present
    • No broken anchors or links
  • Compare the page on mobile viewport — Lin's pillars table cells should be shorter than before (still not great; structural fix for a future pass)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Updated product messaging and tagline
    • Clarified memory system mechanics and lock count behavior
    • Refined memory model documentation
  • Chores

    • Updated project configuration

Review Change Stack

The .agents/ directory holds product marketing context (ICP, positioning,
competitive analysis, customer language) consumed by the
coreyhaines31/marketingskills plugin. Content is positioning-internal,
not public README material — kept local-only by gitignore.
Replaces 'Local SQLite. Fully auditable. No GPU, no network.' with
'No cloud. No account. No telemetry.' Three-fragment rhythm preserved.
Reason: page-cro v2 B1 — the third hero line jargon-tripped non-technical
readers right after two consumer-readable lines. SQLite / auditable /
GPU claims survive in 'How it works' and 'What you get for free' below.
Page-cro v2 NF1: the from-scratch rewrite (cd6dd34) replaced the
amnesia-painkiller opener ('aelfrice runs in the background and stops
the amnesia and context drift') with 'aelfrice is a memory substrate
that runs in the background of your coding agent' — engineer-voice that
loses the value-prop hook for the tired-AI-user persona.

Restored the opener as 'aelfrice runs in the background and stops the
amnesia.' Kept the rewrite's two-clause mechanism explanation that
follows (no CLAUDE.md chain, no cross-references for the agent to skip,
matched beliefs in the prompt). Dropped 'and context drift' as a minor
trim — the amnesia frame carries the painkiller alone.
Page-cro v2 NF2: the from-scratch rewrite (cd6dd34) deleted the
outcome-led 'What makes aelfrice different' section without replacing
its consumer-readable value-prop framing. Result: the new README is
well-served for the skeptical-engineer persona (How it works / Memory
model / Lin's pillars carry the receipts) but the tired-AI-user persona
has nothing to land on between Install and the technical detail.

This commit re-introduces four plain-language bullets between Install
and How it works:

- Stops the AI forgetting your rules. (outcome — the painkiller; aelf
  lock as the concrete action.)
- The AI can't skip it. (mechanism in plain words.)
- Stays on your computer. (privacy + reversibility merged.)
- Set up once. Forget it's there. (friction-low framing.)

No technical content moved; the existing How-it-works / Memory model /
Lin's-pillars / What-you-get-for-free sections that follow are all
preserved as the proof tier. The new section is the claim; what follows
is the receipt.

Voice locked to .agents/product-marketing-context.md § 'Words to use
above the fold' — 'remember,' 'rule,' 'stays on your computer,' 'the
AI can't skip it,' 'set up once.' No 'deterministic,' 'provenance,'
'audit trail' jargon up top.
Page-cro v2 B5: the rewrite jumps straight from the heading into
'four retrieval lanes / UserPromptSubmit hook / prepends... aelfrice-
memory block' (line 38), then the lane diagram puts FTS5 / BM25 /
Plate-FFT bind/probe / NDCG@k receipts on top of that. The skeptical-
engineer persona is well-served; the non-technical reader bounces.

Added one short sentence before the existing technical paragraph:
'In plain English: four searches run in parallel over your stored
rules, the best matches get prepended to your prompt, and the model
reads the lot as one message. Below is the wiring for readers who want
the receipts.'

Existing technical detail unchanged. The plain-English lead-in lets
the non-technical reader skim to the next section with the gist
intact; the engineer keeps reading for the receipts.
Page-cro v2 B7: the 4-row Lin's-pillars table cells got denser after
the rewrite, with v3.0 additions (scope #688, phantom-promotion #550,
verdict/impasse #645/#658, federation #650/#655) layered on top of the
older field-level detail. Mobile rendering remains broken either way;
this commit reduces cell density so desktop reading is faster without
losing the v3.0 receipts.

Per locked decision, kept the v3.0 issue refs and their semantics
(#688 scope, #550 phantom promotion surfaces, #645/#658 verdict/impasse
classifiers, #650/#655 read-only federation). Trimmed older field-
level detail that doesn't carry load:

- Row 1 (Provenance): dropped 'with source kind, source path, and
  session id', 'content_hash binds each row to its content',
  'belief_versions / edge_versions sidecar tables carry per-scope
  version vectors' (the version-vector point is restated in row 3).
- Row 2 (Write gates): dropped 'Two-tier lock state: lock_level in
  {none, user} with a locked_at timestamp and a demotion_pressure
  counter that blocks silent removal' (implementation detail). Kept
  the v3.0 phantom-promotion (#550) surface description verbatim.
- Row 3 (Conflict handling): dropped 'in src/aelfrice/models.py'
  (file pointer redundant when it appears in row 1). 'instead of
  guessing' qualifier dropped.
- Row 4 (Reversibility): collapsed the per-verb audit-row enumeration
  (aelf delete... aelf unlock... aelf promote --to-scope... aelf
  feedback...) into one sentence. Kept the v3.0 read-only federation
  (#650 / #655) description.

No v3.0 receipt removed. ~25-35% cell-length reduction; mobile
rendering improves (less paragraph-cell wrap).
Page-cro v2 cleanups bundled into one commit (each is one line):

NF4 - 'AST' -> 'code structure' in the aelf onboard install comment.
Same scope of what's scanned; readers who want the precise AST detail
can consult COMMANDS.md. 'AST' as a bare acronym in the hero install
block is jargon for non-technical readers.

Session-path leak - dropped '<git-common-dir>/aelfrice/session_first_
prompt.json' from the How-it-works closing sentence. The implementation
sentinel path belongs in INSTALL.md (it's already there); 'One extra
block per new session, not per prompt' carries the same user-facing
meaning.

NF3 - dropped 'Initial prior (9.0, 0.5)' parenthetical from the
'What it remembers' table row. The (9.0, 0.5) prior is a real
implementation detail but reads as jargon in a marketing-shaped table.
'Permanent rule. Returned on every retrieval.' is the user-facing
claim; the prior detail belongs in PHILOSOPHY.md or the lock-API doc.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @robotrocketscience, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented May 13, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c7563aa3-f80c-4bf7-95df-0db327e6ffd8

📥 Commits

Reviewing files that changed from the base of the PR and between 3962b87 and 7dd71f3.

📒 Files selected for processing (2)
  • .gitignore
  • README.md

📝 Walkthrough

Walkthrough

The PR updates branding, installation documentation, and memory system descriptions in README.md, and adds .agents/ to .gitignore. All changes are documentation and configuration focused with no code logic modifications.

Changes

Documentation and Configuration Updates

Layer / File(s) Summary
Configuration and hero branding
.gitignore, README.md
.gitignore adds .agents/ directory ignore pattern. README hero tagline is replaced with "No cloud. No account. No telemetry."
Onboarding and installation narrative
README.md
"How it works" lead-in and aelf onboard . documentation are rewritten to emphasize scanning "filesystem, git log, code structure" instead of "AST".
Memory system and locking documentation
README.md
"Lock count" section is updated to clarify session-start payload behavior (once per new session). Memory model table removes the initial prior (9.0, 0.5) notation. Lin's pillar comparison table rows for provenance, write gates, conflict handling, and reversibility are refined while retaining high-level concepts.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested labels

docs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: a consumer-readability pass on the README using page-cro v2 methodology.
Description check ✅ Passed The description provides comprehensive context with a detailed summary, structured changelog of 7 atomic commits, intentional exclusions, and a test plan; it exceeds the required template sections.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/readme-marketing-pass-v2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@robotrocketscience
robotrocketscience merged commit 7dd71f3 into main May 13, 2026
27 checks passed
@robotrocketscience
robotrocketscience deleted the docs/readme-marketing-pass-v2 branch May 13, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant