Repository navigation
chore!: reset CI to one fast workflow; oxlint + oxfmt replace eslint + prettier (CL-8150) - #790
Merged
Merged
Conversation
Drops eslint, eslint-config packages, typescript-eslint, and prettier in favor of oxlint and oxfmt, per the CI reset ruling (CL-8150). Noisy repo-wide stylistic rules (no-shadow, no-underscore-dangle, several unicorn rules) are turned off in .oxlintrc.json rather than suppressed per-line; no-unsafe-optional-chaining is off because every hit is the same safe test-only (assert-then-cast-then-call) pattern.
Replaces the sharded/db-suite/e2e assertions with coverage for the five-job workflow (setup, typecheck, lint, structural, unit) CL-8150 replaces them with, and drops the shard-argument coverage from run-all.test.ts and the retired CI job names from db-gate.test.ts.
Owner ruling: the sharded build-test matrix, the Postgres-backed e2e-suite/isolation/db-suites jobs, and the walking-skeleton/e2e-plan machinery had regressed into noise. Replaces all of it with five jobs — setup, typecheck, lint, structural, unit — that share one bun install cache and run in parallel with no Postgres service, no matrix, and no artifacts. DB-gated suites (scripts/e2e/* included) skip themselves in the unit job for lack of DATABASE_URL, same as they always have locally. scripts/run-all.ts drops its --shard flag now that nothing shards; scripts/e2e/db-gate.ts's job allowlist is repointed at the new job names. .oxlintrc.json gains the no-console and no-restricted-imports overrides the retired eslint.config.ts enforced (no-console error in src/ outside tests and client-log; lucide-react/@phosphor-icons/react banned outside packages/icons) — oxlint has no equivalent for the Sparkle/Sparkles no-restricted-syntax ban, so that one is unenforced by tooling for now.
check:tool-package-freshness treats any src/ diff — reformatting
included — as shipped source, since tool resolution keys on
name@version. Patch-bumps the 17 tool packages whose src/ the oxfmt
reformat commit touched and repoints every real { name, version } pin
(workflow/agent definitions, not test fixtures) at the new versions,
then regenerates the report-error baseline for the line numbers the
reformat shifted.
README, IMPLEMENTATION, and CONTRIBUTING now describe oxlint + oxfmt and CI's five-job structure instead of eslint/prettier and the retired walking-skeleton/e2e/isolation/db-suites jobs.
TheGreatAxios
force-pushed
the
cl-8150-ci-reset
branch
from
September 17, 2026 20:01
b14bf0d to
4eb1dc0
Compare
TheGreatAxios
added a commit
that referenced
this pull request
Sep 17, 2026
… APIs Rebases the 79adc433 re-vendor onto main (#790 oxfmt reformat, #791 hub composition-root reduction) and fixes what the bump broke: routeMail's new required authenticatedSender param, deployReadyAllocation's new reconciliation-context param, and the retirement of SessionService.sendUserMessage (every caller now delivers a signed MIME message through SidecarRouter.routeMail, matching native-workflow-routine-launch.ts's existing pattern) and of workflow_definition.origin / workflow_definition_version.wire_projection (the routine/catalog code that read a launch body off the frozen projection is deleted outright — schedule/{available-catalog, deployed-cron-deployments,list-scheduled}.ts, launchable/target.ts, the hub cron-emitter wiring, and their tests — since Interchange no longer stores that projection at all). packages/workflows/definition-projection.ts keeps only its pure, DB-free half (the named errors and the schema-validated FoldedBody reader) for chat, which still needs the type surface ahead of its own CL-8175 retirement; its two DB-touching resolvers now fail loud with a named error instead of guessing at retired data. Re-applies workflow-host's CL-6448 single-step grants collapse, which the bump otherwise silently dropped. Updates VENDORED.md and kill-dates.txt for the 79adc433 pin, drops the delta rows upstream has since absorbed (the per-principal signing-key series, beforeToolExtension, the message_response signal kind, the childRunId forward), and bumps @corbits/interaction-tools past a test-only change the freshness check caught.
TheGreatAxios
added a commit
that referenced
this pull request
Sep 17, 2026
* Re-vendor @intX agent, harness, mail-memory, mailbox, mime, workflow-deploy, hub-common at 79adc433 * Re-vendor remaining @intX packages at 79adc433 db, types, hub-api, hub-sessions, hub-agent, inference, workflow, workflow-host copied wholesale from Interchange 79adc433, stripping upstream test files. * fix(vendor): rebase re-pin onto main and cut over removed Interchange APIs Rebases the 79adc433 re-vendor onto main (#790 oxfmt reformat, #791 hub composition-root reduction) and fixes what the bump broke: routeMail's new required authenticatedSender param, deployReadyAllocation's new reconciliation-context param, and the retirement of SessionService.sendUserMessage (every caller now delivers a signed MIME message through SidecarRouter.routeMail, matching native-workflow-routine-launch.ts's existing pattern) and of workflow_definition.origin / workflow_definition_version.wire_projection (the routine/catalog code that read a launch body off the frozen projection is deleted outright — schedule/{available-catalog, deployed-cron-deployments,list-scheduled}.ts, launchable/target.ts, the hub cron-emitter wiring, and their tests — since Interchange no longer stores that projection at all). packages/workflows/definition-projection.ts keeps only its pure, DB-free half (the named errors and the schema-validated FoldedBody reader) for chat, which still needs the type surface ahead of its own CL-8175 retirement; its two DB-touching resolvers now fail loud with a named error instead of guessing at retired data. Re-applies workflow-host's CL-6448 single-step grants collapse, which the bump otherwise silently dropped. Updates VENDORED.md and kill-dates.txt for the 79adc433 pin, drops the delta rows upstream has since absorbed (the per-principal signing-key series, beforeToolExtension, the message_response signal kind, the childRunId forward), and bumps @corbits/interaction-tools past a test-only change the freshness check caught.
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
setup,typecheck,lint,structural,unit) sharing a bun install cache, no Postgres service, no matrix, no artifacts.eslint-*/@eslint/*/typescript-eslintpackage, and prettier are gone, replaced byoxlint(1.83.0) andoxfmt(0.68.0), scoped toapps packages workflows scripts test..oxlintrc.jsoncarries the real rules the retiredeslint.config.tsenforced (no-consoleinsrc/outside tests/client-log;no-restricted-importsbanninglucide-react/@phosphor-icons/reactoutsidepackages/icons) plus several rules turned off as noisy repo-wide (see below).bun run fmtwas run once repo-wide; the reformat is its own commit.scripts/e2e/*) skip themselves in theunitjob for lack ofDATABASE_URL, same as they always have locally — nothing there was deleted, it just no longer gets a Postgres-backed CI job.src/the mass reformat touched got a patch bump (tool-package-freshness keys on name@version), with every real pin repointed at the new version.Rules disabled in
.oxlintrc.json(noisy repo-wide, not fixed per-line)unicorn/consistent-function-scoping,unicorn/prefer-string-starts-ends-with,unicorn/no-array-sort,unicorn/no-array-reverse,unicorn/prefer-add-event-listener,unicorn/no-useless-spread,unicorn/no-useless-fallback-in-spread,unicorn/no-thenable,unicorn/no-new-array,unicorn/require-module-specifiers,no-shadow,no-underscore-dangle,no-unmodified-loop-condition,no-unsafe-optional-chaining(every hit was the same safe test-only assert-then-cast-then-call pattern),no-useless-concat.Two real findings were fixed rather than suppressed: an unused destructured binding (renamed
_restoreFailure) and a redundant empty-export barrel left as-is with the rule turned off for that one deliberate idiom.One convention is now unenforced: the Sparkle/Sparkles glyph ban was an ESLint
no-restricted-syntaxselector oxlint has no equivalent for — noted inpackages/icons/README.md; reviewers should reject it by eye until/unless we find a substitute.Anything deleted that a remaining script referenced
scripts/run-all.tslost its--shardflag/exports (parseShardArg,selectShard,ShardSpec) since nothing shards anymore;scripts/run-all.test.tsdropped the matching coverage.scripts/e2e/db-gate.ts'sCI_JOBS_WITHOUT_POSTGRESallowlist is repointed at the new job names (setup,lint,typecheck,structural,unit);scripts/e2e/db-gate.test.tsupdated to match.scripts/ci-jobs.test.tsrewritten from scratch — the old assertions were entirely about the retired job shapes.check:web-utilities(the check itself buildsapps/webon demand whendistis stale, so it doesn't need CI's oldbuild-testjob to have run first — it's just slower on a cold structural run now).Test plan
bun run typecheckbun run lint/bun run fmt:checkbun run check:structuralbun test apps packages workflows scripts— 543 pre-existing failures confirmed identical on unmodifiedorigin/mainin a side-by-side worktree (this environment's sandboxed/headless bun test setup, unrelated to this change); net one fewer failure and five fewer tests here from the shard-test removal.