Skip to content

docs(taxonomy): fix relabel collateral from the capability split#645

Merged
potiuk merged 2 commits into
mainfrom
fix/taxonomy-review-followups
Jun 29, 2026
Merged

docs(taxonomy): fix relabel collateral from the capability split#645
potiuk merged 2 commits into
mainfrom
fix/taxonomy-review-followups

Conversation

@potiuk

@potiuk potiuk commented Jun 29, 2026

Copy link
Copy Markdown
Member

Follow-up to #641 addressing @justinmclean's review
(#641 (comment))
plus a deep review of the capability-axis split. None of these are
caught by the validator — they live in skill/doc bodies, not frontmatter
or the machine-checked capability maps.

Flagged in review

  • MAJOR — the write-skill worked example said
    setup-isolated-setup-doctor does capability:authoring +
    capability:reassess. Wrong: authoring is reserved for skills that
    author other skills (write-skill, optimize-skill); the
    setup-doctor is a platform skill. A bad setupauthoring
    replacement where it should have been setupplatform. Fixed to
    capability:platform + capability:reassess, matching its
    frontmatter.
  • MINOR — stale "nine buckets" count. The split makes ten skill
    capabilities; fixed the three untouched references
    (docs/labels-and-capabilities.md + two in write-skill).

Found in the deep review

The Capability to tool map still stamped skill-lifecycle phases on
tools
— the model RFC-AI-0005 abolishes for the tool axis ("a
lifecycle phase is the wrong model for a tool"). Rewrote each to
describe the interface the tool provides:

  • cve-org carried *(resolve)* / *(intake)* phase tags.
  • mail-source said "the abstraction is setup".
  • ponymail described the removed "dual role / intake-pipeline
    component".
  • skill-evals said "setup infrastructure".
  • the map header still implied dual-value rows.

gmail declares both mail contracts

gmail does inbound report intake and outbound courtesy-reply drafting,
so it provides two contracts, not one. Now declares
contract:mail-source + contract:mail-draft, threaded through both
directions for consistency:

  • tools/gmail README capability line + role text.
  • the tool-map row + the dual-value note in the map header (gmail is the
    one tool carrying two values today).
  • tools/mail-source README and both docs/vendor-neutrality.md
    backend rosters now list the Gmail API as a mail-source backend.

MCP servers classified by capability

New section in docs/labels-and-capabilities.md classifying the four MCP
servers the framework's tools consume — each by the capability its
wrapping tool provides. An MCP is a transport behind a contract, not a
separate axis; a skill never names one.

MCP server Wrapped by Capability
GitHub MCP tools/github contract:tracker
Gmail MCP (claude.ai) tools/gmail contract:mail-source + contract:mail-draft
PonyMail MCP (apache/comdev) tools/ponymail contract:mail-archive
apache-projects MCP (apache/comdev) tools/apache-projects contract:project-metadata

JIRA (REST) and gh (CLI) are noted as non-MCP contract:tracker
backends.

Verification

  • skill-and-tool-validate green (capability-sync matches the dual
    gmail label).
  • Confirmed no residual capability:setup in prose, authoring scoped
    to write-skill/optimize-skill only, every setup-* skill resolved
    to platform.

🤖 Generated with Claude Code

Deep review of the #641 capability-axis split surfaced prose that the
mechanical relabel left in the old single-vocabulary state — the
validator can't catch these because they live in skill/doc bodies, not
frontmatter or the machine-checked maps.

Flagged in #641 review:
- write-skill worked example said `setup-isolated-setup-doctor` is
  `capability:authoring` — wrong. `authoring` is reserved for skills
  that author other skills (write-skill, optimize-skill); the
  setup-doctor is a platform skill. Fixed to `capability:platform`
  (matching its frontmatter `platform + reassess`).
- stale "nine buckets" count (the split makes ten skill capabilities)
  in docs/labels-and-capabilities.md and two write-skill references.

Found in the deep review (lifecycle phases wrongly stamped on tools,
which RFC-AI-0005 explicitly abolishes for the tool axis):
- cve-org row carried `*(resolve)*` / `*(intake)*` skill-phase tags.
- mail-source row said "the abstraction is setup".
- ponymail row described the removed "dual role / intake-pipeline
  component".
- skill-evals row said "setup infrastructure".
- the Capability-to-tool map header still implied dual-value rows.

All rewritten to describe the interface the tool provides. Validator
green; no frontmatter or capability-sync changes.

Generated-by: Claude Code (Opus 4.8)
gmail does inbound report intake *and* outbound courtesy-reply drafting,
so it provides two contracts, not one. Declare
`contract:mail-source + contract:mail-draft` and thread the mail-source
membership through both directions so it stays consistent:

- tools/gmail README capability line + role text.
- docs/labels-and-capabilities.md tool-map row + the dual-value note in
  the map header (gmail is the one tool carrying two values today).
- tools/mail-source README and the two docs/vendor-neutrality backend
  rosters now list the Gmail API as a mail-source backend.

Also add an "MCP servers, classified by capability" section to
docs/labels-and-capabilities.md: the four MCP servers the framework's
tools consume (GitHub, Gmail, PonyMail, apache-projects), each
classified by the capability its wrapping tool provides — an MCP is a
transport behind a contract, not a separate axis.

Validator green (capability-sync matches the dual gmail label).

Generated-by: Claude Code (Opus 4.8)
@potiuk potiuk merged commit a3e0755 into main Jun 29, 2026
29 checks passed
@potiuk potiuk deleted the fix/taxonomy-review-followups branch June 29, 2026 09:30
HarshMehta112 pushed a commit to HarshMehta112/magpie that referenced this pull request Jun 29, 2026
Resolve docs/labels-and-capabilities.md conflict: adopt the new
contract:/substrate: tool-capability taxonomy from apache#641/apache#645 and relabel
the tools/asf-svn row to contract:source-control. Update tools/asf-svn
README to the new taxonomy and add the Organization: ASF declaration.
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