Skip to content

docs(readme): rebuild the landing surface around commands that now run - #556

Merged
beyondnetPeru merged 1 commit into
developfrom
docs/w4-landing-surface
Aug 16, 2026
Merged

docs(readme): rebuild the landing surface around commands that now run#556
beyondnetPeru merged 1 commit into
developfrom
docs/w4-landing-surface

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

Pull Request Summary

The README opened with a menu, an architecture diagram, and a link to a quickstart whose Step 1 invoked a script that does not exist. The working quickstart sat at line 227 of 389, behind a twenty-row Q&A accordion. Measured readership over the preceding fortnight: two unique visitors to the landing page.

What a stranger now sees first

A one-line positioning claim, one badge row, and an installable three-command block at line 16.

Then the section that does the work. "What just happened" quotes a real run of the published 1.3.0 in a container with nothing but Node — 133 checked / 26 skipped / 0 errored, 37 blocking, exit 2 — and then says what the numbers are for:

Nine of those 37 blocking issues are rules that were skipped. Not rules that failed — rules the engine could not decide, reported as failures because an undecided blocking rule is not a passing one.

Backed by a named invariant test rather than by adjectives: blocking-skipped-invariant.spec.ts.

Two sections that did not exist

"Use it as a PR gate" with the copyable uses: block. The README mentioned the GitHub Action nowhere, while action.yml has been Marketplace-shaped at the repository root for weeks.

"Why not ArchUnit, Conftest or dependency-cruiser?" — which opens by telling the reader to use them, and includes a column for where the neighbour is equal or better. It also states what is not built: no command in the installed CLI reaches an LLM, so the "LLM proposes, verifier disposes" half is labelled a documented direction. That paragraph exists because it is the first thing a skeptic greps for.

Numbers, and I had two of them wrong

The README claimed "137 ADRs, 163 rulesets, 45 schemas" and "47 tools, 9 resources". My own first count said 103 core ADRs and 382 rules. An independent measurement replicating the production loader corrected both:

Claim Was Is
ADRs 137 142 (excluding README/adr-matrix/authoring-standard)
Rules 163 "rulesets" 181 files carrying 412 rules
Schemas 45 50
MCP tools 47 52
MCP resources 9 12

The 382 → 412 correction is the interesting one: the normalizer reads rules ?? principles, so four principle-shaped packs contribute 30 rules my naive count missed.

It also caught a contradiction I had introduced. 412 is the corpus the Core carries; 159 is what one satellite's run selected. The README now says which is which — a report that blurred two denominators would be the exact defect this project exists to stop.

Quickstart rewritten

It made booting a Core API a mandatory Step 1 via ./.harness/scripts/run-core-local.sh — a file that does not exist — and promised a server on :30080 that no service in the compose file defines. It is now the three commands that work, plus what the numbers mean and the exit-code taxonomy (1 and 3 are not weaker forms of 2; they mean nothing was evaluated).

The server material moved to a new Self-hosting the Core API guide that opens by saying you do not need it, and that records the dead instruction rather than quietly deleting it.

Also: the Q&A accordion moves below Quick Start, the hero diagram below the fold, and the dead "Onboarding by role" table row is now a link.

Still open from the W4 plan

The asciinema demo is not in this PR. Everything it would record is now real and reproducible, but recording it needs a terminal capture I cannot produce here.

Before you submit

  • Sign-off (DCO)
  • Conventional Commits: docs(readme): …
  • Agnosticism: no technology dependency introduced
  • Bilingual: README, README.es, both quickstarts and both new guides — 19/19 headings matched, guard 04 green

The README opened with a menu, an architecture diagram and a link to a quickstart whose
Step 1 invoked a script that does not exist. The working quickstart sat at line 227 of 389,
behind a twenty-row Q and A accordion. Measured readership over the preceding fortnight:
two unique visitors to the landing page.

WHAT A STRANGER NOW SEES FIRST: a one-line positioning claim, one badge row, and an
installable three-command block at line 16. Then the section that does the work.

'What just happened' quotes a REAL run of the published 1.3.0 in a container with nothing
but Node -- 133 checked / 26 skipped / 0 errored, 37 blocking, exit 2 -- and then says the
thing the numbers are for: NINE of those 37 blocking issues are rules that were SKIPPED.
Not rules that failed; rules the engine could not decide, reported as failures because an
undecided blocking rule is not a passing one. Backed by a named invariant test rather than
by adjectives.

Added 'Use it as a PR gate' with the copyable  block. The README mentioned the
GitHub Action NOWHERE, while action.yml has been Marketplace-shaped at the repository root
for weeks.

Added 'Why not ArchUnit, Conftest or dependency-cruiser?' -- which opens by telling the
reader to use them. It also states what is NOT built: no command in the installed CLI
reaches an LLM, so the 'LLM proposes, verifier disposes' half is a documented direction and
is labelled as one. That paragraph exists because it is the first thing a skeptic greps for.

The Q and A accordion moves below Quick Start and the hero diagram below the fold. Convince
with the terminal; reward with the diagram.

NUMBERS, AND I HAD TWO OF THEM WRONG. The README claimed '137 ADRs, 163 rulesets, 45
schemas' and '47 tools, 9 resources'. My own first count said 103 core ADRs and 382 rules.
An independent measurement replicating the production loader corrected both: the normalizer
reads , so the corpus is 412 rules and not 382, and 142 is the ADR
count once README/adr-matrix/authoring-standard are excluded. Now: 142 ADRs, 181 ruleset
files carrying 412 rules, 50 schemas, 52 tools, 12 resources.

It also caught a contradiction I had introduced: 412 is the corpus the Core carries, 159 is
what one satellite's run selected. The README now says which is which, because a report
that blurred two denominators is the exact defect this project exists to stop.

QUICKSTART REWRITTEN. It made booting a Core API a mandatory Step 1 via
./.harness/scripts/run-core-local.sh -- a file that does not exist -- and promised a server
on :30080 that no service in the compose file defines. It is now the three commands that
work, plus what the numbers mean and the exit-code taxonomy. The server material moved to a
new 'Self-hosting the Core API' guide that opens by saying you do not need it, and that
records the dead instruction rather than quietly deleting it.

Also fixed the dead 'Onboarding by role' table row -- plain text where a link belonged.
@beyondnetPeru
beyondnetPeru requested a review from a team as a code owner August 16, 2026 22:29
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

Copy link
Copy Markdown

📊 Bilingual Coverage Impact

PR Changes

  • Paired EN/ES files modified: 3
  • New EN files needing ES translation: 0

Repository Coverage

Metric Value
Total EN files 531
Total ES files 502
Paired files 0
Coverage 0%

Good: All EN changes have ES counterparts.


Generated by GitHub Actions

@beyondnetPeru
beyondnetPeru merged commit ad1ff03 into develop Aug 16, 2026
32 checks passed
@beyondnetPeru
beyondnetPeru deleted the docs/w4-landing-surface branch August 16, 2026 22:35
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