feat(registry): add SN120 Affine openapi, subnet-api, and data-artifact surfaces#1966
feat(registry): add SN120 Affine openapi, subnet-api, and data-artifact surfaces#1966minion1227 wants to merge 1 commit into
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. 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:
|
5094926 to
2d0298c
Compare
2d0298c to
72a9c33
Compare
JSONbored
left a comment
There was a problem hiding this comment.
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:
- JSONbored/gittensory#1377 was an identical copy of kiannidev's JSONbored/gittensory#1376 (same source change; tests only reworded to disguise the lift), filed ~90 minutes later against the same issue.
- JSONbored/gittensory#1378 was a byte-identical copy of kiannidev's JSONbored/gittensory#1373, filed ~2 hours later against the same issue.
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.
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 wasgenerated with
npm run surface:addand is live-verified as public andno-auth. Affine exposes a clean, well-formed JSON API at
https://api.affine.iocovering its miner scoring and ranking; the surfaces below are its public,
read-only endpoints.
Summary
openapi —
https://api.affine.io/openapi.jsonMachine-readable spec ("Affine API", version 1.0.0, 10 paths). Fetched with
200 application/json;surface:addparsed it and setschema_status: machine-readable+schema_url. The spec documents all thepublic GET endpoints (
/api/v1/rank/current,/api/v1/scores/latest,/api/v1/scores/weights/latest,/api/v1/config,/api/v1/health, plusuid/hotkey lookups), so it independently proves the two surfaces below.
subnet-api —
https://api.affine.io/api/v1/scores/latestPublic latest-scores endpoint. Returns the current
block_number,calculated_attimestamp, and ascoresarray of evaluated miners, each withminer_hotkey,uid,model,model_revision,model_type,first_block,overall_score,average_score, and a per-environmentscores_by_envbreakdown (e.g. MEMORY with score/threshold/reason). Verified
200 application/json(~21 KB), no credentials required.data-artifact —
https://api.affine.io/api/v1/rank/currentPublic current-ranking snapshot. Returns
window(currentchampion+past_championswith emissionshare),queue,scores, andmeta.Verified
200 application/json(~230 KB), no credentials required — asubstantial, regularly-updated public data artifact.
Surface
(the published OpenAPI spec documents both
/api/v1/scores/latestand/api/v1/rank/currentregistered here)Checklist
registry/subnets/affine.jsonfile.npm run surface:add— landsauthority: communityandreview.state: community-submitted.urlis public and safe for read-only probes; thesource_url(official site + the OpenAPI spec) independently proves the subnet publishes them.
validator internals, or generated
public/metagraph/**artifacts.surface and is not adapter-backed. (Note: a prior unrelated PR proposing
website/source-repofor SN120 was closed because those kinds areauto-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→ passedCloses #676