WP-22: fixes from the first live Sepolia publish (versions cid placeholder, gateways, --http-only, bootstrap plan, HB lock 409) - #32
Merged
Conversation
A manifest cannot contain its own CID. Publish and assembleManifest now keep SELF_CID_PLACEHOLDER on the current versions[] entry and stamp the previous tail with the on-chain CID. inspect/versions human output marks the latest cid; versions --json adds latestCidFromContenthash. Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
Configured clients try ENSPACK_IPFS_GATEWAYS, then Pinata, then the SPEC DEFAULT_GATEWAYS list. getVerified already treated 429 like other HTTP failures; add a regression test. Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
SPEC §4 step 7c downloads files from webseeds and verifies SHA-256, so the torrent CID does not need to be available on IPFS. Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
Share gatewaysFromEnv with the CLI so Pinata and env extras are tried before SPEC DEFAULT_GATEWAYS. Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
planBootstrap records failed entries with a reason and continues. When the model name already resolves, plan a minor bump (1.1.0) using the same previous-manifest logic as run. Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
BOOTSTRAP.md §2 rule 3 only cross-checks where Hugging Bay has a lock. 409 and 404 return null; the files step logs and continues. Tampered locks still fail closed. Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
Document issue #30 in docs/publishing.md and the CLI gateway default (Pinata after ENSPACK_IPFS_GATEWAYS). Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
The publish test returns early without a pinner or 0x-prefixed key. Default tiny-model.mirrors.enspack.eth is not on Sepolia, so get must not run against it when ENSPACK_E2E_NAME is also unset. Co-authored-by: Jeff Lau <jefflau@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Six fixes surfaced by the first live publish of
qwen--qwen3-0-6b.mirrors.enspack.eth(ops report in the project store).versions[last].cidis now the documentedSELF_CID_PLACEHOLDERinstead of the draft's CID, which looked real but resolved to nothing (spec-change spec-change: versions[] last entry cannot carry its own CID (self-referential); make cid optional for the current version #30, 0.1 behaviour); previous entries keep real CIDs;versions --jsonaddslatestCidFromContenthash.ENSPACK_IPFS_GATEWAYSextras → Pinata gateway → coreDEFAULT_GATEWAYS(spec order preserved; public gateways 429 on fresh pins);getVerifiedrotates on 429.--http-onlyskips the torrent-metainfo fetch/checks (files come from webseeds and are SHA-256 verified anyway); the torrent path is unchanged.ENSPACK_IPFS_GATEWAYSvia sharedgatewaysFromEnv.planrecords a failing entry (resolve or dry-run throw) and continues; an already-published model plans1.1.0.null= no lock, cross-check skipped (BOOTSTRAP.md §2 rule 3); a tampered lock still aborts.Docs:
docs/publishing.md, CLI README, CHANGELOGs (core, cli, hf, bootstrap).Proof: root
pnpm checkgreen — core 171, cli 49, hf 27, bootstrap 20, plus all other suites. Unproven: live new-version publish and live tier-1 plan on Sepolia (next ops run).SPEC.md/schema/*untouched.