Skip to content

feat(registry): add SN120 Affine openapi, subnet-api, and data-artifact surfaces#1966

Closed
minion1227 wants to merge 1 commit into
JSONbored:mainfrom
minion1227:sn120-affine-surfaces
Closed

feat(registry): add SN120 Affine openapi, subnet-api, and data-artifact surfaces#1966
minion1227 wants to merge 1 commit into
JSONbored:mainfrom
minion1227:sn120-affine-surfaces

Conversation

@minion1227

Copy link
Copy Markdown
Contributor

Add or update a subnet surface

This PR appends three community surfaces to exactly one subnet file —
registry/subnets/affine.json (SN120 Affine) — and nothing else. Each was
generated with npm run surface:add and is live-verified as public and
no-auth. Affine exposes a clean, well-formed JSON API at https://api.affine.io
covering its miner scoring and ranking; the surfaces below are its public,
read-only endpoints.

Summary

  • openapihttps://api.affine.io/openapi.json
    Machine-readable spec ("Affine API", version 1.0.0, 10 paths). Fetched with
    200 application/json; surface:add parsed it and set
    schema_status: machine-readable + schema_url. The spec documents all the
    public GET endpoints (/api/v1/rank/current, /api/v1/scores/latest,
    /api/v1/scores/weights/latest, /api/v1/config, /api/v1/health, plus
    uid/hotkey lookups), so it independently proves the two surfaces below.

  • subnet-apihttps://api.affine.io/api/v1/scores/latest
    Public latest-scores endpoint. Returns the current block_number,
    calculated_at timestamp, and a scores array of evaluated miners, each with
    miner_hotkey, uid, model, model_revision, model_type, first_block,
    overall_score, average_score, and a per-environment scores_by_env
    breakdown (e.g. MEMORY with score/threshold/reason). Verified
    200 application/json (~21 KB), no credentials required.

  • data-artifacthttps://api.affine.io/api/v1/rank/current
    Public current-ranking snapshot. Returns window (current champion +
    past_champions with emission share), queue, scores, and meta.
    Verified 200 application/json (~230 KB), no credentials required — a
    substantial, regularly-updated public data artifact.

Surface

Checklist

  • Changes exactly one registry/subnets/affine.json file.
  • Generated with npm run surface:add — lands authority: community and
    review.state: community-submitted.
  • Every url is public and safe for read-only probes; the source_url
    (official site + the OpenAPI spec) independently proves the subnet publishes them.
  • Public-safe: no auth-only flows, secrets, wallet/PAT data, private URLs,
    validator internals, or generated public/metagraph/** artifacts.
  • Does not duplicate an existing Metagraphed surface — SN120 had no callable
    surface and is not adapter-backed. (Note: a prior unrelated PR proposing
    website/source-repo for SN120 was closed because those kinds are
    auto-promoted from on-chain identity; this PR registers only callable
    API/spec surfaces, which are net-new.)

Validation

  • npm run validate:surface -- registry/subnets/affine.json → passed (3 surfaces, 1 file)
  • npm run scan:public-safety → passed

Closes #676

@superagent-security

Copy link
Copy Markdown

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jun 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.11%. Comparing base (7a7b0c3) to head (72a9c33).
⚠️ Report is 9 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1966   +/-   ##
=======================================
  Coverage   93.11%   93.11%           
=======================================
  Files          46       46           
  Lines        7319     7319           
  Branches     2694     2694           
=======================================
  Hits         6815     6815           
  Misses         90       90           
  Partials      414      414           
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@minion1227 minion1227 force-pushed the sn120-affine-surfaces branch from 5094926 to 2d0298c Compare June 26, 2026 03:25
@minion1227 minion1227 force-pushed the sn120-affine-surfaces branch from 2d0298c to 72a9c33 Compare June 26, 2026 04:06
@JSONbored JSONbored added banned Banned due to plagiarism or other repeat violations. gittensor Gittensor contributor context labels Jun 26, 2026

@JSONbored JSONbored left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Closing this, and I want to be transparent about why.

This account is permanently blocked from contributing to our repositories — for plagiarism. In JSONbored/gittensory you filed two PRs that were copies of another contributor's open work, submitted as your own to claim the credit:

Lifting another contributor's diff to claim the credit is a hard line for us — two strikes, you're out. Our Code of Conduct states it plainly: plagiarism and reward-farming result in a permanent block from contributing, enforced across JSONbored/gittensory, JSONbored/metagraphed, and JSONbored/awesome-claude.

The block is on the account, not any individual PR, so this isn't a review of the change — it's enforcement of the ban. Closed and labeled slop. This decision is final.

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

Labels

banned Banned due to plagiarism or other repeat violations. gittensor Gittensor contributor context

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

Enrich SN120 Affine — add public API endpoint + OpenAPI/Swagger spec

2 participants