Repository navigation
Rename to declaration-check, and the declaration to flox-info.yaml - #2
Merged
Merged
Conversation
"Catalog" is a product term here. floxhub alone holds catalog-server, catalog-common, catalog-publisher and catalog-updater, and the Flox Catalog is the capital-C thing all of them serve. A compliance checker borrowing the word makes every one of those harder to search for and harder to reason about, which is a cost paid by people who have nothing to do with this repository. The name came from the file it reads, catalog-info.yaml, which was locally descriptive and globally wrong. declaration-check names what it validates and matches vocabulary already in use: declaration.py holds the parser, and the check engineers see in their pull requests is already "declaration is complete". The repository id is unchanged, so the organisation ruleset that requires this workflow follows the rename without edits, and GitHub redirects the old path for anything not yet updated. catalog-info.yaml itself is untouched. That filename is Backstage's convention rather than ours, and interoperating with it is why ADR-001 chose the format. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Backstage's convention is catalog-info.yaml, and "catalog" at flox means the Flox Catalog — the capital-C thing that catalog-server, catalog-common, catalog-publisher and catalog-updater all serve. A file in all 176 repositories borrowing that word costs more in confusion than the default filename saves in configuration, and the cost lands on people with no stake in this process. Only the name changes. The contents remain a Backstage entity descriptor, unchanged, so a Backstage instance could still read them — the schema is the part worth having and the reason ADR-001 chose the format. Backstage's catalog accepts a configured filename, so the interop that matters survives. Renaming now because the cost only grows: three repositories carry the file today and the backfill in OPS-127 takes it to 176. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Two renames, one reason: "catalog" is a product term at flox and this had taken it twice.
The repository.
catalog-checkcompeted with the Flox Catalog and with floxhub'scatalog-server,catalog-common,catalog-publisherandcatalog-updater.declaration-checknames what it validates and matches vocabulary already in use —declaration.pyholds the parser, and the check engineers see in their pull requests is alreadydeclaration is complete. The repository id is unchanged, so the org ruleset follows without edits and GitHub redirects the old path.The file.
catalog-info.yamlis Backstage's convention, but it would put the Catalog's word in all 176 repositories after the OPS-127 backfill. It is nowflox-info.yaml. The contents are unchanged — still a Backstage entity descriptor, so a Backstage instance could read these as-is with a configured filename. The schema was the part worth having; the filename was not.Renaming now because three repositories carry the file today and the backfill takes it to 176.
What has to follow this, in order
Merging this makes
flox-info.yamlthe default the check looks for, so anything still carrying the old name fails until renamed. Sequenced deliberately rather than teaching the checker both names, which would be machinery to carry forever for a three-day migration:flox/conformance— rename its own file, update the--pathdefaults incollector.pyandsync.py, and the six references to the old repository nameflox/floxhub#2718— 20 descriptors and the rootLocationtargets, still a draftflox/catalog-pipeline-report— one filecatalog-pipeline-reportkeeps its name. It reports on the pipeline that publishes into the FloxHub catalog, which is the reserved use rather than a violation of it.