Skip to content

feat(api): expose low-level object/keyvalue store apis#1500

Draft
ramizpolic wants to merge 8 commits into
mainfrom
feat/apis
Draft

feat(api): expose low-level object/keyvalue store apis#1500
ramizpolic wants to merge 8 commits into
mainfrom
feat/apis

Conversation

@ramizpolic
Copy link
Copy Markdown
Member

@ramizpolic ramizpolic commented May 14, 2026

Overview

This PR explores the feasibility of adjusting the DIR storage and transport layer by making it mediatype agnostic, and exposing the existing functionalities for OASF records through a handler over a specific mediatype (records, signatures, referrers, etc).

In addition, this PR also addresses the required minimal surface to support implementation of AI Catalog using mediatype agnostic storage and transport layer APIs.

Background

DIR can be adjusted to serve generic media-type based object types rather than OASF as first-class citizens across APIs.

Current Model: DIR uses the OASF Record as the first-class object. All other representations (AI Catalog entries, artifacts, OASF records) are derived from it via mapping. This tightly couples DIR's data model to OASF.

Alternative Model: Use generic, media-typed objects as first-class citizens, with links between them:

  • The object store writes and addresses objects by content (CID), regardless of schema
  • Objects carry a media type (application/mcp+json, application/skill+json, application/ai-catalog+json, etc.) that determines how they are interpreted
  • DIR's scope narrows to storing supported mediatypes, rather than owning a full agent description schema
  • Routing is adjusted to perform distributed discovery over tags, where tag validity is enforced by OASF taxonomy (rather than OASF being the storage schema)

Tradeoffs:

OASF Record (current) Generic Objects
First-class object OASF Record Any media-typed object
Schema ownership DIR / OASF Media type owners
Capability taxonomy Embedded in record External via tags validated by OASF
Extensibility New fields in OASF schema New media types, no schema change
Discovery Search over OASF fields Search over OASF taxonomy tags

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 14, 2026

The latest Buf updates on your PR. Results from workflow Buf CI / verify-proto (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed⏩ skipped⏩ skipped✅ passedMay 21, 2026, 11:48 AM

@github-actions github-actions Bot added the size/L Denotes a PR that changes 1000-1999 lines label May 14, 2026
Signed-off-by: Ramiz Polic <ramiz.polic@hotmail.com>
Signed-off-by: Ramiz Polic <ramiz.polic@hotmail.com>
Signed-off-by: Ramiz Polic <ramiz.polic@hotmail.com>
Signed-off-by: Ramiz Polic <ramiz.polic@hotmail.com>
Signed-off-by: Ramiz Polic <ramiz.polic@hotmail.com>
Signed-off-by: Ramiz Polic <ramiz.polic@hotmail.com>
Signed-off-by: Ramiz Polic <ramiz.polic@hotmail.com>
Signed-off-by: Ramiz Polic <ramiz.polic@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Denotes a PR that changes 1000-1999 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant