Repository navigation
chore: prepare packages for publication (ENG-17072, ENG-17073, ENG-17074) - #47
Merged
Merged
Conversation
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Port provider utilities and Promise execution without Effect; preserve app provider-local identities behind an opt-in ladder policy with pinned oracle vectors. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Decode file URLs in release tooling, cover registry CLI execution in spaced and symlinked paths, and smoke-test pipeline subpaths and the bound ladder policy on Node and Bun. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The copied app tests require promtool when CI is set. Install the Ubuntu Prometheus tools before running the workspace tests. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Decode file URLs before resolving filesystem paths so uncached builds and release checks run from worktrees whose paths contain spaces. Validated with bun run build. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…endencies ENG-17072 Move pure action envelope builders and schema into SDK actions, retain deprecated CLI aliases, externalize runtime dependencies in the library bundle, and isolate test helpers. Node 20 minimum; Node 24 tested. The executable only exposes encoder commands. Validation: full workspace build; CLI 116 tests; SDK unit tests. npm pack --dry-run --json (file count / packed bytes / unpacked bytes): cli: 658 / 213316 / 2464592 -> 656 / 150446 / 1992192 sdk: 64 / 62273 / 268882 -> 101 / 83438 / 395768 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Keep protocol root and internal ABI imports free of bytecode; preserve bytecode on ./contracts. Remove curve math compatibility shims and dependency, document 4.0.0 migration, and give exported read/write/event helpers named return types. SDK OAuth wallet imports canonical bytecode directly. Validation: workspace build, 216 protocol unit tests. npm pack --dry-run --json: 780 files / 186631 packed bytes / 2787979 unpacked bytes -> 768 files / 99184 packed bytes / 712972 unpacked bytes. Dist: 2732436 -> 654717 bytes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Disable declaration maps in shared TypeScript defaults and remove overrides in the 16 established packages. Smoke checks reject dangling declaration maps for this scope; atom runtime package overrides remain untouched. Validation: workspace build; npm pack --dry-run --json confirms zero declaration maps for all 16 established packages. Before -> after (files; packed bytes; unpacked bytes): predicates: 843 -> 563; 135882 -> 119956; 1330547 -> 1199886 schema-org: 2817 -> 1879; 693726 -> 642589; 5743151 -> 5346599 iid-registry: 24 -> 17; 11131 -> 9667; 34786 -> 31150 protocol: 768 -> 513; 99184 -> 78005; 712972 -> 549545 cli: 656 -> 331; 150446 -> 131390; 1992192 -> 1818604 periphery: 201 -> 135; 43832 -> 37883; 278733 -> 246638 iid: 42 -> 29; 28314 -> 25551; 92933 -> 83551 ids: 36 -> 25; 13639 -> 9004; 45962 -> 39031 primitives: 27 -> 19; 28431 -> 25280; 119358 -> 103974 iid-spec: 52 -> 52; 85503 -> 85503; 278403 -> 278403 sdk: 101 -> 70; 83451 -> 71949; 395820 -> 331015 classifications: 264 -> 177; 126245 -> 118598; 1391583 -> 1339414 iid-ladder: 24 -> 17; 29334 -> 27742; 88438 -> 83445 react: 48 -> 33; 90249 -> 85215; 1595033 -> 1528914 deployments: 162 -> 109; 224955 -> 220485; 1972922 -> 1931873 curves: 33 -> 23; 31601 -> 28020; 128733 -> 112850 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ENG-17074 Correct predicate and ID imports in shipped SDK migration guidance. Add a TypeScript-aware import checker covering the root README, every package README, and recursively every package docs Markdown file, including named type exports and export-map wildcards. No existing tracked README import checker was present. Validation: node scripts/check-doc-imports.mjs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… ENG-17074 SDK 4.0.0 exports its own API and selected ID helpers and input types. Remove wholesale protocol and ID exports, migrate shipped examples to sdk/protocol, and assert the boundary in tarball smoke tests. Validation: workspace build and docs import checks. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Periphery already re-exports canonical artifacts from deployments; stop compiling and shipping unreferenced copies. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Add explicit named query return types while preserving wagmi query state and refetch APIs. Every exported hook is annotated. Document all hook groups and peer requirements; move protocol/deployments to peers with dev copies for tests. React 18+ remains supported and React 19 is tested; react-dom is an application renderer dependency. Validation: React build and 99 tests. npm pack --dry-run --json: 33 files / 85215 packed / 1528914 unpacked bytes -> 33 / 25148 / 133060. Dist: 1522408 -> 124280 bytes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Merge duplicate dynamic-fee and gross-up sections, retain bounded solver details, and list all root exports by source module. Validation: documentation imports resolve against dist. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Use JSON import attributes and provide a readFileSync/createRequire alternative for Node environments without import attributes. Validation: documentation imports resolve against package exports. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Remove the unnecessary direct viem install from iid-ladder guidance, normalize Install/License headings, and explain classifications inherits its viem peer requirement via iid. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…17074 List all primitive subpaths, all 15 schema-org root exports, and the exact case-sensitive generated type subpath contract. Validation: documentation import checker. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Add the three atom runtime ownership rows using the existing migration documentation. Clarify deprecated CLI plan aliases. The duplicate SDK/CLI layer row was removed in ENG-17072; atom runtime package files are untouched. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Choose 0.1.0-alpha.0 for deployments, curves, periphery, and CLI; update all exact dependent pins and the release plan. Document the train policy. Registry metadata derives versions from manifests, avoiding a second hard-coded version list. Validation: bun install and registry:check. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Use stable caret ranges and retain exact prerelease pins in runtime, peer, and dev dependencies. Enforce the policy centrally and in packed manifests; release preflight checks the recorded stable baseline. Document when dependent releases are necessary. Include docs import validation in tarball smoke. Validation: registry:check, registry:test, release:registry:test. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Keep the shared normalizer because existing sources and generators still use extensionless imports. Document the preferred .js convention and the migration prerequisite for removal. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Decode the IID-spec fixture directory URL before reading files. Reconcile remaining release prose with the selected stable-caret and exact-prerelease policy. The excluded atom runtime tests contain similar URL-path assumptions; final CI parity is run from a clean checkout without spaces, without editing those packages. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Fresh-checkout validation found a remaining curves-only type import in getConfig and an SDK test still using root bytecode. Derive the config result from the canonical ABI and update the test to deployments/bytecode. Annotate the generic event parser and receipt/context helpers so the union event declaration does not inline the complete ABI. Validation: workspace build and 116 SDK tests. Protocol baseline -> current npm pack --dry-run --json: 780 -> 513 files; 186631 -> 73478 packed bytes; 2787979 -> 460455 unpacked bytes. Dist 2732436 -> 402112 bytes; current measurement also includes ENG-17074 declaration-map removal. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…-17069 Add redactProviderDiagnostic and apply it in createPluginError so every errors[] entry the engine emits is credential-free before any consumer persists or returns it. The helper strips query strings, fragments and userinfo from URLs (verbatim or percent-encoded), redacts credential parameters and headers (plain, quoted, JSON-escaped), bare Bearer/Basic tokens, and scheme-less userinfo. Mirrors the Core hotfix so both lineages stay identical. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…s, make promtool optional (ENG-17075) Stop emitting .d.ts.map from pipeline-runtime so the repo-wide tarball smoke check (no dangling declaration maps) passes once both prerequisite branches merge. Reword the metrics contract comments without references to private repositories or internal worker names. Remove the unpinned apt install from CI and let the promtool-backed tests skip wherever promtool is absent; the pure exposition checks still run everywhere. Give createLadder a named Ladder return type, tighten the README wording on minted handles, and list the app modules that need an Effect adapter against this package. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ges ENG-17074 deployments, curves and periphery already have 0.1.0-alpha.0 on the registry, so the candidate moves to 0.1.0-alpha.1 with every exact pin, the release plan and the release notes following; cli stays 0.1.0-alpha.0 because it has never been published. Record the registry dist-tag state and the release-owner decision on `latest`, and hold the Core-lineage atom packages out of the plan until the application-lineage rebuild lands. Also: envelope metadata reports the SDK as its source package now that the SDK owns the builders; the triple-id helpers return to the SDK root beside calculateAtomId (the app imports them there); document the getConfig return type change in the protocol migration notes and the envelope builders in the SDK README. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # docs/release.md # packages/iid-ladder/README.md # release-plan.json # scripts/package-registry.mjs # scripts/package-registry.test.mjs
…sts ENG-17074 Bun does not rewrite workspace dependency range strings on an incremental install, so the cli, periphery and sdk entries still carried the old 0.1.0 and 4.0.0 ranges. Patch exactly those strings to the manifest values; frozen and incremental installs both report no changes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This was referenced Oct 22, 2026
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.
Summary
Consumers receive bundled copies of CLI runtime dependencies, protocol bytecode through ordinary root imports, oversized declarations, and declaration maps pointing to unpublished source. This change externalizes CLI library dependencies, isolates bytecode, moves pure action envelopes into SDK, and tightens the 4.0.0 public APIs and release metadata.
Addresses ENG-17072, ENG-17073, and ENG-17074. This PR targets
feat/atom-runtime-packages. It contains the 18 reviewed commits, the review fix-ups, and merges of #45 and #46, so its head is the integration state of the train; merge it after (or instead of) those two. The three atom runtime package directories are unchanged apart from #45's redaction fix.Package impact
clisdk./protocol; correct shipped examplesprotocol./contracts; remove curve shims and dependency; derive config types from canonical ABI; annotate public read/write/event resultsreactperipheryTarget versions
schema-org0.1.0-alpha.0classifications0.1.0-alpha.1predicates0.1.0-alpha.1ids0.1.0-alpha.1iid-spec0.1.0-alpha.0iid0.1.0-alpha.0iid-registry0.1.0-alpha.0iid-ladder0.1.0-alpha.1(via #46)pipeline-runtime0.1.0-alpha.0(via #46)primitives0.1.0-alpha.1protocol4.0.0deployments0.1.0-alpha.1periphery0.1.0-alpha.1curves0.1.0-alpha.1sdk4.0.0cli0.1.0-alpha.0react0.1.0-alpha.1Deployments, curves and periphery move from
0.1.0to0.1.0-alpha.1because their0.1.0-alpha.0is already on the registry; CLI, never published, uses0.1.0-alpha.0. The three atom packages are held out ofrelease-plan.json(their alpha.0 is the Core lineage and is never published; see docs/release.md "Held packages"). Internal dependencies on prereleases remain exact-pinned; stable versions use caret ranges, including peer and development dependencies. Manifests, lockfile, release plan, registry checks, and release documentation are aligned. Every candidate retains thealphadist-tag; this PR does not publish or promotelatest.Identity impact
Identity impact: none — existing golden bytes unchanged.
Fixture impact
None. Conformance and golden fixture contents are unchanged.
Contract artifact
ABI and bytecode contents are unchanged. Canonical artifacts remain sourced from deployments, backed by
@0xintuition/contracts-v2@1.1.0-alpha.1and@0xintuition/contracts-v2-periphery@1.1.0-alpha.0. This PR changes export boundaries and removes redundant copies; it does not regenerate or replace contract artifacts. Artifact and sync checks pass.Tarball measurements
Measured with
npm pack --ignore-scripts --dry-run --json; counts include package metadata. All 16 established packages ship zero declaration maps.schema-orgclassificationspredicatesidsiid-speciidiid-registryiid-ladderprimitivesprotocoldeploymentsperipherycurvessdkclireactSDK grows because the pure builders and schema move into it; the combined CLI/SDK footprint shrinks. Protocol dist decreases from 2,732,436 to 402,112 bytes, and React dist from 1,588,527 to 124,280 bytes.
Validation
All 20 requested commands passed for
8087d8a, using Node v24.11.1 and Bun v1.3.11 in a clean detached checkout:bun install --frozen-lockfile bun run build bun run typecheck bun run test bun run check bun run registry:check bun run registry:test bun run release:registry:test bun run guard:supply-chain bun run guard:supply-chain:test bun run artifacts:check bun run artifacts:test bun run conformance:check bun run schema:validate bun run predicates:check-generated bun run schema-org:check-generated bun run classifications:check-creation-profiles bun run protocol:sync-artifacts:test bun run pack:dry-run bun run smoke:tarballsThe tarball smoke check installs packed packages into an isolated consumer and verifies Node, Bun, and TypeScript consumption. It also runs the README/nested docs import checker. Biome
check --writecovered all changed supported files, andgit diff --checkpassed.Validation used a checkout without spaces: the untouched atom-enrichment fixture tests have pre-existing
URL.pathnameassumptions that fail in a spaced worktree path. In-scope shared scripts and the IID fixture loader were fixed; the excluded atom runtime packages were left unchanged.Rollout notes
@0xintuition/deployments/bytecodeor@0xintuition/protocol/contracts, and curve math from@0xintuition/curves.sdk/protocol, the direct foundation packages, or the explicitly retained shared exports listed in the migration guide.Review fix-ups (2026-10-22)
Commits after
8087d8a: merge of #45 (e0a6261),88754e6, merge of #46 (cf1c95e),7bc49d7.deployments,curves,periphery→0.1.0-alpha.1; every exact pin cascaded (sdk, cli, protocol, periphery, react peer and dev);release-plan.jsonand docs/release.md updated;bun run release:registry(the live preflight, not in CI) passes.0.1.0,4.0.0) were patched to the manifest values; frozen and incremental installs both report no changes.0.1.0-alpha.1.0.1.0-alpha.0under bothlatestandalpha; movinglatestto the next alpha is a release-owner decision at publish time.calculateTripleId/calculateCounterTripleId(and their types) stay on the root besidecalculateAtomId; the app imports them there at ten sites. The tarball smoke now asserts they are present and that bytecode is not.source.package: '@0xintuition/sdk'; the CLI README says so.getConfigreturn type.Validation on
7bc49d7in a space-free worktree, every step passing:bun install --frozen-lockfile,bun run build,bun run typecheck,bun run test(32/32 tasks),bun run check,bun run registry:check(20 packages),bun run registry:test,bun run release:registry:test,bun run guard:supply-chain,bun run guard:supply-chain:test,bun run artifacts:check,bun run artifacts:test,bun run conformance:check,bun run schema:validate,bun run predicates:check-generated,bun run schema-org:check-generated,bun run classifications:check-creation-profiles,bun run protocol:sync-artifacts:test,bun run pack:dry-run,bun run smoke:tarballs(clean-room Node/Bun/TypeScript consumption of all 20 packages), andbun run release:registry(live registry preflight for the 16-entry plan).🤖 Generated with Claude Code