Commit graph

843 commits

Author SHA1 Message Date
383708c93a chore(catalog): bump okr v1.4.0 -> v1.5.0
okr v1.5.0 — release. Catalog ref now pins the v1.5.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:07:09 +02:00
8bca5801c0 chore(catalog): bump config-audit v5.12.2 -> v5.12.3
config-audit v5.12.3 — release. Catalog ref now pins the v5.12.3 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 00:38:19 +02:00
aca04dc54a chore(catalog): bump ai-psychosis v1.2.0 -> v1.2.1
ai-psychosis v1.2.1 — release. Catalog ref now pins the v1.2.1 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 17:16:33 +02:00
8f73ae9fc4 chore(catalog): bump config-audit v5.12.1 -> v5.12.2
config-audit v5.12.2 — release. Catalog ref now pins the v5.12.2 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 15:00:08 +02:00
e752d84a48 chore(catalog): bump ms-ai-architect v1.16.4 -> v1.16.5
ms-ai-architect v1.16.5 — release. Catalog ref now pins the v1.16.5 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 13:58:44 +02:00
18944cf8a4 chore(catalog): bump linkedin-studio v0.5.2 -> v0.5.3
linkedin-studio v0.5.3 — release. Catalog ref now pins the v0.5.3 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 13:30:57 +02:00
2871e7467c chore(catalog): bump voyage v5.6.0 -> v5.6.1
voyage v5.6.1 — release. Catalog ref now pins the v5.6.1 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 11:53:54 +02:00
91115cf5e2 chore(catalog): bump okr v1.3.2 -> v1.4.0
okr v1.4.0 — release. Catalog ref now pins the v1.4.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 11:47:31 +02:00
1c2ac8e4df chore(catalog): bump ms-ai-architect v1.16.3 -> v1.16.4
ms-ai-architect v1.16.4 — release. Catalog ref now pins the v1.16.4 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 11:42:56 +02:00
04df7e802c chore(catalog): bump graceful-handoff v3.0.0 -> v3.1.0
graceful-handoff v3.1.0 — release. Catalog ref now pins the v3.1.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 11:01:08 +02:00
9759e84c44 chore(catalog): bump ms-ai-architect v1.16.2 -> v1.16.3
ms-ai-architect v1.16.3 — release. Catalog ref now pins the v1.16.3 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:47:31 +02:00
2c32c7e5d0 chore(catalog): bump okr v1.3.1 -> v1.3.2
okr v1.3.2 — release. Catalog ref now pins the v1.3.2 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:27:13 +02:00
e5d32c0454 chore(catalog): bump config-audit v5.12.0 -> v5.12.1
config-audit v5.12.1 — release. Catalog ref now pins the v5.12.1 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:16:31 +02:00
e8be6046aa chore(catalog): bump ms-ai-architect v1.16.1 -> v1.16.2
ms-ai-architect v1.16.2 — release. Catalog ref now pins the v1.16.2 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:07:30 +02:00
fc20a4e7f9 chore(catalog): bump config-audit v5.11.0 -> v5.12.0
config-audit v5.12.0 — release. Catalog ref now pins the v5.12.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 22:30:13 +02:00
09fa51b280 chore(catalog): bump config-audit v5.10.0 -> v5.11.0
config-audit v5.11.0 — release. Catalog ref now pins the v5.11.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:51:26 +02:00
1dfd4740cd chore(catalog): bump ms-ai-architect v1.16.0 -> v1.16.1
ms-ai-architect v1.16.1 — release. Catalog ref now pins the v1.16.1 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:33:58 +02:00
a8c884f2ff chore(catalog): bump okr v1.3.0 -> v1.3.1
okr v1.3.1 — release. Catalog ref now pins the v1.3.1 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:22:56 +02:00
d052d11df7 chore(catalog): bump graceful-handoff v2.1.0 -> v3.0.0
graceful-handoff v3.0.0 — release. Catalog ref now pins the v3.0.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:22:13 +02:00
f56a038cda chore(catalog): bump config-audit v5.9.0 -> v5.10.0
config-audit v5.10.0 — release. Catalog ref now pins the v5.10.0 tag so
`claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:04:11 +02:00
7781d12b0c chore(catalog): bump config-audit v5.8.0 -> v5.9.0
config-audit v5.9.0 — release. Catalog ref now pins the v5.9.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 18:30:56 +02:00
1795230178 chore(catalog): bump linkedin-studio v0.5.1 -> v0.5.2
linkedin-studio v0.5.2 — release. Catalog ref now pins the v0.5.2 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 17:12:08 +02:00
4134449bf5 chore(catalog): bump linkedin-studio v0.5.0 -> v0.5.1
linkedin-studio v0.5.1 — release. Catalog ref now pins the v0.5.1 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 15:59:16 +02:00
aac65942a9 chore(catalog): bump config-audit v5.7.0 -> v5.8.0
config-audit v5.8.0 — release. Catalog ref now pins the v5.8.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 12:04:03 +02:00
d2b9ebba71 chore(catalog): bump ms-ai-architect v1.15.0 -> v1.16.0
ms-ai-architect v1.16.0 — release. Catalog ref now pins the v1.16.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 19:53:30 +02:00
2e1d206ab3 feat(catalog): gate catalog README labels against ref + close the drift
The catalog README's per-plugin `vX.Y.Z` labels were an UNGUARDED surface:
check-versions validated each plugin's OWN README badge, never the catalog
README's labels, so they drifted (config-audit shown v5.5.0 while pinned to
v5.7.0; voyage v5.1.1 while pinned to v5.6.0) — the doc misstated what
`claude plugin install` actually resolves.

Close the class, same pattern as the ref surface:
- check-versions.mjs: new ERROR rule "catalog README label == catalog ref"
  via pure extractCatalogLabel() (matches the /open/<name>) heading, takes the
  first `vX.Y.Z`, ignores a trailing lang/flag badge). No legitimate transient
  state lets label != ref, so ERROR (not WARN). +5 tests.
- release-plugin.mjs: on --write, bump the README label atomically with the ref
  via pure reconcileReadmeLabel() and git add README.md on --commit, so future
  releases keep label and ref in lock-step. +4 tests.
- README.md: reconcile the 2 stale labels (config-audit -> v5.7.0,
  voyage -> v5.6.0). Gate now 9 OK / 1 WARN / 0 ERROR.
- CLAUDE.md: doctrine updated to document the new gate rule + atomic label bump.

ms-ai-architect stays WARN by decision (1.16.0 is unreleased WIP, never tagged).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cm2RxKbomdLqjiWGcwCCPi
2026-06-22 13:38:23 +02:00
cf2420f7c5 chore(catalog): bump config-audit v5.6.0 -> v5.7.0
config-audit v5.7.0 — release. Catalog ref now pins the v5.7.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 20:05:07 +02:00
9b1838f1d7 feat(catalog): release-plugin.mjs — atomic catalog-ref release helper
The polyrepo split made a plugin release a TWO-repo act: tag the plugin repo AND
bump the catalog `ref`. The second step is manual and easily forgotten — that
drift just stranded linkedin-studio on v0.4.0 while its plugin.json moved to
0.5.0. This adds the canonical release path that makes the catalog side
impossible to do wrong.

scripts/release-plugin.mjs:
- Pure planner planRelease() — given the catalog + observed plugin state +
  target version, computes verdict (READY/NOOP/BLOCKED), the bumped marketplace
  object, and the commit subject. REFUSES (BLOCKED) unless plugin.json == README
  badge == target AND the vX.Y.Z tag exists, so a READY plan is check-versions-
  green by construction. Reuses normalizeVersion/classifyPlugin from
  check-versions.mjs (no duplicated rules).
- I/O shell: dry-run by default; --write bumps the ref + re-runs the gate;
  --commit/--push apply; --create-tag mints+pushes a missing plugin tag first.
- 10/10 unit tests (scripts/release-plugin.test.mjs); check-versions 9/9 still green.
- Dogfooded: linkedin-studio → NOOP (already pinned v0.5.0); ms-ai-architect →
  BLOCKED (v1.16.0 in plugin.json was never tagged — refuses to publish it).

Also: fix the stale LinkedIn Studio README label v0.4.0 -> v0.5.0 (loose end of
the v0.5.0 release), and document the canonical release path in CLAUDE.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 19:40:47 +02:00
6cbe4800f5 chore(catalog): bump linkedin-studio v0.4.0 -> v0.5.0
linkedin-studio v0.5.0 — M0 (per-user external data dir) + honesty-hardening
sweep (S2–S31) + Fix #1 (contract binding-gate) + Fix #2 (lived-specifics /
kilde-så-draft). Catalog ref now pins the v0.5.0 tag so `claude plugin update`
resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 19:32:07 +02:00
8c1ae3c55b chore(catalog): bump voyage v5.5.0 -> v5.6.0
voyage v5.6.0 — /trekexecute loop hardening (machine-verifiable completion
gate, cap-25 recovery budget, iterations_remaining field). Catalog ref now
pins the v5.6.0 tag so `claude plugin update` resolves the release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 22:31:52 +02:00
dbbd1ff6d5 chore(catalog): bump config-audit v5.5.0 -> v5.6.0
config-audit v5.6.0 — steering-model II (Foundation + B + C): load-pattern
enumeration, manifest/tokens load-pattern accounting, new CA-OST output-style
scanner (count 14). Suite 1023, self-audit A/A.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 21:14:29 +02:00
843254df5b chore(catalog): release llm-security v7.8.0 — bump ref + README, refresh rollout brief
llm-security cut v7.8.0 (TRG/SIG/AST deep-scan scanners) and tagged `v7.8.0`
(commit 6d3c4b5) in its repo. Sync the marketplace coordinator:

- .claude-plugin/marketplace.json: source.ref v7.7.2 → v7.8.0 (installs track the
  real release; version-consistency gate → OK for llm-security).
- README.md: version label v7.7.2 → v7.8.0; scanner count 23 → 26 (+3: TRG/SIG/AST)
  in both the "Deterministic scanning" bullet and the stat line; tests 1822 → 1863.
- docs/state-version-rollout.md: mark llm-security STATE.md row DONE (it is tracked,
  not gitignored), add the missing playground-design-system row, and refresh the
  Workstream B run note (8 OK / 2 WARN; llm-security resolved this day).

Gate: `node scripts/check-versions.mjs` → 8 OK, 2 WARN (linkedin-studio,
ms-ai-architect — pre-existing, operator decision), 0 ERROR.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V3s6WnubSSrFjAQTLQdVbG
2026-06-20 11:58:39 +02:00
5832c80e0a chore(catalog): bump config-audit ref v5.4.1 -> v5.5.0
Plugin v5.5.0 (steering-model I: A+E) is tagged and pushed; this points
the marketplace source.ref at it so installs track the real release.
Scanner count unchanged (13), so the README prose stays accurate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ter3E2JSi1Khgmuf2kady8
2026-06-20 11:42:55 +02:00
2237f6cc4d docs(catalog): mark voyage STATE.md tracking DONE (Workstream A, 3/11)
voyage avgitignored + tracked STATE.md per the rollout brief; matches
config-audit + ms-ai-architect. Remaining: linkedin-studio, claude-design
(have STATE, gitignored) + 6 file-made-later repos — each its own GO.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LqBYc8Ltrk7LipyJmGxXiB
2026-06-20 11:21:05 +02:00
0f3518f062 chore(catalog): bump config-audit ref v5.4.0 -> v5.4.1
Scanner-correctness patch (HKV/RUL/PLH). Plugin tag v5.4.1 already
pushed, so the ref resolves. Stats refreshed: 954+ tests (13 scanners
unchanged). Version-gate: config-audit reconciles OK.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ter3E2JSi1Khgmuf2kady8
2026-06-20 10:16:47 +02:00
4151a70fe3 docs(rollout): brief for STATE.md tracking + version-consistency rollout
Marketplace-wide coordination brief in catalog/docs/. Two cross-cutting workstreams:
(A) STATE.md tracked in every repo per the updated global continuity rule —
verified status: 2 DONE (config-audit, ms-ai-architect), 3 avgitignore+track
(voyage, linkedin-studio, claude-design), 6 avgitignore-only; per-repo steps +
testable verification. (B) version-consistency via check-versions.mjs — 8 OK,
2 WARN (linkedin-studio, ms-ai-architect: plugin.json ahead of an untagged ref),
each needing an operator release-intent decision. Plan only — execution is per
repo with its own GO.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ter3E2JSi1Khgmuf2kady8
2026-06-20 05:53:20 +02:00
a8d44e6d3f feat(scripts): add marketplace version-consistency gate
scripts/check-versions.mjs cross-checks every plugin in marketplace.json against
its sibling repo:
- catalog ref must resolve to a real git tag    → ERROR (dangling = install breaks)
- plugin.json version == README version-badge    → ERROR (internal corruption)
- catalog ref == plugin.json version             → WARN (catalog lags / unreleased bump)
- sibling repo missing                           → SKIP

Exit 1 on any ERROR; --strict also fails on WARN. Pure classifier covered by
check-versions.test.mjs (9 tests, node --test). Documented in CLAUDE.md
catalog-maintenance. Run before committing any ref change.

Current run: 8 OK, 2 WARN (linkedin-studio, ms-ai-architect — catalog ref lags an
untagged plugin.json bump), 0 ERROR.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ter3E2JSi1Khgmuf2kady8
2026-06-19 23:19:22 +02:00
563dde7c51 docs(voyage): bump catalog entry to v5.5.0
voyage v5.5.0 released (tag v5.5.0 pushed to open/voyage.git). Bump marketplace
ref v5.1.1 -> v5.5.0. v5.5.0 ships brief framing enforcement (brief_version 2.2),
W0-W3 CC-alignment against CC 2.1.130->181, and narrow wins NW1-NW3 (reviewer
schema contract + opt-in --workflow). Closes the 5.1.1->5.5.0 install skew.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LqBYc8Ltrk7LipyJmGxXiB
2026-06-19 23:08:49 +02:00
44428e40aa docs(config-audit): bump catalog entry to v5.4.0
config-audit v5.4.0 released (tag pushed). Bump marketplace ref v5.3.0 -> v5.4.0
and README heading + test count (936+ -> 949+). Plugin-hygiene & settings-validation
hardening: CA-PLH-015 plugin-folder shadowing, CA-PLH-016 skills:-array validation,
CA-SET autoMode structure + dead-config. Scanner count stays 13.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ter3E2JSi1Khgmuf2kady8
2026-06-19 22:36:36 +02:00
165035fc69 docs(config-audit): bump catalog entry to v5.3.0
marketplace.json ref v5.1.0→v5.3.0 (was install-critical — marketplace installs were pinned two releases behind). README: v5.3.0, 12→13 scanners (+ plugin-hygiene), 792→936 tests. Catches up the skipped v5.2.0 refresh.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ter3E2JSi1Khgmuf2kady8
2026-06-19 20:58:40 +02:00
cdb897a639 docs(conventions): reframe docs-gate + playground refs for polyrepo split 2026-06-18 10:26:15 +02:00
e84dffd2b0 chore(marketplace): thin catalog to manifest + docs (polyrepo migration complete) 2026-06-18 10:00:47 +02:00
f35e4ec46d fix(migration): multiplex operator-window SSH pushes through one master connection
Forgejo rate-limits rapid port-22 handshakes. The bare per-target
`git push --all` + `git push --tags` opened ~22 SSH connections in rapid
succession; the server refused around the 6th (voyage's tag push) with
"port 22: Connection refused" (TCP-level, not auth), deterministically, on
every run. Export GIT_SSH_COMMAND with ControlMaster/ControlPath/ControlPersist
so all git-over-SSH reuses ONE persistent master connection (one TCP handshake
for the whole rollout).

Verified: 8 rapid multiplexed connections all succeed where the 6th bare
connection is refused; the full 11-target rollout then completed clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 09:23:36 +02:00
43b2b02cd7 chore(marketplace): externalise claude-design 2026-06-18 09:20:13 +02:00
4ea9bfae07 chore(marketplace): externalise human-friendly-style 2026-06-18 09:20:08 +02:00
ac374bf5e9 chore(marketplace): externalise ai-psychosis 2026-06-18 09:20:03 +02:00
97efff2004 chore(marketplace): externalise okr 2026-06-18 09:19:47 +02:00
f942c8834d chore(marketplace): externalise config-audit 2026-06-18 09:19:43 +02:00
f13f173be1 chore(marketplace): externalise ms-ai-architect 2026-06-18 09:19:21 +02:00
11865a56a9 chore(marketplace): externalise linkedin-studio 2026-06-18 09:18:26 +02:00