From 51afa40a19b984c72fbad9af51068c487f96e942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Wed, 19 Aug 2026 08:24:57 +0000 Subject: [PATCH] affordances: officer/core and officerdev/ are both right MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The path takes `publisher` from the manifest verbatim, so a plugin published by officerdev lands under officerdev/. `officer/core` is not a plugin at all — it is the platform's own, shipped by the setup script from the capabilities repository. Two spellings marking two different things: platform versus publisher. Arrived at by accident and kept on purpose. Recorded because the obvious tidy-up removes the distinction rather than the inconsistency. Co-Authored-By: Claude Opus 5 --- TODO.md | 9 +++++---- plugins/CLAUDE.md | 5 ++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/TODO.md b/TODO.md index 72d44d36..78b6e1d3 100644 --- a/TODO.md +++ b/TODO.md @@ -326,10 +326,11 @@ Still to build: - **The other categories.** A plugin can contribute affordances and nothing else. Skills, tools, tasks and processes are the obvious next ones and were deliberately left out — one mechanism, proven, before five. When they land, `publishAffordances` generalises rather than gaining siblings. -- **The path uses `publisher` verbatim**, so gitea's is `officerdev/gitea` while the platform's own is - `officer/core`. Consistent with `mountPrefix`, which is the only thing allowed to branch on provenance, - but it does mean `officer` and `officerdev` both appear in the tree. Rename `core` to `officerdev/core` - or normalise first-party to `officer` — either is fine, neither is done. +- **`officer/core` and `officerdev/` are both correct — do not normalise them.** The path uses + `publisher` verbatim, so a plugin published by officerdev lands under `officerdev/`. `officer/core` is + not a plugin at all: it is the PLATFORM's own, shipped by the setup script from the capabilities + repository. Two spellings marking two different things, arrived at by accident and kept on purpose. + Anyone tidying this into one name is removing the distinction, not the inconsistency. Open, and deliberately deferred: diff --git a/plugins/CLAUDE.md b/plugins/CLAUDE.md index 4526df43..0c45c433 100644 --- a/plugins/CLAUDE.md +++ b/plugins/CLAUDE.md @@ -112,7 +112,10 @@ capabilities/affordances/ gitea.md ``` -`/`, with `core` occupying the plugin slot for the platform's own. A plugin ships an +`/`, taken from the manifest verbatim — so a plugin published by `officerdev` lands +under `officerdev/`. `officer/core` is not a plugin: it is the platform's own, shipped by the setup +script from the capabilities repository. The two spellings mark two different things and should not be +normalised into one. A plugin ships an `affordances/` directory in its repository; installing copies it in, uninstalling removes it — the same shape as `assets/` and `publishAssets`.