registry: reject contradictory service metadata identities #391

Open
nsaspy wants to merge 9 commits from rage/179-strict-service-metadata into main
Owner

Closes #179.

RAGE transaction:

  • RED 052cf6e6: contradictory literal PluginMetadata names/versions were accepted when the expected value was merely present.
  • implementation: require discovered metadata names and versions to be exact singleton identities matching the registry.
  • full registry gating then exposed an unrelated false-positive in fallback version evidence: API_VERSION values were being mixed with plugin versions. The fallback now accepts VERSION / *PLUGIN_VERSION only and explicitly proves scoped plugin constants while excluding *API_VERSION.

Scope stays static and import-free; no Zara Core/runtime changes.

Gate: exact-head registry/compatibility tests, full nix flake check, generated package builds.

Closes #179. RAGE transaction: - RED `052cf6e6`: contradictory literal `PluginMetadata` names/versions were accepted when the expected value was merely present. - implementation: require discovered metadata names and versions to be exact singleton identities matching the registry. - full registry gating then exposed an unrelated false-positive in fallback version evidence: `API_VERSION` values were being mixed with plugin versions. The fallback now accepts `VERSION` / `*PLUGIN_VERSION` only and explicitly proves scoped plugin constants while excluding `*API_VERSION`. Scope stays static and import-free; no Zara Core/runtime changes. Gate: exact-head registry/compatibility tests, full `nix flake check`, generated package builds.
Some checks failed
CI / test (pull_request) Failing after 17s
This pull request has changes conflicting with the target branch.
  • scripts/validate-registry.py
  • tests/test_validate_registry_service_metadata.py
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin rage/179-strict-service-metadata:rage/179-strict-service-metadata
git switch rage/179-strict-service-metadata

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff rage/179-strict-service-metadata
git switch rage/179-strict-service-metadata
git rebase main
git switch main
git merge --ff-only rage/179-strict-service-metadata
git switch rage/179-strict-service-metadata
git rebase main
git switch main
git merge --no-ff rage/179-strict-service-metadata
git switch main
git merge --squash rage/179-strict-service-metadata
git switch main
git merge --ff-only rage/179-strict-service-metadata
git switch main
git merge rage/179-strict-service-metadata
git push origin main
Sign in to join this conversation.
No description provided.