Skip to content

docs: sync with today's sprint merges (#46, #48, #51–#55)#56

Merged
aryeko merged 2 commits intomainfrom
docs/sync-post-sprint-2026-02-19
Feb 19, 2026
Merged

docs: sync with today's sprint merges (#46, #48, #51–#55)#56
aryeko merged 2 commits intomainfrom
docs/sync-post-sprint-2026-02-19

Conversation

@aryeko
Copy link
Owner

@aryeko aryeko commented Feb 19, 2026

Summary

  • Capability count 66 → 69 across all docs: 3 composite capabilities added in feat(core): integrate composite capabilities with refactored gql stack #55 (issue.triage.composite, issue.update.composite, pr.threads.composite)
  • operation-cards.md: fix per-domain counts and capability names (post-naming-overhaul), add composite field to schema table, add Composite Capabilities section
  • adapters.md: clarify CLI covers 66 atomic capabilities; composites are GraphQL-only
  • system-design.md: replace deleted agent-interface/tools/ source ref; update Current Scope
  • architecture/README.md: remove deleted agent.ts ref → index.ts
  • repository-structure.md: add gql/batch.ts, gql/builders.ts, gql/capability-registry.ts, core/execute/composite.ts, core/registry/schema-utils.ts; fix archive/plans/ in dir tree
  • setup-for-agents.md: fix broken link to deleted agent-interface.md

Test plan

  • All links in updated docs resolve to existing files
  • Capability counts are consistent across docs (69 total = 66 atomic + 3 composite)
  • Domain breakdowns match cards in packages/core/src/core/registry/cards/

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added three composite capabilities that batch multiple operations into a single GraphQL request (GraphQL-only).
  • Documentation

    • Updated total capabilities: 66 → 69 (66 atomic + 3 composite).
    • Adjusted domain counts (Issues 18→21, Pull Requests 21→22, Workflows 12→11) and added Repositories entries.
    • Expanded PR and Workflow capability listings and updated guides/diagrams to reflect these changes.

Update all docs to reflect today's merged changes:

