feat: canonical ARD identifiers and six source-pinned OpenEnv records - #38
feat: canonical ARD identifiers and six source-pinned OpenEnv records#38thegovind wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Align the contributor template and field table with canonical urn:air: and type fields.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Lite
Findings: 1
New issues introduced by this change (1)
| Severity | Finding |
|---|---|
CONTRIBUTING.md — This new guidance is contradicted by the contributor template and field table below, which still… |
What changed in this PR
Adds canonical ARD identifier support with legacy compatibility and a pinned OpenEnv Echo catalog entry.
Changes:
- Normalizes identifiers and detects duplicate identities.
- Adds regression tests and contributor guidance.
- Adds the Echo record and regenerates the catalog.
| File | Summary |
|---|---|
tests/test_extension_catalog.py |
Tests identifier compatibility and revision handling. |
scripts/generate_ai_catalog.py |
Adds normalization and collision handling. |
CONTRIBUTING.md |
Updates contributor guidance. |
catalog/huggingface/openenv-echo-8e6e2770.json |
Adds the pinned Echo environment card. |
ai-catalog.json |
Regenerated catalog output. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| New entries should use the canonical `urn:air:` identifier prefix and `type`. | ||
| Legacy `urn:ai:` and `mediaType` inputs remain accepted. Generation normalizes | ||
| the identifier once, and checks duplicates after normalization. |
There was a problem hiding this comment.
Fixed in 285cd4c. The template and field table now use canonical urn:air/type, show owner/repository source metadata, and distinguish URL delivery from inline data. A regression test parses and validates the actual documented template. This also exposed a canvas-only validator that still required the legacy field; it now accepts canonical type while rejecting conflicting aliases. All 23 generator tests pass.

Summary
Accept canonical
urn:air:contributor identifiers alongside legacyurn:ai:,normalize once, and detect collisions after normalization. Existing legacy
inputs remain valid.
Propose six source-pinned OpenEnv Environment records for task-driven discovery:
All six come from one complete 39-card producer snapshot at proposed OpenEnv
source revision
338577885c00d69a92e652991b367fa246918093. Each record preservesthe original complete
data, GitHub source URI, environment path and full SHA.Friendly display names and an
rl-environmenttag aid browsing.Snapshot digest:
sha256:105b0d254b72b599f1544b371d50fb7e0f0c3f7badf224b91791db7868ee929a.The previous Echo-only proposal is replaced by the same-current-snapshot Echo
record. That older proposal was never admitted, so this is not withdrawal of an
already published listing.
Scope and authority
application/vnd.openenv.environment-card+jsonexamples.ai-catalog.json, including the existing public MCPsupplement. The generated file is not hand-edited.
The GitHub-hosted publisher namespace is proposed for catalog-owner review,
not asserted as a verified endorsement. Source ownership and publication
authority remain distinct. Source-code license evidence does not license
external datasets or dependencies.
These records describe environments. They are not MCP installation endpoints,
training actions, runtime validation reports or execution approvals. Calendar
advertises only five source-evidenced event tools. No interfaces are invented
for the other newly authored task families.
Validation
duplicate identities, inline data preservation, distinct revisions, contributor
templates and the six-record single-snapshot invariant.
--checkagree: 2,113 entries.source/path/revision validation, plus the independent HF consumer's parser.
six HF HTTP pages and six MCP pages.
the OpenEnv baseline, HF HTTP and HF CLI. They are not copies of the authored
representative queries and are not a ranking-quality benchmark.
generated-file conflicts were resolved with the existing generator.
Dependencies
The design is in merged huggingface/OpenEnv#1093. The producer and task metadata
are proposed in huggingface/OpenEnv#1138; the independent consumer is
huggingface/hf-discover#46.
Merged ards-project/ard-spec#85 improves diagnostics. It is complementary, not an
admission prerequisite. This catalog PR still requires owner admission. A merge
does not itself establish downstream ingestion, first-class presentation,
deployment, or live Agent Finder availability.