Repository navigation
feat: add Effect-free pipeline runtime and provider-local ladder policy (ENG-17075) - #46
Merged
kamescg merged 4 commits intoOct 22, 2026
Conversation
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>
…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>
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
Provide the runtime and identity-policy prerequisites for the next atom-package reconciliation. Adds Effect-free
@0xintuition/pipeline-runtimeand an opt-in provider-local handle policy to@0xintuition/iid-ladder, so consumers can preserve existing app identities while retaining spec-conforming defaults.Stacked onto
feat/atom-runtime-packages. Tracks ENG-17075.Package impact
@0xintuition/pipeline-runtime@0xintuition/iid-ladderproviderLocalHandles: 'reject' | 'mint'andcreateLadder; defaults to'reject'@0xintuition/iid-specpackages/atom-*and the reference app checkout are unchanged. No Effect dependency is added.Target versions
pipeline-runtime:0.1.0-alpha.0, publicalphatag.iid-ladder:0.1.0-alpha.1.iid-spec: unchanged0.1.0-alpha.0.iid-ladder, so no dependent exact pins require updates. Release-plan versions and package registration are updated.Identity impact
Identity impact: none — existing golden bytes unchanged.
The default ladder remains unchanged. Opting into
'mint'reproduces the app's existingint:<iidPrefix><value>strings, grammar/length checks, precedence, and alias-only decisions. These remain application-local identifiers; this option does not admit schemes into the normative registry or confer anchor eligibility.Fixture impact
Adds
packages/iid-ladder/__tests__/fixtures/provider-local-handles.json, generated from the unmodified app at7fc0c82b4with provenance and a reproducible generator. Contains 532 known-answer vectors: 172 handle cases, 180 precedence cases, and 180 rung-conversion cases. Covers 43 distinct corpus inputs plus supplemental grammar/length cases across all 28 provider-local prefixes. Existing conformance fixtures are unchanged.Contract artifact
n/a — no ABI, bytecode, or generated contract-type changes.
Rollout notes
Publish
pipeline-runtimebeforeatom-parserwhen the release is authorized. No packages have been published by this change. The follow-up atom reconciliation can consume these prerequisites.Consumers can replace the app's provider-handles implementation with:
Effect integrations stay in the consumer: services, retry, Effect compatibility internals,
executeEffect, andforEachBoundedEffect. The app'soutcome.tstransitively imports Effect; this package retains the plain outcome union but supplies Promise-based helpers rather than accepting Effect/Exit/Cause values. Letterboxd and TMDB retain their existing subpath names as provider host policies.Validation
bun install --frozen-lockfile: passed.bun run build,bun run typecheck,bun run check: 21, 21, and 22 tasks passed respectively.bun run test: 4,211 passed, 0 failed; the promtool-backed tests skip wherever promtool is absent, including CI.bun run registry:check: 20 packages passed.bun run registry:test: 8 passed;bun run release:registry:test: 9 passed.bun run conformance:check: 1,281 passed, 0 failed.bun run guard:supply-chain: passed.bun run pack:dry-runandbun run smoke:tarballs: all 20 packages passed, including isolated Node/Bun parity and TypeScript declaration checks.biome check --writeran on edited supported files; final check applied no fixes.Full-suite verification used a temporary checkout without spaces because existing atom-enrichment fixture loaders fail on the original worktree path. The atom packages were left unchanged as required. The temporary checkout was removed. CI workflow setup was updated afterward; hosted CI results will be reported by GitHub.
Review fix-ups (2026-10-22)
cf1c95eon top of the three reviewed commits:packages/pipeline-runtime/tsconfig.build.jsonno longer emits declaration maps; with chore: prepare packages for publication (ENG-17072, ENG-17073, ENG-17074) #47's repo-wide smoke check the merged tree otherwise failed on "pipeline-runtime ships an unusable declaration map".provider-metrics-contract.tscomments no longer reference private repositories, PR numbers or internal worker names.promtooltests skip whenever the binary is absent and the pure exposition checks still run everywhere.createLadderreturns a namedLaddertype (exported); the README states that a minted result is reported asrung: 'handle'for app compatibility, is not a registered Class D handle, and is not scheme-validated by the canonical-node check.engine.ts,engine-effect.ts,engine-layer.tsin both atom packages) so the reconciliation work plans adapters explicitly.Validation on
cf1c95ein a space-free worktree: frozen install, build 21/21, typecheck 21/21, check 22/22,bun run testall tasks passed, registry check 20 packages, registry tests, release registry tests, supply-chain guard, conformance 1281/0, pack dry-run and clean-room tarball smoke all passed.🤖 Generated with Claude Code