- Capability count: 66 → 69 (3 composite cards added in #55)
- operation-cards.md: fix per-domain counts, update capability names to
  post-naming-overhaul IDs, add composite field to schema table, add
  Composite Capabilities section documenting batch.ts/builders.ts path
- adapters.md: clarify CLI covers 66 atomic caps; composites are GraphQL-only
- system-design.md: replace deleted agent-interface/tools/ source ref,
  update Current Scope section with accurate domain breakdown
- architecture/README.md: remove deleted agent.ts ref → index.ts
- repository-structure.md: add gql/batch.ts, gql/builders.ts,
  gql/capability-registry.ts, core/execute/composite.ts,
  core/registry/schema-utils.ts; fix archive/ → plans/ in dir tree
- setup-for-agents.md: fix broken agent-interface.md link (deleted in #51)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@changeset-bot
Copy link

changeset-bot bot commented Feb 19, 2026

⚠️ No Changeset found

Latest commit: db517b6

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link

coderabbitai bot commented Feb 19, 2026

📝 Walkthrough

Walkthrough

Documentation and architecture updates across 13 files to introduce three composite capabilities (69 total: 66 atomic + 3 composite). Changes add composite metadata and docs, mark composites as GraphQL-only (batch path), and document new modules for composite expansion, builders, and GraphQL batching.

Changes

Cohort / File(s) Summary
Top-level docs
docs/README.md, docs/capabilities/README.md
Updated overall capability totals (66 → 69), domain counts (Issues, PRs, Workflows, Repositories) and examples to reflect composite capabilities.
Getting-started & guides
docs/getting-started/README.md, docs/getting-started/first-task.md, docs/getting-started/setup-for-agents.md, docs/guides/README.md, docs/guides/agent-integration.md, docs/guides/cli-usage.md
Text and diagram updates to show 69 capabilities, renamed examples (some capability IDs changed), and a navigation link change ("Agent Interface" → "Library API").
Architecture overview & adapters
docs/architecture/README.md, docs/architecture/adapters.md, docs/architecture/system-design.md
Documented composite concepts: agent tools entry point change, capability card count update, clarified atomic vs. composite routing (composites preferred via GraphQL batch path), and noted new execution/registry modules.
Operation cards & registry details
docs/architecture/operation-cards.md, docs/architecture/repository-structure.md
Added CompositeMetadata and a composite card field; described composite declaration, expansion (core/execute/composite → gql/builders → gql/batch), merging into ResultEnvelope; listed new public modules and updated card counts to 69.
Small/boilerplate text edits
(various docs with 1–5 line edits) docs/*
Minor count and example text adjustments across several README/guides files.

Sequence Diagram(s)

sequenceDiagram
  participant Agent as Agent/Client
  participant Registry as Operation Registry
  participant Expander as core/execute/composite
  participant Builders as gql/builders.ts
  participant Batch as gql/batch.ts
  participant GQL as GitHub GraphQL
  participant Merger as ResultEnvelope

  Agent->>Registry: request composite capability (e.g., pr.threads.composite)
  Registry->>Expander: expand composite steps
  Expander->>Builders: build per-capability mutations
  Builders->>Batch: assemble batch mutation
  Batch->>GQL: single GraphQL round-trip (batch)
  GQL-->>Batch: batched responses
  Batch->>Merger: map & merge responses
  Merger-->>Agent: unified ResultEnvelope
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

🐰 Three composites hopped in line,
Sixty-six plus three — now sixty-nine.
Batch the calls, one GraphQL flight,
Merge the answers, tidy and bright. ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title directly summarizes the main change: syncing documentation across multiple recent sprint merges with specific PR references.
Description check ✅ Passed The description covers the Summary, Related Issues (via PR references), and includes a Test plan section, though some template sections like Change Type and Validation checkboxes are not formally checked.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/sync-post-sprint-2026-02-19

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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
docs/getting-started/first-task.md (1)

341-345: ⚠️ Potential issue | 🟡 Minor

Deprecated underscore capability IDs in "Or workflows" example — one doesn't exist.

Lines 343–344 use incorrect forms:

  • workflow_dispatch.run → should be workflow.dispatch.run
  • workflow_run.logs.get → doesn't exist; the correct ID is workflow.job.logs.get

Copying these commands will fail. The second one uses both the deprecated workflow_run.* prefix and the wrong resource name (run instead of job).

📝 Proposed fix
-npx ghx capabilities explain workflow_dispatch.run
-npx ghx capabilities explain workflow_run.logs.get
+npx ghx capabilities explain workflow.dispatch.run
+npx ghx capabilities explain workflow.job.logs.get

Based on learnings: "Adopt dotted capability names (domain.resource.action) consistently in both docs and code. For workflows, prefer workflow.run.* and workflow.job.*; do not use deprecated underscore forms workflow_run.* or workflow_job.*."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/getting-started/first-task.md` around lines 341 - 345, Update the
example capability IDs to use the dotted domain.resource.action format and
correct resource names: replace `workflow_dispatch.run` with
`workflow.dispatch.run`, and replace the invalid `workflow_run.logs.get` with
the correct `workflow.job.logs.get`; ensure any other occurrences avoid
deprecated underscore forms like `workflow_run.*` or `workflow_job.*` and prefer
`workflow.run.*` / `workflow.job.*` consistently in the "Or workflows" example
and surrounding text.
docs/capabilities/README.md (1)

84-95: ⚠️ Potential issue | 🔴 Critical

Update table header from "(12)" to "(11)" and align capability names with implementation.

The Workflows table header and Mermaid diagram incorrectly claim 12 capabilities, but only 11 are listed. Additionally, the detailed documentation in docs/capabilities/workflows.md uses deprecated underscore naming (e.g., workflow_dispatch.run, workflow_runs.list, workflow_run.view, workflow_job.logs.get) which conflicts with the implementation and preferred dotted naming convention. The table should also reference workflow.job.logs.raw consistently, not workflow_job.logs.analyze.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/capabilities/README.md` around lines 84 - 95, Update the Workflows table
header from "(12)" to "(11)" and make the capability names match the
implementation and preferred dotted convention: replace deprecated underscores
(e.g., workflow_dispatch.run → workflow.dispatch.run, workflow_runs.list →
workflow.runs.list, workflow_run.view → workflow.run.view, workflow_job.logs.get
→ workflow.job.logs.get) and ensure the table uses workflow.job.logs.raw (not
workflow_job.logs.analyze); also update the accompanying Mermaid diagram to
reflect the same 11 capabilities and the dotted names so the docs and diagram
are consistent with the code.
docs/architecture/adapters.md (1)

120-120: ⚠️ Potential issue | 🟡 Minor

Stale capability count in GraphQL Features section.

Line 120 (unchanged) still reads "28 capabilities support GraphQL routes" while the overview table at Line 12 now shows "~28 atomic + 3 composite". Both are in the same ## GraphQL Adapter section, creating a visible contradiction.

✏️ Proposed fix
-- **Selective coverage**: 28 capabilities support GraphQL routes (typically read-heavy operations)
+- **Selective coverage**: ~28 atomic + 3 composite capabilities use GraphQL routes
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/architecture/adapters.md` at line 120, Update the stale sentence "28
capabilities support GraphQL routes" in the "## GraphQL Adapter" section to
match the overview table by replacing it with a phrasing that reflects "~28
atomic + 3 composite" (e.g., "Approximately 28 atomic and 3 composite
capabilities support GraphQL routes") so the GraphQL Features line and the
overview table are consistent.
🧹 Nitpick comments (1)
docs/architecture/operation-cards.md (1)

7-45: OperationCard class diagram is now out of sync with the Card Contents table.

The Mermaid classDiagram still shows only cli?: CLIMetadata and graphql?: GraphQLMetadata, while the updated Card Contents table below it documents composite as a third optional field. A reader consulting the diagram alone will not know the composite field exists.

♻️ Proposed diagram update
     class OperationCard {
         capability_id: string
         version: string
         description: string
         input_schema: JSONSchema
         output_schema: JSONSchema
         routing: RoutingPolicy
         cli?: CLIMetadata
         graphql?: GraphQLMetadata
+        composite?: CompositeMetadata
     }
 
     class CLIMetadata {
         command: string
         args?: CliArg[]
         output_format?: string
     }
 
     class GraphQLMetadata {
         operation?: string
         field_mapping?: Record
     }
 
+    class CompositeMetadata {
+        steps: CompositeStep[]
+        output_strategy: string
+    }
+
     class Route {
         name: string
     }
 
     OperationCard --> RoutingPolicy
     OperationCard --> CLIMetadata
     OperationCard --> GraphQLMetadata
+    OperationCard --> CompositeMetadata
     RoutingPolicy --> Route
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/architecture/operation-cards.md` around lines 7 - 45, The classDiagram
is missing the new optional composite field on OperationCard; update the Mermaid
diagram by adding "composite?: CompositeMetadata" to the OperationCard class,
add a new "CompositeMetadata" class with relevant properties (e.g., type,
components, mapping or whatever matches the Card Contents table), and create an
association line "OperationCard --> CompositeMetadata" (and any relationships
from CompositeMetadata to other classes like Route or a Component class if
specified) so the diagram matches the Card Contents table.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/capabilities/README.md`:
- Line 3: Update the written total or the Mermaid domain counts so they match
the cards registry: locate the phrase "These 69 capabilities" and the Mermaid
diagram listing domain counts (19, 22, 5, 12, 3, 6, 1) and reconcile the
mismatch (68 vs 69) by either correcting the header number to 68 or adjusting
the diagram counts to reflect the registry; ensure the same correction is
applied to the repeated section spanning lines 11-29 so the document and the
cards registry are consistent.

In `@docs/getting-started/README.md`:
- Line 73: The sample CLI output in the README's "See all 69 capabilities"
section shows outdated counts for two categories; update the displayed strings
"Issues (18)" to "Issues (19)" and "Pull Requests (21)" to "Pull Requests (22)"
in the sample CLI output block so the example matches the actual capability
counts referenced elsewhere.

In `@docs/guides/cli-usage.md`:
- Line 35: Update the sentence "Returns a JSON array of all 69 capabilities with
descriptions:" in docs/guides/cli-usage.md to clarify that the total includes
three composite capabilities that are only executable via GraphQL and not via
the CLI; reference the command ghx capabilities list and adapters.md wording to
ensure it explicitly states that 66 are CLI-executable atomic capabilities and 3
are composite-only (GraphQL) so readers aren’t confused.

---

Outside diff comments:
In `@docs/architecture/adapters.md`:
- Line 120: Update the stale sentence "28 capabilities support GraphQL routes"
in the "## GraphQL Adapter" section to match the overview table by replacing it
with a phrasing that reflects "~28 atomic + 3 composite" (e.g., "Approximately
28 atomic and 3 composite capabilities support GraphQL routes") so the GraphQL
Features line and the overview table are consistent.

In `@docs/capabilities/README.md`:
- Around line 84-95: Update the Workflows table header from "(12)" to "(11)" and
make the capability names match the implementation and preferred dotted
convention: replace deprecated underscores (e.g., workflow_dispatch.run →
workflow.dispatch.run, workflow_runs.list → workflow.runs.list,
workflow_run.view → workflow.run.view, workflow_job.logs.get →
workflow.job.logs.get) and ensure the table uses workflow.job.logs.raw (not
workflow_job.logs.analyze); also update the accompanying Mermaid diagram to
reflect the same 11 capabilities and the dotted names so the docs and diagram
are consistent with the code.

In `@docs/getting-started/first-task.md`:
- Around line 341-345: Update the example capability IDs to use the dotted
domain.resource.action format and correct resource names: replace
`workflow_dispatch.run` with `workflow.dispatch.run`, and replace the invalid
`workflow_run.logs.get` with the correct `workflow.job.logs.get`; ensure any
other occurrences avoid deprecated underscore forms like `workflow_run.*` or
`workflow_job.*` and prefer `workflow.run.*` / `workflow.job.*` consistently in
the "Or workflows" example and surrounding text.

---

Duplicate comments:
In `@docs/guides/README.md`:
- Line 12: The "List all 69 capabilities" description for the CLI command `npx
ghx capabilities list` is ambiguous; run `npx ghx capabilities list` (or inspect
the implementation that powers it) to confirm whether it returns 69 entries
including composite capabilities or only 66 atomic capabilities, then update the
text to accurately state what the command returns (e.g., "List all 69
capabilities (including X composite capabilities)" or "List all 66 atomic
capabilities") and ensure the same wording is reconciled with the corresponding
note in the other README that references this count.

---

Nitpick comments:
In `@docs/architecture/operation-cards.md`:
- Around line 7-45: The classDiagram is missing the new optional composite field
on OperationCard; update the Mermaid diagram by adding "composite?:
CompositeMetadata" to the OperationCard class, add a new "CompositeMetadata"
class with relevant properties (e.g., type, components, mapping or whatever
matches the Card Contents table), and create an association line "OperationCard
--> CompositeMetadata" (and any relationships from CompositeMetadata to other
classes like Route or a Component class if specified) so the diagram matches the
Card Contents table.

- capabilities/README.md: update Issues Mermaid/table to 21 (add
  issue.triage.composite, issue.update.composite); update Workflows
  Mermaid/table to 11; replace all pre-overhaul PR IDs with current
  dotted names (pr.merge, pr.thread.*, pr.review.submit, pr.diff.files,
  pr.checks.*, pr.merge.status, pr.threads.composite, pr.create, pr.update)
- getting-started/README.md: fix sample output counts (18→21, 21→22)
  and pr.merge.execute → pr.merge
- getting-started/first-task.md: fix deprecated IDs in examples
  (pr.merge.execute→pr.merge, pr.review.submit_approve→pr.review.submit,
  workflow_dispatch.run→workflow.dispatch.run,
  workflow_run.logs.get→workflow.job.logs.get)
- architecture/adapters.md: update GraphQL coverage sentence to include
  composite capabilities
- architecture/operation-cards.md: add CompositeMetadata class to
  Mermaid class diagram

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
docs/architecture/operation-cards.md (1)

10-19: OperationCard class body omits composite? and CompositeStep is undefined in the diagram.

Two minor documentation inconsistencies:

  1. cli? and graphql? are listed as explicit optional fields in the OperationCard class body, but composite? is not — it only appears as a relationship arrow. Adding composite?: CompositeMetadata to the class body would match the established pattern.

  2. CompositeMetadata.steps references CompositeStep[], but unlike Route (which is defined for RoutingPolicy), CompositeStep has no corresponding class in the diagram.

♻️ Proposed additions
 class OperationCard {
     capability_id: string
     version: string
     description: string
     input_schema: JSONSchema
     output_schema: JSONSchema
     routing: RoutingPolicy
     cli?: CLIMetadata
     graphql?: GraphQLMetadata
+    composite?: CompositeMetadata
 }
 class CompositeMetadata {
     steps: CompositeStep[]
     output_strategy: string
 }
+
+class CompositeStep {
+    capability_id: string
+    params_map: Record
+}

Also applies to: 37-50

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/architecture/operation-cards.md` around lines 10 - 19, Update the
diagram and class body to include the missing optional composite field and
define the referenced step type: add composite?: CompositeMetadata to the
OperationCard class definition so it matches cli? and graphql?, and add a
class/definition for CompositeStep used by CompositeMetadata.steps (analogous to
how Route is defined for RoutingPolicy) to remove the undefined reference;
update any labels/relationships to reference CompositeMetadata and CompositeStep
consistently (symbols: OperationCard, composite, CompositeMetadata,
CompositeStep, RoutingPolicy, Route).
docs/capabilities/README.md (1)

35-35: MD056 lint violations on domain group-header rows (changed lines).

| **Issues (21)** | and | **Workflows (11)** | are single-cell rows inside a 3-column table, triggering MD056/table-column-count in the static analysis. The same pattern exists on unchanged lines 57 and 80, so this is pre-existing — but the changed lines still surface the warning in CI.

Fix with empty trailing cells or inline suppression:

♻️ Option A — pad with empty cells
-| **Issues (21)** |
+| **Issues (21)** | | |
-| **Workflows (11)** |
+| **Workflows (11)** | | |

(Apply the same pattern to the unchanged lines 57 and 80 while you're here.)

♻️ Option B — suppress with inline markdownlint comment
-| **Issues (21)** |
+| **Issues (21)** | <!-- markdownlint-disable-line MD056 -->

Also applies to: 86-86

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/capabilities/README.md` at line 35, The single-cell table header rows
like "| **Issues (21)** |" and "| **Workflows (11)** |" trigger MD056; fix by
expanding those rows to match the table's 3-column layout (e.g., "| **Issues
(21)** |  |  |") or by adding an inline markdownlint suppression comment (e.g.,
append "<!-- markdownlint-disable-line MD056 -->"); apply the same change to the
other occurrences in the same table (the remaining single-cell rows such as the
ones currently at the other changed/unchanged locations).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/architecture/operation-cards.md`:
- Around line 10-19: Update the diagram and class body to include the missing
optional composite field and define the referenced step type: add composite?:
CompositeMetadata to the OperationCard class definition so it matches cli? and
graphql?, and add a class/definition for CompositeStep used by
CompositeMetadata.steps (analogous to how Route is defined for RoutingPolicy) to
remove the undefined reference; update any labels/relationships to reference
CompositeMetadata and CompositeStep consistently (symbols: OperationCard,
composite, CompositeMetadata, CompositeStep, RoutingPolicy, Route).

In `@docs/capabilities/README.md`:
- Line 35: The single-cell table header rows like "| **Issues (21)** |" and "|
**Workflows (11)** |" trigger MD056; fix by expanding those rows to match the
table's 3-column layout (e.g., "| **Issues (21)** |  |  |") or by adding an
inline markdownlint suppression comment (e.g., append "<!--
markdownlint-disable-line MD056 -->"); apply the same change to the other
occurrences in the same table (the remaining single-cell rows such as the ones
currently at the other changed/unchanged locations).

@aryeko aryeko merged commit ecef667 into main Feb 19, 2026
6 checks passed
@aryeko aryeko deleted the docs/sync-post-sprint-2026-02-19 branch February 19, 2026 05:53
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

Comments