Skip to content

docs(contributing): document the overlay registration points that fail silently - #741

Merged
tractorjuice merged 1 commit into
mainfrom
docs/contributing-overlay-registration
Aug 7, 2026
Merged

tractorjuice merged 1 commit into
mainfrom
docs/contributing-overlay-registration

Conversation

@tractorjuice

Copy link
Copy Markdown
Owner

Adds a Registering a new community overlay section to CONTRIBUTING.md, covering the integration points a new plugins/arckit-<name>/ directory must hit.

Raised by @umag while contributing the Netherlands overlay (#739) — both points were found by running the tooling, not by reading the contributing guide.

The two silent failures

scripts/converter.py → PLUGIN_SOURCES. A missing entry produces zero files for the overlay across all seven non-Claude extensions, and the converter still exits 0 with a success summary. Nothing looks wrong. This cost arckit-uk-finance four releases (v5.3.0 → v5.6.0) of entirely missing extension output. The section also names the two deliberate exclusions — arckit-fde (Claude-only tooling) and arckit-uk-gcloud (proprietary, must not leak into the MIT extension repos) — so nobody adds them while "fixing" the list.

Both marketplace manifests. There are two, with different source shapes, tabulated in the section because the asymmetry is the part that catches people:

Manifest Source shape
.claude-plugin/marketplace.json flat — ./plugins/arckit-nl
plugins/arckit-claude/.claude-plugin/marketplace.json nested — ./plugins/nl

tests/plugin/test_release_process.py compares both against EXPECTED_CLAUDE_MARKETPLACE_SOURCES, so updating one but not the other fails CI — but omitting all three passes silently, since the length and set assertions still agree.

Slightly wider than the two points

One further subsection lists the rest of the same registration act: sync-claude-plugin-layout.py (PLUGIN_LAYOUT), push-extensions.sh (CLAUDE_PLUGIN_LAYOUT), the four test enumeration lists, and sync-shared-assets.py (SYNC_EXEMPT_PLUGINS).

Rationale: a contributor who fixes only the two named points still ships a broken overlay, and the test lists are exactly what turns the converter omission from silent into loud — .github/workflows/python-tests.yml regenerates the extensions and then runs the full suite, so an overlay present in PLUGIN_COMMAND_DIRS but absent from PLUGIN_SOURCES fails CI. That is worth stating, because it makes adding the test entries load-bearing rather than bookkeeping.

Happy to trim it back to just the two if you would rather keep the section tight.

Verification

All claims checked against main rather than carried over from notes — one such note was stale and would have been wrong: tests/plugin/ is now in CI unfiltered since #720, so the section documents the test lists as a working guard, not a gap.

npx markdownlint-cli2 CONTRIBUTING.md    0 issues
scripts/check_references.py              791 files, no broken references
scripts/check-guide-site-links.py        238 guides, all reachable

Docs-only change; no commands, templates, or config touched.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VKbHCujejpxkgvh47BndDE

…l silently

A new plugins/arckit-<name>/ directory is not discovered automatically, and
two of the hardcoded plugin lists report success while producing nothing:
converter.py's PLUGIN_SOURCES (which cost arckit-uk-finance four releases of
missing extension output) and the two marketplace manifests.

Raised by @umag on #739, who found both by running the tooling rather than by
reading this file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VKbHCujejpxkgvh47BndDE
@tractorjuice
tractorjuice merged commit 732d584 into main Aug 7, 2026
2 checks passed
@tractorjuice
tractorjuice deleted the docs/contributing-overlay-registration branch August 7, 2026 14:26
umag added a commit to umag/arc-kit that referenced this pull request Aug 7, 2026
CONTRIBUTING.md: superseded by tractorjuice#741, which documents the overlay
registration points including the two silent failures found here.

CODEOWNERS: per review, assigning a reviewer for NL changes is a
maintainer decision rather than part of this contribution.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
umag added a commit to umag/arc-kit that referenced this pull request Aug 7, 2026
CONTRIBUTING.md: superseded by tractorjuice#741, which documents the overlay
registration points including the two silent failures found here.

CODEOWNERS: per review, assigning a reviewer for NL changes is a
maintainer decision rather than part of this contribution.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
umag added a commit to umag/arc-kit that referenced this pull request Aug 7, 2026
CONTRIBUTING.md: superseded by tractorjuice#741, which documents the overlay
registration points including the two silent failures found here.

CODEOWNERS: per review, assigning a reviewer for NL changes is a
maintainer decision rather than part of this contribution.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@tractorjuice tractorjuice added the documentation Improvements or additions to documentation label Aug 31, 2026
@tractorjuice tractorjuice self-assigned this Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant