Document downstream registry consumer contract#95
Open
SoundBlaster wants to merge 1 commit into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
This PR documents a shared downstream contract for consuming SpecPM’s public /v0 registry evidence without expanding SpecPM into resolver, graph, or runtime authority.
Changes:
- Adds a downstream registry consumer guide with endpoint classes, evidence expectations, failure vocabulary, and consumer boundaries.
- Adds and links a DocC page for downstream registry consumers.
- Updates self-spec metadata, roadmap/workplan status, README references, and regression assertions.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
tests/test_core.py |
Adds regression checks for guide content, DocC links, self-spec bindings, and roadmap/workplan status. |
specs/WORKPLAN.md |
Marks the downstream registry consumer contract phase complete. |
specs/specpm.spec.yaml |
Adds capability, evidence, and implementation bindings for the contract. |
specs/DOWNSTREAM_REGISTRY_CONSUMER_GUIDE.md |
Expands the canonical downstream consumer contract. |
specpm.yaml |
Exposes the new capability in the package manifest. |
Sources/SpecPM/Documentation.docc/SpecPM.md |
Links the new DocC page from the overview. |
Sources/SpecPM/Documentation.docc/SpecGraphIntegration.md |
Cross-links the downstream consumer contract. |
Sources/SpecPM/Documentation.docc/Roadmap.md |
Updates roadmap status and next planned sequence. |
Sources/SpecPM/Documentation.docc/RegistryObservationReports.md |
Links observation reports to the consumer contract. |
Sources/SpecPM/Documentation.docc/DownstreamRegistryConsumers.md |
Adds the public DocC summary page. |
ROADMAP.md |
Updates roadmap status and removes the completed item from next steps. |
README.md |
Points readers to the expanded consumer guide. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+83
to
+88
| "registry": { | ||
| "baseUrl": "https://0al-spec.github.io/SpecPM", | ||
| "apiVersion": "specpm.registry/v0", | ||
| "profile": "public_static_index", | ||
| "buildRevision": "f399b11122b91c3880d655fd5f4bb944e522af60" | ||
| }, |
Comment on lines
+24
to
+26
| Every reusable observation should preserve the registry base URL, endpoint, | ||
| registry API family, build revision, expected values, observed values, and | ||
| payload evidence or payload digest. |
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.
Motivation
Downstream projects consume the same public
/v0registry surface, but the shared consumer contract was still too implicit. SpecGraph, ContextBuilder, SpecNode, and lab deploy checks need a common way to cite registry evidence, classify drift/failures, and avoid turning SpecPM metadata into resolver or runtime authority.Goals
/v0endpoint classes for downstream registry claims.Changes
specs/DOWNSTREAM_REGISTRY_CONSUMER_GUIDE.mdwith contract summary, endpoint classes, evidence envelope, failure semantics, and per-consumer obligations.DownstreamRegistryConsumersand linked it from the overview, SpecGraph integration, and registry observation reports pages.specpm.yaml, andspecs/specpm.spec.yamlto expose the downstream consumer contract as part of the self-spec.Validation
pytest tests/test_core.py -k "downstream_registry_consumer_guide or specgraph_registry_observation_contract or registry_observation_reports or current_roadmap"make format-checkmake lintmake testmake pages-smokeBoundaries and Non-Goals
specpm publish, request-time registry mutation, package installation, archive acquisition, package execution, semantic search, graph authority, or runtime policy enforcement.make pages-smokevalidates the currently deployed/v0registry surface; the new DocC page is expected to be rendered by the PR DocC build check.Notes