Skip to content

feat: canonical ARD identifiers and pinned OpenEnv Echo catalog entry - #38

Open
thegovind wants to merge 2 commits into
github:mainfrom
thegovind:rle-discovery-catalog
Open

feat: canonical ARD identifiers and pinned OpenEnv Echo catalog entry#38
thegovind wants to merge 2 commits into
github:mainfrom
thegovind:rle-discovery-catalog

Conversation

@thegovind

@thegovind thegovind commented Sep 9, 2026

Copy link
Copy Markdown

Summary

Accept canonical urn:air: contributor identifiers alongside legacy urn:ai:,
normalize once, and check identity collisions after normalization. Existing
legacy inputs remain valid.

Adds one curated Echo Environment record using the OpenEnv RFC 011 declaration
profile. It preserves the GitHub URI, envs/echo_env locator and full immutable
source revision 8e6e277030806ebe19e4537fe5e9d792de8e88dc.

The record is a description, not an MCP installation endpoint or a training
action. It does not claim runtime validation or verified publisher status.
Its publisher namespace is a proposed GitHub-hosted catalog namespace for review;
source ownership and publication authority remain distinct.

Scope

  • Generic identifier compatibility and duplicate tests.
  • Contributor documentation for inline extension records.
  • One source-backed application/vnd.openenv.environment-card+json entry.
  • Generated ai-catalog.json, not hand-edited.

The generated file also refreshes the upstream public MCP supplement through
the existing generator. Compared with the checked-in generated file, it contains
36 additions (one is Echo), two removals, and refreshed fields on 210 existing
records. The only new authored resource file is Echo; these other changes are
generator output, not manual catalog edits.

Validation

  • All 23 generator tests pass, including canonical/legacy aliases, duplicate
    generated identities, inline payload preservation and distinct revision cards.
  • The actual contributor template is parsed and validated as canonical input.
    Canvas-only entries accept canonical type without requiring mediaType,
    while conflicting aliases and existing source/tag constraints still fail.
  • Generation and --check agree: 2,108 entries.
  • Echo's payload passes both the packaged Environment Card JSON schema and its
    relational source/path/revision validation.
  • Source description, package requirement and license evidence are bound to the
    pinned public OpenEnv source.

The review correction is committed as
285cd4c7ea64f817cc1e74aa73c7a45901a73ec9; all four current-head CI checks passed.
The Copilot thread has a reply with the tested fix. A follow-up Copilot request
was refused by the available API credentials, so no second review is claimed.

Based on huggingface/OpenEnv#1093. The producer is proposed in
huggingface/OpenEnv#1138 and an independent consumer in huggingface/hf-discover#46.
ards-project/ard-spec#85 changes diagnostics and is complementary, not
an admission prerequisite. A catalog merge does not itself claim downstream
indexing, first-class UI support or production rollout.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 Low severity

New issues introduced by this change (1)
Severity Finding
Low severity 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.

Comment thread CONTRIBUTING.md
Comment on lines +15 to +17
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.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants