Skip to content

chore: establish product manifest and remove stray marketplace declaration - #6

Merged
nextbridgehq merged 3 commits into
mainfrom
fix/establish-product-manifest-remove-stray-marketplace
Sep 14, 2026
Merged

nextbridgehq merged 3 commits into
mainfrom
fix/establish-product-manifest-remove-stray-marketplace

Conversation

@nextbridgehq

Copy link
Copy Markdown
Owner

Summary

Two independent fixes, discovered while cross-checking this repository
against the Nextbridge ecosystem registry.

1. Establish .nextbridge/product.yaml

The ecosystem's sync contract expects every product repository to carry a
.nextbridge/product.yaml as its own authoritative manifest, which the
ecosystem repository then caches as a byte-for-byte snapshot. This
repository never had that file — confirmed by searching every commit on
every branch in this repository's history. There was no prior version to
recover.

This commit adds it, copied byte-for-byte from the ecosystem's existing
manifests/graphpowers.yaml snapshot, after independently verifying that
snapshot against this repository's actual state: pyproject.toml (name,
license, requires-python, CLI entry point, homepage), the real skills/
directory (11 skills, each with SKILL.md), and the absence of agents/,
commands/, and .mcp.json matching the manifest's declared component
counts. This establishes the ecosystem's existing representation as this
repository's authoritative manifest going forward — not a recovery of
anything that previously existed here.

2. Remove stray .claude-plugin/marketplace.json

This file declared a competing graphpowers-marketplace — added in
6d24053 (2026-07-20), never removed since. The plugin's own manifest
(.claude-plugin/plugin.json) already correctly declares
marketplace: nextbridge, and the canonical Nextbridge marketplace already
lists this plugin. This file was a leftover competing declaration.

Verification

  • .nextbridge/product.yaml is byte-identical to the ecosystem's current
    manifests/graphpowers.yaml.
  • git diff main..HEAD --stat confirms exactly these two changes — one file
    added, one file removed, nothing else.
  • Each field in the added manifest was checked against this repository's
    real content (see above) before being copied, not assumed correct.

Adds .nextbridge/product.yaml, the source of truth the ecosystem's
sync contract expects every product repository to carry
(manifests/README.md: "product.yaml in the product repository is
authoritative"). This file never existed in this repository's git
history before this commit (verified exhaustively against git log
--all across every branch and commit) - there is no prior version to
recover.

Content is copied byte-for-byte from the Nextbridge ecosystem's
existing manifests/graphpowers.yaml snapshot, after independently
verifying that snapshot against this repository's actual state:
pyproject.toml (name, license, requires-python, CLI entry point,
homepage), the real skills/ directory (11 skills, each with
SKILL.md), and the absence of agents/, commands/, and .mcp.json
matching the manifest's declared component counts. This establishes
the ecosystem's existing representation as this repository's
authoritative manifest going forward, rather than recovering
anything that previously existed here.
.claude-plugin/marketplace.json declared a competing
"graphpowers-marketplace", added in 6d24053 (2026-07-20) and never
removed since. The plugin's own manifest (.claude-plugin/plugin.json)
already correctly declares marketplace: nextbridge, and the canonical
Nextbridge marketplace already lists this plugin - this file is a
leftover competing declaration, not a needed one.

The ecosystem's R-MK2 rule flags any product repository shipping its
own marketplace file once that product has a synced manifest; this
repository has had one since before this commit.
The prior commit removed .claude-plugin/marketplace.json (a stray
competing marketplace declaration). This suite's MANIFESTS tuple still
listed it, so CI failed on this branch checking for a file this same
PR intentionally deletes. test_manifest_versions_match_pyproject
already excludes marketplace.json from its own manifest list (it
deliberately carries no version, by ecosystem design), so this test
now matches that same precedent.
@nextbridgehq
nextbridgehq merged commit a009568 into main Sep 14, 2026
2 checks passed
@nextbridgehq
nextbridgehq deleted the fix/establish-product-manifest-remove-stray-marketplace branch September 21, 2026 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants