Skip to content

chore: merge the fork integration branch into fork main - #16

Merged
pattobrien merged 12 commits into
chore-merge-upstreamfrom
chore-merge-fork
Oct 7, 2026
Merged

pattobrien merged 12 commits into
chore-merge-upstreamfrom
chore-merge-fork

Conversation

@pattobrien

Copy link
Copy Markdown
Owner

Merge the fork integration branch (e1f165f66, the SHA alchemy currently pins as submodules/distilled) into the fork main line, so main becomes a superset of what alchemy already consumes.

  • Brings in packages/linear (GraphQL SDK, @distilled.cloud/linear) and its spec-repo stack entry.
  • .github/workflows/pr-package.yml stays deleted. scripts/package-manifest.ts discovers packages/linear on its own.
  • packages/inngest/scripts/convert.ts keeps the top-level headerParams: true from chore(inngest): merge the X-Inngest-Env and v1 API branches #14, so v1 ops keep the optional xInngestEnv header. The fork branch's v2-only scoping is dropped.
  • Lockfile change is the packages/linear importer only. Nothing under packages/inngest changes.

Stacked on #15. pnpm exec tsc -b clean on 1a123bcfa.

https://claude.ai/code/session_01M76rkZ4YR9gqkh5y4d55aq

Introspects https://api.linear.app/graphql without a token. The SDL in linear/linear is not used: it merges in Linear's separate webhooks graph, whose types the API does not serve. spec-mirror-linear is created by the distilled-submodules stack on merge to main; .gitmodules carries the stanza only until then.

Claude-Session: https://claude.ai/code/session_017XkVsLctDAwhj9PagorKFe
Hand-written parts of @distilled.cloud/linear, modelled on railway: credentials (LINEAR_API_KEY sent bare, LINEAR_ACCESS_TOKEN as Bearer), the GraphQL transport, convert/generate scripts, error contracts observed against the live API, mock-transport tests, and the README.

Claude-Session: https://claude.ai/code/session_017XkVsLctDAwhj9PagorKFe
Replace rather than add /globalErrors so a stale pointer fails loudly, and say why LinearNotFound is global. Make the patch README self-contained and point both READMEs at pnpm generate linear instead of the local-spec workflow. Drop the non-null assertion from the quick start. Cover UnknownGraphQLError, GraphQLFailure, GraphQLTransportError and Query.items, as railway's suite does.

Claude-Session: https://claude.ai/code/session_012XFbNYDzLmbTAa1whSqVZh
DISTILLED_SPECS_LOCAL=1 pnpm generate linear: 173 query and 380 mutation roots from the introspection schema.

Claude-Session: https://claude.ai/code/session_017XkVsLctDAwhj9PagorKFe
Developer tools group, a search hint, the svgl.app mark in currentColor, and a pr-package.yml entry.

Claude-Session: https://claude.ai/code/session_017XkVsLctDAwhj9PagorKFe
Follows alchemy-run#711 and alchemy-run#710 on main: scripts run under node --conditions=bun,
the test uses vitest, the mirror template runs on pnpm + Node, and
CredentialsFromToken takes a Redacted token. Regenerated output differs
only in formatting.

Claude-Session: https://claude.ai/code/session_01QvFeANvxMj66HhJgZscPXH
Linear is a GraphQL Query SDK; core/graphql types its errors per root, so
it has no <Sdk>OpError union.

Claude-Session: https://claude.ai/code/session_01QvFeANvxMj66HhJgZscPXH
# Conflicts:
#	packages/inngest/scripts/convert.ts
@pattobrien
pattobrien added this pull request to stack #18 October 7, 2026 21:02
@pattobrien
pattobrien merged commit 4a59ea3 into main Oct 7, 2026
2 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant