Skip to content

feat(hub)!: drop the setup-status and noop-inference mounts (CL-8160) - #786

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-8160-drop-setup-noop
Sep 17, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-8160-drop-setup-noop

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • Deletes the hub's /api/setup mount (apps/hub/src/setup-status.ts): apps/web/src/onboarding.ts's triggerFirstLoginProvisioning now derives setup-required from the client converge state (findOwnedTenants over createFetchStockHub) instead of a hub-served route.
  • Deletes the hub's /api/chat/noop-inference mount and module (apps/hub/src/e2e/noop-inference.ts) — owner decision: a scheduled step that needs no model must not call one.
  • packages/connections/src/seed-catalog.ts drops ensureNoopCatalogOffering and its NOOP_* constants; the underlying ensureCatalogModel/ensureCatalogProvider/ensureCatalogOffering primitives are now exported for reuse. packages/onboarding/src/tenant-seed.ts drops the dead noop-pinned-workflow branch (modelSource) it fed — no seeded workflow set that field, so this was already dead code (heartbeat was previously dropped from the seeded set).
  • workflows/heartbeat and workflows/workbench-digest no longer document a deployer-side noop ModelSource pin. @intx/workflow's action primitive (the only non-agent step shape) has no invokeAction callback wired on any shipped host, so per owner direction these now deploy against the tenant's own real, resolved catalog offering like every other workflow, rather than inventing a fake provider to route around a step that will still make a real call.
  • E2E suites that exercised the noop path (scripts/e2e/heartbeat.test.ts, workbench-digest.test.ts, smoke-webhook.test.ts) now start their own local noop inference server (new scripts/e2e/noop-inference-server.ts, handler moved from the deleted hub module) and plant a catalog offering against it directly — never against the hub.

Deleted tests (hard cutover — encoded the removed hub routes)

  • apps/hub/src/setup-status.test.ts
  • apps/hub/src/e2e/noop-inference.test.ts
  • apps/web/test/onboarding.test.tsx
  • the "ensureNoopCatalogOffering" describe block in packages/connections/src/seed-catalog.test.ts

Test plan

  • bun run typecheck
  • bun run lint (pre-existing AGENTS.md prettier warning on main, untouched by this branch, left as-is)
  • bun run check:structural (regenerated report-error baseline for the one stale entry this change fixed)
  • bun --cwd apps/hub test
  • bun --cwd apps/web test

The hub no longer mounts /api/setup (setup-status.ts) or
/api/chat/noop-inference (e2e/noop-inference.ts): a scheduled step that
needs no model must not call one, and setup status is now derived
client-side from the converge state (findOwnedTenants over
createFetchStockHub) instead of a hub-served route.

- apps/web/src/onboarding.ts's triggerFirstLoginProvisioning now reads
  ownership of tenants directly over stock routes instead of GET
  /api/setup/status.
- packages/connections/src/seed-catalog.ts drops
  ensureNoopCatalogOffering and its NOOP_* constants; its underlying
  ensureCatalogModel/Provider/Offering primitives are now exported for
  reuse. packages/onboarding/src/tenant-seed.ts drops the dead
  noop-pinned-workflow branch (modelSource) it fed — no seeded workflow
  set that field.
- workflows/heartbeat and workflows/workbench-digest stop documenting a
  deployer-side noop ModelSource pin: with no non-agent step primitive
  wired on the deployed host (@intx/workflow's `action` primitive has
  no invokeAction callback anywhere), these now deploy against the
  tenant's own real, resolved catalog offering like every other
  workflow, per owner decision.
- E2E suites that exercised the noop path (scripts/e2e/heartbeat.test.ts,
  workbench-digest.test.ts, smoke-webhook.test.ts) now start their own
  local noop inference server (scripts/e2e/noop-inference-server.ts,
  moved handler) and plant a catalog offering against it directly,
  never against the hub.

Deleted tests (hard cutover, encoded the removed hub routes):
- apps/hub/src/setup-status.test.ts
- apps/hub/src/e2e/noop-inference.test.ts
- apps/web/test/onboarding.test.tsx
- the "ensureNoopCatalogOffering" describe block in
  packages/connections/src/seed-catalog.test.ts
@linear-code

linear-code Bot commented Sep 17, 2026

Copy link
Copy Markdown

CL-8160

@TheGreatAxios
TheGreatAxios merged commit e21d8f2 into main Sep 17, 2026
3 of 9 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