Repository navigation
docs(#1932): rewrite the README as a short, product-first page - #1933
Conversation
About 590 words of prose, with one diagram and one quick start block. Detail moved to docs/whats-inside.md, docs/badges.md, docs/status-band.md and docs/harnesses/. Both contributor sections stay. Adds the AgDR and ORBIT links. Refs #1932 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #1932 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
atlas-apex
left a comment
There was a problem hiding this comment.
CHANGES REQUESTED. Two blocking findings stay open. One is lost content. One is a false statement in two durable docs. Both fixes are small. Apply them, then ask for a delta re-review. The rest of the rewrite is good: links resolve, contributor credits are unchanged, and no paid or cloud text was added.
Code Review: PR #1933
Commit: ec6b41d0bd8c65045df7eabe385372662514ed75
Scope: Full
Summary
The PR replaces the 2,683-word README with a short product page. It moves detail to docs/whats-inside.md, new docs/badges.md, new docs/status-band.md, and docs/harnesses/README.md. Most removed sections have a home in docs/. Three statements from the install and adapter text have no home. The PR also removes the last two "for Claude Code" statements from the README, but the harness docs still say that the tagline stays.
Where each removed section went:
| Removed README section | Home at this commit | Result |
|---|---|---|
| AI can build quickly | New README intro | Pitch lines partly dropped. See Suggestions. |
| What is inside | docs/whats-inside.md |
Kept |
| Marketing site note | docs/whats-inside.md:10 |
Kept |
| AGENTS.md note | README Further reading | Kept, shorter |
| Quick Start: one command | docs/getting-started.md Step 1 |
Two install event statements lost. See Finding 1. |
| Alternative: fork and go, steps 1 to 6 | docs/getting-started.md, docs/multi-project.md |
Steps kept. Adapter note lost. See Finding 1. |
| Status band | docs/status-band.md |
Kept |
| Using another AI coding tool | docs/harnesses/README.md:25-34,59, docs/getting-started.md:15 |
Kept |
| Roles, workflows and templates | docs/whats-inside.md:77-176 |
Kept |
| Badges | docs/badges.md |
Kept |
| Customization | docs/getting-started.md:479 |
Kept |
Acceptance Criteria
| Issue | Criterion | Status | Evidence |
|---|---|---|---|
| #1932 | The README has about 700 words, a contents list, one Mermaid diagram and one quick start block. | Met | 645 words before ## Contributors, by wc -w. 541 words without the header, code and comment. Contents at README.md:45. Diagram at README.md:35. Quick start block at README.md:81. |
| #1932 | Each removed section exists in docs/, and the README links to it. |
Not met | Sections exist and the README links them. Three statements exist in no doc. See Finding 1. |
| #1932 | Both contributor sections stay. | Met | Zero avatar lines changed in the README diff. Both sections are at README.md:136 and README.md:156. |
| #1932 | No exact component counts, no paid tier mention, no new security claim, no invented number. | Met | The word scan found no paid, pricing, cloud, or hosted text. The README has no component count. "Shell hooks block unsafe actions" is base text. |
| #1932 | Plain English. No em or en dashes. | Met | The byte scan found zero dashes in README.md, docs/badges.md, and docs/status-band.md. The added lines in the two edited docs have none. |
Checklist Results
- Architecture & Design: N/A. The diff has no code.
- Code Quality: N/A. The diff has no code.
- Testing: N/A. The diff has no code or test. The PR body states that it is docs only.
- Security: N/A for code. No secret was added. Finding 1 covers a dropped privacy statement as lost content.
- Performance: N/A. The diff has no code.
- PR Description & Glossary: ✅ Summary, ticket link, and Glossary are present.
- Summary Bullet Narrative: ✅ The Summary is prose and it states the what and the why.
- Technical Decisions (AgDR): N/A. The PR makes no technical decision. Finding 2 covers the product decision on the headline.
- Adopter Handbooks: ✅ The public and private general handbooks are advisory and have no finding. Architecture and language handbooks do not apply to this diff.
- Fallow Static Analysis (JS/TS): N/A. The diff has no JS or TS file.
Issues Found
Finding 1 (blocking, kind 4 and acceptance criterion 2): three statements are lost. Basis: Observed.
The base README had these statements. They exist in no file under docs/ at this commit:
- Base
README.md:103-104: the install event "never holds a repo, organisation, user name, path or code."docs/getting-started.md:63-66lists the four fields, but it does not give this limit. This is the privacy promise for the event. - Base
README.md:105: "The CLI prints a notice on first run."docs/getting-started.mddoes not state this. - Base
README.md:113-115: users of opencode, pi, or Codex install the adapter before the configuration steps, and each step has a manual file option. The setup guides give the manual steps, but they do not give this order.
Statements 1 and 2 are correct at this commit. bin/_lib-telemetry.sh:28 prints the same limit, and telemetry_notice_once shows it one time. Only the durable doc text is gone.
Fix: add statements 1 and 2 after docs/getting-started.md:66. Add statement 3 to the fork section of docs/getting-started.md.
Finding 2 (blocking, kind 3): the harness docs become false about the tagline. Basis: Observed.
The base README had two "for Claude Code" statements: the badge at base README.md:14 and the note at base README.md:69. The PR removes both. The README at this commit has zero matches for "for Claude Code". The new headline does not name a tool.
After this merge, these lines are false or have no support:
docs/harnesses/README.md:15-17: "The primary tagline remains "for Claude Code."" and "The headline needs a separate product decision before it changes."docs/harnesses/README.md:72: "The headline stays "for Claude Code"".docs/harnesses/README.md:78: the flip "remains pending", and "the framework keeps the Claude-Code tagline".docs/conformance-ci.md:50: the tagline decision "stays a separate, deliberate, coordinated call."
Issue #1932 records no such decision, and it has no comments. The base hero line also did not name Claude Code, so the docs were already loose. This PR removes the two statements that gave them support. It also edits docs/harnesses/README.md two lines above the Positioning note.
Fix: the owner picks one option.
- Option A: keep the "built for Claude Code" badge and one "Built for Claude Code first" line in the README.
- Option B: record the product decision, and update the four places above in this PR. The site and channel steps in
docs/harnesses/README.md:78then need a follow-up.
Suggestions
- suggestion: Four base statements have no home in
docs/: "There is no service to run and no hosted lock-in", "It requires no runtime or service", the stack history at baseREADME.md:36-37, and the closing line "Built with real-world experience shipping software with Claude Code." The new intro covers part of the first two. These lines are pitch text, so I did not block. The PR body says that nothing is deleted. Either move the lines todocs/whats-inside.md, or state that the cut is deliberate. - suggestion: The "no sudo" comment on the base install line is in no doc. Add it to
docs/getting-started.md:38if the statement is still correct. - suggestion: "The miss becomes a rule" reads as automatic. The real path is
/codify-rule, which needs operator approval on each rule. Consider a link to that skill or todocs/knowledge-base.md. - nit:
docs/whats-inside.mdstill states 55 hooks and 68 skills. The base README stated 60 and 69. This tree has 70 skill folders. The gap is pre-existing. The page is now the only place with counts, so a follow-up ticket is useful. - nit: Issue #1932 says that the base README had about 2,400 words. The measured total is 2,683, which matches the PR body.
Validation
CI, one read of the check list for this PR head:
- Pass: hook test suite, markdownlint-cli2, check, records-lint, report, tier, Verify Ticket ID, CodeQL, Analyze (actions).
- Skipped: conformance, nightly-failure, hook tests matrix.
Checks in the PR worktree at the reviewed commit:
- I read the head README, the two new docs, the two edited docs,
docs/getting-started.md,docs/harnesses/README.md, andbin/_lib-telemetry.shin full. I read the base README to its contributor list, and the diff hunks after that point. I readdocs/multi-project.mdto line 793 and its later headings. - Relative links: every README target exists, including the four adapter scripts.
plugins/apexyard-status/README.mdexists. - Anchors: the contents list matches the headings.
docs/whats-inside.mdhas#marketing-site,#more-ways-apexyard-differs, and#roles. - Inbound links: a repo search found no link to a removed root README anchor. The
README.md#rebrand-triggerlinks point to the harness page. - External links:
agdr.devandorbitspec.devreturned HTTP 200.me2resh/apexyard-siteis a public repo. docs/multi-project.mdhas the "Directory layout", "Daily workflow", and "FAQ" sections that the README names./handoveroffers the badge:docs/multi-project.md:825, step 8.6.
Limits:
- Unverified: the Mermaid diagram was not rendered. The syntax reads as valid.
- I did not run the hook suite, because CI owns it and the diff has no code.
- The search for lost statements used targeted text searches in
docs/. The search covers the statements listed above. It does not prove that each removed word has a copy.
Verdict
CHANGES REQUESTED
Acceptance criterion 2 is Not met, because three statements are lost from the project docs. The PR also makes durable docs false about the tagline. No approval marker was written. After both fixes, request a delta re-review.
🤖 Reviewed by Rex (Code Reviewer Agent)
📌 Reviewed commit: ec6b41d0bd8c65045df7eabe385372662514ed75
atlas-apex
left a comment
There was a problem hiding this comment.
CHANGES REQUESTED. One blocking finding stays open. It needs a one-sentence change in docs/conformance-ci.md:50. Finding 1 is resolved. Finding 2 is partly resolved. Apply the fix, then ask for a delta re-review. No approval marker was written.
Code Review: PR #1933
Commit: fe73ae9cc51f94cf727ee28c922edfb058611ba5
Scope: Delta re-review, ec6b41d0bd8c65045df7eabe385372662514ed75..fe73ae9cc51f94cf727ee28c922edfb058611ba5. Review round 2.
Summary
The prior review is review ID 5721496508, at ec6b41d0. I read its body from the forge by ID. The delta has two commits, and it changes docs/getting-started.md, docs/harnesses/README.md, and docs/conformance-ci.md. The README did not change. The PR has no merge commit and no rebase. ec6b41d0 is an ancestor of the head.
The delta restores all three lost statements. It records the tagline decision and updates the four stale lines. One updated line states a wider scope than the decision record.
| Issue | Criterion | Status | Evidence |
|---|---|---|---|
| #1932 | The README has about 700 words, a contents list, one Mermaid diagram and one quick start block. | Met | The delta does not touch the README. Prior evidence in review 5721496508 stands. |
| #1932 | Each removed section exists in docs/, and the README links to it. |
Met | The three lost statements are at docs/getting-started.md:65, :67 and :107. The four pitch lines stay advisory. See Suggestions. |
| #1932 | Both contributor sections stay. | Met | The delta does not touch the README. |
| #1932 | No exact component counts, no paid tier mention, no new security claim, no invented number. | Met | I read the delta. It adds none of these. |
| #1932 | Plain English. No em or en dashes. | Met | I read each added line in the delta. None has a dash. |
Checklist Results
- Architecture & Design, Code Quality, Testing, Performance: N/A. The delta has no code.
- Security: N/A for code. Finding 1 restored the privacy statement. No secret was added.
- PR Description & Glossary: ✅ Summary, ticket link and Glossary are present. See Suggestions for a stale body.
- Summary Bullet Narrative: ✅ Same result as review 5721496508. The delta does not change the Summary.
- Technical Decisions (AgDR): N/A. The tagline choice is a product decision. The delta makes no technical decision.
- Adopter Handbooks: ✅ Same result as review 5721496508. The delta is docs text only, so no new handbook applies.
- Fallow Static Analysis (JS/TS): N/A. The delta has no JS or TS file.
Issues Found
Finding 1 (prior, blocking): resolved. Basis: Observed.
docs/getting-started.md:65has "It never holds a repo, organisation, user name, path or code."bin/_lib-telemetry.sh:28prints the same limit.docs/getting-started.md:67has "The CLI prints a notice on first run."telemetry_notice_onceatbin/_lib-telemetry.sh:22supports it.docs/getting-started.md:107gives the adapter order in the fork section. The new step words fit the new page.
Finding 2 (prior, blocking): partly resolved. Open part is below. Basis: Observed.
The stale "tagline remains" and "remains pending" text is gone from all four places. Issue #1932 now has a decision record in comment 6539857783. docs/harnesses/README.md:82 matches that record: the README drops the tagline, and other files change in a later pass.
Finding 3 (blocking, kind 3, open part of Finding 2): docs/conformance-ci.md:50 states a wider decision than the record. Basis: Observed.
The record says: drop the tagline "from the README". "It" then states agent-agnostic positioning. docs/conformance-ci.md:50 says: "Owner decision 2026-10-31: the framework is agent agnostic and drops the "built for Claude Code" tagline". That line names the framework, not the README. The commit that scoped the decision to the README did not change this file.
Two durable docs now disagree on the scope of one decision. docs/harnesses/README.md:82 says that other files change later. docs/conformance-ci.md:50 has no such limit, and a reader can conclude that the framework-wide change is complete. It is not. At this head, CLAUDE.md:1 reads "A Multi-Project Forge for Claude Code", and 159 Part of [ApexYard] footer lines read "framework for Claude Code".
One fact limits this finding. The exact phrase "built for Claude Code" exists only in the decision notes at this head. The base harness page gave the tagline as "for Claude Code", and that form remains.
Fix: replace the sentence in docs/conformance-ci.md:50 with this text.
Owner decision 2026-10-31: the README drops the "built for Claude Code" tagline. It states agent-agnostic positioning, with Claude Code as the default driver (see
docs/harnesses/README.md).
In the same commit, align docs/harnesses/README.md:15-16 and :73-74. These lines have the same wider wording, but line 82 of the same page gives the scope. Use this text: drop the "built for Claude Code" tagline from the README. The README states agent-agnostic positioning. This also removes the tension with the last sentence of line 82, which says not to make a blanket claim.
Item for the human approver (not blocking). Basis: Unverified.
I could not verify the owner decision from the forge. The account atlas-apex wrote comment 6539857783 at 2026-10-31T06:02:35Z. No comment from me2resh exists on the issue. Commit b3e61658 cited the decision at 05:51:48Z, before the comment existed. atlas-apex is the usual posting account for this repo, so this is not evidence of a false record. The docs state "Owner decision" in three places. Please confirm the decision and its README scope when you approve this PR.
Suggestions
- suggestion: The PR body does not state the tagline decision or the edits to
docs/getting-started.md,docs/conformance-ci.mdanddocs/harnesses/README.md. The approver reads that body. Add one line for each. Link comment 6539857783. - suggestion:
docs/harnesses/README.mdcites no source for the decision. Addme2resh/apexyard#1932to line 82. - suggestion:
docs/getting-started.md:107says "Install your tool's adapter", but it has no link. Linkdocs/harnesses/README.md. - nit:
docs/getting-started.md:107keeps "Each step also gives a manual file option". On the base README, that sentence referred to/setupand/handover. On this page, Step 2 and Step 3 are already manual file steps, so "also" has no referent. Step 2 also omits the copy command, which is atdocs/multi-project.md:98. Replacement: "Step 2 and Step 3 are file edits, so they need no skill. Seedocs/multi-project.mdfor theonboarding.yamlcopy step." - Follow-up: file a ticket for the later pass that
docs/harnesses/README.md:82names. It coversCLAUDE.md:1, the agent footers, the marketplace descriptions, the site, and the channels.
Prior suggestions, all untouched by the delta:
- The four pitch statements stay absent from
docs/, and the PR body still says that nothing is deleted. - The "no sudo" comment stays absent from
docs/getting-started.md. - "The miss becomes a rule" stays as written.
- The
docs/whats-inside.mdcounts stay stale. - The word count in issue #1932 stays at about 2,400.
Validation
Current checks at fe73ae9c:
- CI, one read of the check list for this PR. Pass: hook test suite, markdownlint-cli2, check, records-lint, report, tier, Verify Ticket ID, CodeQL, Analyze (actions). Skipped: conformance, nightly-failure, hook tests matrix.
- I read the full delta. I read
docs/getting-started.mdin full at the head. - A text search of the head in
*.md,*.yaml,*.yml,*.jsonand*.shfiles for tagline terms found the lines cited above. It found no other stale "remains" text outside AgDR and changelog history.docs/agdr/AgDR-0095-conformance-ci-badge.md:59says "still undecided", and it is a dated record. - The
Rebrand triggerheading stays, so the links from the Codex, opencode, pi and conformance pages resolve. - I read base
README.md:100-115and:148-191against the restored text. - I fetched the issue body and comments, and the comment metadata by ID.
Limits:
- The owner decision is Unverified, as stated above.
- I ran no test, because the delta has no code and CI owns the suite.
- Prior evidence from review 5721496508 covers the README. I did not repeat those link, anchor and word count checks.
- The Mermaid diagram stays unrendered.
Verdict
CHANGES REQUESTED
docs/conformance-ci.md:50 attributes a framework-wide change to a decision that names the README. It also conflicts with docs/harnesses/README.md:82. That is a kind 3 fault in a durable doc's stated evidence. All acceptance criteria are Met. After the fix, request a delta re-review. The two-round cap does not stop a re-review of a blocking fix.
🤖 Reviewed by Rex (Code Reviewer Agent)
📌 Reviewed commit: fe73ae9cc51f94cf727ee28c922edfb058611ba5
Refs #1932 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
atlas-apex
left a comment
There was a problem hiding this comment.
APPROVED. The open blocking finding is resolved. The next action is the human approval. The approver must also confirm the owner decision, as the item in Issues Found states.
Code Review: PR #1933
Commit: dea57dbcc0cfa55056f6dad059686b5249b6e033
Scope: Delta re-review, fe73ae9cc51f94cf727ee28c922edfb058611ba5..dea57dbcc0cfa55056f6dad059686b5249b6e033. Review round 3, for the fix of a blocking finding.
Summary
The prior review is review ID 5721581257, at fe73ae9c. The delta is one commit, and its only parent is fe73ae9c. It has no merge and no rebase. It changes three lines of text in docs/conformance-ci.md and docs/harnesses/README.md. This review checks the open finding only, as the orchestrator instructed.
All three places now scope the tagline decision to the README. The PR body records the decision.
Acceptance criteria of #1932: the delta does not touch README.md, so the prior results stand. All five criteria stay Met, with the evidence in review 5721581257. Issue #1932 has one comment, the decision record, and it does not change a criterion. The added lines have no em or en dash, no component count, no paid tier mention and no new security claim.
Checklist Results
- Architecture & Design, Code Quality, Testing, Performance: N/A. The delta has no code.
- Security: N/A. The delta is docs text. It adds no secret.
- PR Description & Glossary: ✅ The body states the decision, the two files that record it, and the later pass. The Glossary stays.
- Summary Bullet Narrative: ✅ Same result as review 5721581257 for the unchanged bullets.
- Technical Decisions (AgDR): N/A. The tagline choice is a product decision. The delta makes no technical decision.
- Adopter Handbooks: ✅ Same result as review 5721581257. The delta is docs text only, so no new handbook applies.
- Fallow Static Analysis (JS/TS): N/A. The delta has no JS or TS file.
Issues Found
Finding 3 (prior, blocking): resolved. Basis: Observed.
docs/conformance-ci.md:50now reads "the README drops the "built for Claude Code" tagline".docs/harnesses/README.md:15-16has the same scope.docs/harnesses/README.md:73-74has the same scope.docs/harnesses/README.md:82already had this scope, so the two durable docs now agree.- The decision record, comment 6539857783, says "from the README". All three places match it.
- A search of
README.mdat the head finds no "for Claude Code" text, so "drops" is true.
Item for the human approver (not blocking). Basis: Unverified.
The orchestrator reports that the owner confirmed the decision on 2026-10-31. I did not see that confirmation. The forge has no comment from me2resh on #1932. The record is comment 6539857783, by atlas-apex. Please confirm the decision and its README scope when you approve this PR.
New finding (advisory, follow-up). Basis: Observed.
nit: The new text says that the README "says the framework is agent agnostic". The README does not use those words. README.md says "Claude Code is the default driver. Other coding tools can use the same rules through a small adapter." That is a fair summary, so the text is not false, and this does not block. The wording also differs from the decision record and from docs/harnesses/README.md:82, which say that the README states agent-agnostic positioning. Replacement for the three places: "It states agent-agnostic positioning."
Suggestions
Prior suggestions from review 5721581257 stay open and do not block. The delta resolves one of them, because the PR body now states the tagline decision. Two things stay absent from the body: the edits to docs/getting-started.md, and a link to comment 6539857783.
Validation
Current checks at dea57dbc:
- CI, one read of the check list for this PR. Pass: hook test suite, markdownlint-cli2, check, records-lint, report, tier, Verify Ticket ID, CodeQL, Analyze (actions). Skipped: conformance, nightly-failure, hook tests matrix.
- I read the full delta, and the full
docs/harnesses/README.mdandREADME.mdat the head. - A text search of
docsandREADME.mdat the head for the tagline and positioning terms found only the lines cited above. - I read the PR body and the head SHA from the forge. I read comment 6539857783 by ID, and the comments of #1932.
Limits:
- The owner decision is Unverified, as stated above.
- I ran no test, because the delta has no code and CI owns the suite.
- I did not repeat the §§ 1-5 pass or the README checks. Prior evidence is in reviews 5721496508 and 5721581257.
Verdict
APPROVED
The delta resolves the only open blocking finding. All acceptance criteria stay Met, CI is green at this head, and the remaining items are advisory. A human approval is still necessary before merge.
🤖 Reviewed by Rex (Code Reviewer Agent)
📌 Reviewed commit: dea57dbcc0cfa55056f6dad059686b5249b6e033
Summary
A short, product-first README: about 590 words of prose against 2,683 total words before. Nothing is deleted from the project; detail moves to docs/.
Changes
docs/whats-inside.md.docs/harnesses/.docs/badges.mdanddocs/status-band.md.docs/harnesses/README.mdanddocs/conformance-ci.mdrecord it. Other files change in a later pass.Testing
Docs only. Links checked against real files. No dashes, no paid mention, no new security claim.
Refs #1932
Glossary
🤖 Generated with Claude Code