Repository navigation
fix: the canonical inventory is no longer inside this repo - #345
Merged
Merged
Conversation
ecosystem.yaml described itself as canonical and instructed all tooling to read it. That is the wrong shape: a product cannot own the registry of its siblings, because a product can rename itself. That is exactly what happened. The organization holds hawk and eyrie as redirects from the prior names of rho and flux, and neither rename touched the file that claimed to be the source of truth for repository names. The list also omitted beam outright. The inventory moves to GrayCodeAI/graycode-eco, a repository that is not a product. ecosystem.yaml stays here as a deprecated fallback, clearly marked and incomplete, so a standalone build of rho outside the ecosystem workspace still resolves its siblings. scripts/ecosystem-manifest.sh becomes the single reader: it prefers the roof and falls back to the local copy, warning that the fallback is not canonical. No caller needed to change, and none did. The manifest validator, workspace generation, release parity, and both GitHub composite actions all keep working unchanged. Verified: validate reports 10 repositories, list workspace yields rho and flux, generate-workspace produces the expected go.work, and release parity resolves flux to bd41f29a0dc8.
Patel230
force-pushed
the
chore/ecosystem-inventory-moved
branch
from
October 2, 2026 03:49
5abb0ce to
d3ed55d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
ecosystem.yamlin this repo described itself as canonical and instructed all tooling to read it rather than carry its own repo-name list. The inventory moves toGrayCodeAI/graycode-eco, a repository that is not a product.Why
A product cannot own the registry of its siblings, because a product can rename itself. That is what happened:
hawkandeyrieas GitHub redirects from the prior names ofrhoandflux. Neither rename touched the file that claimed to be the source of truth for repository names.beamentirely, across 6 commits and a versioned crate workspace.maturityfield, so nothing recorded thattraceandroverare pre-1.0 or thattrailandradiusare scaffolds.The failure mode is not that the list was wrong. It is that a product could change the ecosystem's vocabulary without review, and nothing failed.
How
scripts/ecosystem-manifest.shbecomes the single reader. It prefers the roof and falls back to the local copy, warning that the fallback is deprecated and incomplete. No caller changed. The manifest validator,generate-workspace.sh,check-module-release-parity.sh, and both composite actions (checkout-flux,setup-deps) keep working through it.The local
ecosystem.yamlstays as a marked fallback so a standalonego buildof rho outside the ecosystem workspace still resolves siblings.Verification
Commands run from the repo root, with
graycode-ecochecked out as a sibling:Also confirmed the fallback path still resolves, and that the manifest parser skips the roof's
not_products:block (those entries have nodirectory:key, so they are not treated as ecosystem records).Scope
Docs only, plus the two scripts that read the manifest. No Go code, no dependency, no behaviour change. The
rhotofluxcompile-time dependency remains the only one in the ecosystem, and the check enforcing it is untouched.I did not run the full
rhotest suite: the disk on this machine hit 100% during unrelated Go builds andgo buildfailed withno space left on device. That is an environment limit, not a result. The scripts changed here are all bash and were verified by execution andbash -n.Note for reviewers
docs/ECOSYSTEM-WIRING.mdis marked STALE and lists 14 repos and 6 engines. I updated only its pointers to the inventory, not its diagrams. It remains historical.