feat(api): public SN74 contribution-interface descriptor for metagraphed discovery (#695, gittensory side) - #709
Conversation
…hed discovery (#695, gittensory side) The gittensory half of the metagraphed discovery funnel: a public, unauthenticated, machine-readable descriptor that declares Gittensory as gittensor (Bittensor subnet 74)'s contribution interface, so metagraphed (and any agent) can route gittensor discovery → Gittensory. - `src/services/subnet-interface.ts`: `buildSubnetInterfaceDescriptor` returns the descriptor — subnet {netuid 74, name, home, upstreamRepo}, provider {Gittensory, role: contribution_interface}, interfaces {mcp endpoint + curated contribution tools + version floor, github app install URL}, onboarding steps. Pure product metadata (URLs, tool names) — no reward/score/private wording, so no sanitization needed. Reuses existing constants (footer URLs, MCP version, app slug). - `GET /v1/public/subnet-interface` (added to requiresApiToken exclusions → unauthenticated) with a cacheable response. Origin from PUBLIC_API_ORIGIN, else the request origin. Tests: builder unit (SN74 shape, origin normalization, curated tools incl. list_notifications, upstream default, no-private-wording) + route integration (no-auth 200, shape, Cache-Control, origin fallback). 97% coverage gate green; workers tests + openapi check pass. metagraphed-side catalog entry (surfacing this in get_subnet/how_do_i_call for SN74) ships separately in JSONbored/metagraphed.
|
Note Gittensory Gate skippedPR closed before full evaluation. No late first comment was created.
💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers. |
|
gittensory · advisory review Reviewed 4 changed file(s) — two independent AI reviewers. Suggested action: ✅ Safe to merge — both reviewers found no blocking issues. Reviewer A · Suggestions
Worth double-checking
Reviewer B · Suggestions
Worth double-checking
|
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
What
The gittensory half of the metagraphed discovery funnel (#695): a public, unauthenticated, machine-readable descriptor that declares Gittensory as gittensor (Bittensor subnet 74)'s contribution interface, so metagraphed — and any agent that discovers gittensor — can route discovery → Gittensory.
src/services/subnet-interface.ts—buildSubnetInterfaceDescriptorreturns:subnet:{ netuid: 74, name: "gittensor", home, upstreamRepo }provider:{ name: "Gittensory", role: "contribution_interface", site, summary }interfaces.mcp: the/mcpendpoint + a curated, miner-facing tool subset (decision-pack, check-before-start, validate-linked-issue, preflight, monitor-open-prs, list-notifications, agent-plan) + version floorinterfaces.githubApp: install URLonboarding.steps: ordered maintainer + contributor stepsPure product metadata (URLs, tool names) — no reward/score/private wording, so no sanitization needed. Reuses existing constants (footer URLs, MCP version, app slug, upstream repo).
GET /v1/public/subnet-interface— added torequiresApiTokenexclusions (unauthenticated), cacheable. Origin fromPUBLIC_API_ORIGIN, falling back to the request origin.Why
metagraphed surfaces gittensor as SN74 but has no machine-readable pointer to how to contribute. This descriptor is that pointer — the highest-ROI ecosystem link. metagraphed's catalog ingests it server-side; the catalog entry that makes
get_subnet/how_do_i_callfor SN74 return Gittensory ships separately in JSONbored/metagraphed.Tests
gittensory_list_notifications), upstream-repo default, no-private-wording assertion.Cache-Control, request-origin fallback whenPUBLIC_API_ORIGINunset.git diff --check+ui:openapi:checkpass.Advances #695 (gittensory side). metagraphed catalog entry follows.