refactor!: carry out the simplification audit across gates, tests, plugins and docs #135
@@ -222,7 +222,8 @@ Findings 9, 10, 11, and 12 are coupled through the provenance validator and the
|
||||
|
||||
- [x] ~~**Native Claude Code marketplace install vs apm-only.** The flat mirror, `check-plugin-content-sync`, and ADR-0017 exist only for native `claude plugin install`. If apm install is the only supported path, the mirror and its 2,100 lines of tooling go away. Which install paths must work for consumers?~~
|
||||
> **Answered (2026-09-14):** apm-only. See ADR-0024 (`docs/adr/0024-apm-is-the-only-supported-install-path.md`) and commit `718c79a` on `docs/simplification-audit`. Native `claude plugin install` support is dropped; the flat mirror, the twelve per-plugin manifests, `sync-plugin-content.sh`, its test suite, `lib/marketplace-plugins.sh`, and the `check-plugin-content-sync` and `validate-plugins` hooks are all deleted (245 files changed, −22,602 lines). ADR-0017 carries a superseded banner. Kept deliberately: the root `marketplace:` block and the root `.claude-plugin/marketplace.json`, which apm's own consumers read. (`marketplace.json` is the only tracked file under `.claude-plugin/`; the root `plugin.json` beside it is untracked local `apm pack` output, ignored at `.gitignore:59`.) This answer is what voided finding 7's recommendation and closed §3's `check-plugin-content-sync` target.
|
||||
- **Copilot CLI legacy path.** Is `.github/plugin/marketplace.json` still read by any Copilot version you target? If not, finding 2c is a pure delete.
|
||||
- [x] ~~**Copilot CLI legacy path.** Is `.github/plugin/marketplace.json` still read by any Copilot version you target? If not, finding 2c is a pure delete.~~
|
||||
> **Answered (2026-09-14):** yes, but only as a preferred path, not a required one — so the delete holds. Settled under finding 2c above and executed in commit `0dffff3`; this bullet was left open by oversight when that finding closed. Copilot CLI falls through `marketplace.json`, `.plugin/marketplace.json`, `.github/plugin/marketplace.json`, `.claude-plugin/marketplace.json` in order, and the `.claude-plugin/` file apm already emits satisfies the last step. What was lost is discovery-order preference, not Copilot consumability.
|
||||
- **Provenance chain.** Is "which upstream informed this file" a requirement you still want, or was it a governance experiment? Finding 11 hinges on this.
|
||||
- **ADR-0012 (three core skills) and the one-script-per-skill install constraint.** The merges in 14, 15, and 24 need the first revisited and are the only way around the second. Are you open to superseding ADR-0012?
|
||||
- **Granularity of git/gitea skills.** One `git` skill vs seven trades routing precision for size. Is one broad description acceptable?
|
||||
|
||||
@@ -212,10 +212,11 @@ hand-invoked skill sets `disable-model-invocation: true` and carries one plain h
|
||||
with no trigger list.
|
||||
|
||||
Verified end-to-end rather than assumed: `plugins/bin/.apm/skills/zoom-out/SKILL.md:4` carries the
|
||||
flag, apm passes it through verbatim to both `.claude/skills/zoom-out/SKILL.md:4` and the flat mirror
|
||||
at `plugins/bin/skills/zoom-out/SKILL.md:4`, and `zoom-out` was — at the time of that check, when it
|
||||
was the only carrier — the one installed skill absent from the model-visible skill listing in a live
|
||||
session. It remains invocable as `/zoom-out`. `caveman` has since taken the flag as well, so the
|
||||
flag, apm passes it through verbatim to `.claude/skills/zoom-out/SKILL.md:4`, and `zoom-out` was — at
|
||||
the time of that check, when it was the only carrier — the one installed skill absent from the
|
||||
model-visible skill listing in a live session. It remains invocable as `/zoom-out`. (That check also
|
||||
covered the flat mirror at `plugins/bin/skills/zoom-out/SKILL.md:4`, which ADR-0024 deleted on
|
||||
2026-09-14; only the `.apm/` source and the deployed copy remain, and the pass-through is unaffected.) `caveman` has since taken the flag as well, so the
|
||||
corpus now has **two** carriers. Do not read a carrier list off this page; re-derive it:
|
||||
|
||||
```
|
||||
|
||||
@@ -8,6 +8,16 @@ plugin is *for*, and the inventory lives where an inventory can be read off the
|
||||
|
||||
**Status: accepted (2026-08-17).**
|
||||
|
||||
**Amended by ADR-0024 (2026-09-14).** The decision stands unchanged — a published description states
|
||||
a boundary and never enumerates skills — but three of the four compile targets named below no longer
|
||||
exist. `718c79a` deleted every per-plugin `.claude-plugin/plugin.json` and `.github/plugin/plugin.json`;
|
||||
`0dffff3` deleted the repo-wide `.github/plugin/marketplace.json` mirror; and `.agents/plugins/marketplace.json`
|
||||
with the codex profile producing it was removed 2026-09-13. A description is still authored twice —
|
||||
`plugins/<name>/apm.yml` and root `apm.yml`'s `marketplace.packages[]` — but now compiles into one
|
||||
file, `.claude-plugin/marketplace.json`. Read the "four generated files" in Context and the "eight
|
||||
generated files" in Consequences as historical counts, true when written. The blast radius shrank;
|
||||
the staleness hazard that motivated this ADR did not.
|
||||
|
||||
## Context
|
||||
|
||||
A plugin's published description is one string authored twice — in `plugins/<name>/apm.yml` and in
|
||||
@@ -16,7 +26,7 @@ files per plugin edit: the plugin's `.claude-plugin/plugin.json` and `.github/pl
|
||||
plus the repo-wide `.claude-plugin/marketplace.json` and its `.github/plugin/marketplace.json`
|
||||
mirror. (`.agents/plugins/marketplace.json`, apm's codex profile, carried no per-package
|
||||
`description` or `version` at all and was unaffected — that file and the profile producing it were
|
||||
removed 2026-09-13; see the note below.) It is the only text a consumer sees in a marketplace listing before
|
||||
removed 2026-09-13; see the amendment above.) It is the only text a consumer sees in a marketplace listing before
|
||||
installing. It is **not** a SKILL.md `description`: it is never preloaded into an agent's context and
|
||||
routes nothing at runtime. ADR-0020 governs that other artifact; this one governs this one. The
|
||||
overlap is a finding, not a scope: ADR-0020 established that capability enumeration in a description
|
||||
|
||||
Reference in New Issue
Block a user