Skip to content

docs(readme): keep user-facing sections in plain, human language#130

Open
bepcyc wants to merge 1 commit into
mainfrom
claude/zealous-lovelace-2szabr
Open

docs(readme): keep user-facing sections in plain, human language#130
bepcyc wants to merge 1 commit into
mainfrom
claude/zealous-lovelace-2szabr

Conversation

@bepcyc

@bepcyc bepcyc commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Closes #114.

Why

The README leaked the implementation layer — issue numbers, spec IDs (VOICE-R2), internal component names (grounder, work_above_cp_j, interrupt_id, "credential probe"), and CI/release plumbing — into user-facing sections. To the actual target reader (a cyclist, not an engineer) that reads "built by megageeks for megageeks." This moves that detail out of the reader's way while keeping it findable (milestones, dev docs, source). ## For developers is untouched — it's the correct home for the tech.

The guiding lens (see my review on the issue): cut vs. translate. Pure author-POV plumbing gets cut; a true, load-bearing caveat gets translated into the user's vocabulary, not deleted — because for an honesty-first project, user-friendly never means hiding an inconvenient truth.

Changes (maps to the issue's proposed list)

# Section What changed
1 Roadmap Dev-changelog bullets → one plain user-outcome line per release. Codenames + sports-science framing kept; all #NN/spec IDs dropped; one milestone link added so the work stays findable.
2 intervals.icu note Translated to the load-bearing fact (auto-sync isn't in this build; upload files). Dropped 422, "credential probe", GET /v1/connections/available, "connector", "stock OSS container".
3 Released image Kept the user-relevant constraint (x86/Intel only — won't run on ARM/Apple Silicon/Pi); dropped "pinned snapshot / may trail these docs".
4 How it works Storage line trimmed to plain words (no "connection string" / "that one setting").
5 For developers Left as-is.

Plus a small adjacent cut: Quick start's "no extra migration step" → "no extra setup step".

The roadmap shift (the most visible change)

Before — a user meets issue numbers and internals:

- **#98** — VOICE-R2: turn the presentation strip into an allow-list so no internal metric
  code can ever leak into athlete-facing prose.
- **#95** — Surface the gathered activity id into the compose fact sheet so per-ride TSS
  claims are genuinely citable in production, not just in theory.
- **#103** — Scope the slow CI tiers to the change: a docs/text-only PR shouldn't pay the
  database, e2e, and image-build tax...

After — same release, framed as what the reader gets (codename/science kept):

For you, that means the honesty promise becomes something you can rely on rather than take on faith: the coach answers in plain words, and it can point you to the exact ride a number came from.

Acceptance check

A cyclist can now read the whole README and never meet an issue number, a spec ID, an internal component name, or a CI/release detail outside ## For developers. The detail stays findable (milestone link, dev docs, source) but is no longer pushed at the reader. Net diff is −19 lines.

Deliberately out of scope (follow-ups, not this PR)

  • A voice-contract + lint to stop regressions — the same allow-list pattern already shipped for the coach's prose. Worth its own issue.
  • The deeper ceiling: the only path in is still curl + token minting, so the medium (not just the words) caps how friendly Quick start can feel. Likely a separate "user-friendly path in" issue.

🤖 Generated with Claude Code

https://claude.ai/code/session_018NhEyetbQCmnw8obPg7Awp


Generated by Claude Code

The README leaked implementation detail — issue numbers, spec IDs,
internal component names, and CI/release plumbing — into user-facing
sections, so it read "built by megageeks for megageeks" to the actual
target reader: a cyclist, not an engineer. Move that detail out of the
reader's way while keeping it findable.

- Roadmap: rewrite the dev-changelog bullets as one plain user-outcome
  line per release. Keep the Banister / Coggan / Seiler codenames and
  the sports-science framing (the domain richness the target reader
  actually wants), drop every issue number and spec ID, and add a
  single milestone link so the work stays findable without being pushed
  at the reader.
- intervals.icu note: translate down to the load-bearing fact — auto
  sync isn't available in this build, upload files instead — and drop
  the 422 / "credential probe" / endpoint / connector internals.
- Released image: keep the user-relevant constraint (x86/Intel only;
  won't run on ARM / Apple Silicon / Pi) and drop the "pinned snapshot /
  may trail these docs" release-engineering note.
- How it works: trim the storage line to plain words (no "connection
  string" / "that one setting").
- Quick start: "no extra migration step" -> "no extra setup step".
- Leave ## For developers unchanged — the correct home for the stack,
  test tiers, and OpenAPI surface.

Honest caveats are translated into the user's vocabulary, not deleted,
in keeping with the project's honesty-first promise.

Closes #114

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NhEyetbQCmnw8obPg7Awp
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.

README leaks code-level internals into user-facing sections — keep the user layer separate from the implementation layer

2 participants