docs: correct claims left stale by today's apm-only commits
A five-agent review of today's seven commits found no executable
regressions and no dangling references, but a set of documents still
asserting, in present tense, machinery that ADR-0024 and its commits
removed. This corrects them in place, keeping the original text as the
historical record wherever the repo's amendment convention applies.
LESSONS.md: the 2026-06-21 entry prescribed a `claude plugin validate`
sweep that now fails on every plugin, so it is marked superseded with
the surviving gates named. The 2026-08-09 entry gained a recurrence
note: today's manifest deletion broke apm's MCP propagation exactly as
that lesson describes, and its prescribed repo-local grep could not
have caught it, because `plugin_parser.py` ships in the apm toolchain
installed outside this repository.
ADR-0019, ADR-0011 and ADR-0021: amendments extended to passages the
earlier correction passes stepped over -- a dead native-consumer guard,
Consequences bullets still calling for a `plugins/gitea/.mcp.json` that
must not be recreated, and a drift-gate list naming a deleted script.
ADR-0021's list is down to one gate, not two: `apm audit --ci` never
read `description` and was never a drift gate.
architecture.md and enrichments.md: the self-containment constraint is
restated on its live source, the agentskills.io APM package-mode spec,
rather than on Claude Code's plugin cache-install, which ADR-0024
consequence 6 pins as a superseded rationale. releasing.md's pointer to
the deleted sync script is rewritten as history.
tests/run-bats.sh and scripts/lib/batch-run.sh: comment-only. The
`.claude/skills/` exclusion comment claimed a duplication that is not
live yet; apm does not strip `tests/`, and the deployed tree is empty
of them only because the lockfile still resolves the six dependencies
to a pre-ADR-0024 commit carrying the flat mirror. The exclusion is
correct but forward-looking, and now says so.
SIMPLIFICATION-AUDIT.md: reconciled against what the commits actually
did. Two closed findings recorded conclusions that ADR-0024 reversed
hours later; findings 1, 3, 31 and 35 carried prescriptions voided the
same day; finding 28 is now recorded as having moved backwards, with
docs/adr/ measured at +336 lines over the day. The section 1 headline
table is re-measured at a6434e0 and labelled with its basis. The
ADR-0012 contradiction between finding 2b and section 8 is resolved in
2b's favour after reading the ADR: only finding 24 is governed by it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YR2CjVumUbEGWcMikcoXBD
This commit is contained in:
@@ -29,12 +29,22 @@ fi
|
||||
# dependency's root, not this repo's, so they fail on a missing bats-support
|
||||
# helper. They are the same tests already discovered under plugins/.
|
||||
#
|
||||
# .claude/skills/ is excluded for the same reason, one install step later. apm
|
||||
# deploys skills there straight from each plugin's `.apm/` tree, `tests/` dirs
|
||||
# and all, so every `<skill>/tests/*.bats` file under plugins/ also lands at
|
||||
# .claude/skills/<name>/tests/ and would be discovered and run a second time.
|
||||
# (It used to be invisible here: the generated flat mirror apm installed from
|
||||
# stripped `tests/` out. The mirror is gone, so the exclusion is explicit.)
|
||||
# .claude/skills/ is excluded for the same reason, one install step later --
|
||||
# but the duplication it guards against is not live yet, and the comment here
|
||||
# claimed it was. Checked: the deployed tree holds no tests/ directory and no
|
||||
# .bats file at all. The six dependencies resolve from the holocron remote's
|
||||
# default branch, which still carries the pre-ADR-0024 flat mirror, so apm
|
||||
# classifies each one as a marketplace_plugin (`package_type` in apm.lock.yaml)
|
||||
# and deploys from that mirror -- and the mirror's generator stripped `tests/`
|
||||
# out. The exclusion is therefore forward-looking, and correctly so: once the
|
||||
# mirror's deletion reaches the default branch and `apm update` runs, apm
|
||||
# deploys from `.apm/` directly, `tests/` dirs and all. Nothing in apm filters
|
||||
# them -- its deploy-time copytree ignore callback (`ignore_non_content()` in
|
||||
# apm_cli/security/gate.py, 0.28.0) drops symlinks and the .apm-pin marker and
|
||||
# nothing else. Every `<skill>/tests/*.bats` file under plugins/ would then
|
||||
# land at .claude/skills/<name>/tests/ and be discovered and run a second time,
|
||||
# which is ADR-0024 consequence 2 arriving here. Keeping the exclusion now is
|
||||
# what stops that landing as a mystery double-run on the merge that enables it.
|
||||
TEST_FILES=()
|
||||
while IFS= read -r f; do
|
||||
TEST_FILES+=("$f")
|
||||
|
||||
@@ -452,7 +452,7 @@ fi
|
||||
# this branch introduced, whose own header (batch-run.sh:9-11) documents it as
|
||||
# bash-3.2-safe — along with four other scripts/*.sh. Deriving the list means a
|
||||
# new script is covered the moment it lands. The script headers name bash 3.2 as
|
||||
# an explicit repo target -- scripts/lib/batch-run.sh:10 ("all three callers are
|
||||
# an explicit repo target -- scripts/lib/batch-run.sh:9 ("both callers are
|
||||
# explicitly bash-3.2-safe") and providers/claude-code/statusline-command.sh:100
|
||||
# ("macOS's system bash, and an explicit repo target") -- so the scope is four
|
||||
# globs, each floor-asserted below:
|
||||
|
||||
Reference in New Issue
Block a user