Skip to content

Migrate to everything.dev v2 (rc.27) - #85

Merged
jlwaugh merged 9 commits into
stagingfrom
upgrade/everything-v2
Oct 30, 2026
Merged

jlwaugh merged 9 commits into
stagingfrom
upgrade/everything-v2

Conversation

@jlwaugh

@jlwaugh jlwaugh commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Moves the dashboard from everything.dev v1 to v2 rc.27, and includes staging through #86. Verified: CI green (lint, typecheck, test, workflow guard); locally typecheck, biome, all suites (API 798, UI 297, builders 91, projects 35), bos build, browser checks. Payout code differs from staging only by one import line (ORPCError from @orpc/server). Cutover: Railway staging image → ghcr.io/nearbuilders/everything-dev@sha256:799452f6920d9d6555f13f20d6bfd708ac8235fde4adb45f690ffd14dad49e31 (v2.0.0-rc.27), then merge. Rollback: the v1 digest sha256:2a823da217569126460ff430bc2a0cf662b1a2c8732684e1e93d674fb092c9a6.

Move from everything.dev v1 to v2 rc.25: pnpm, bos.app.ts descriptor, every-plugin 3, oRPC 2, Effect 4, better-near-auth 2. Routes moved to _public/_authenticated; layouts as sibling files. Organization approval flow, API-side status check, session-from-cache root, /login forward to /sign-in, staging workflow on a staging-scoped Railway token, CI on upstream consumer-ci with no secrets.
@jlwaugh
jlwaugh marked this pull request as draft October 28, 2026 22:07
Runs bos upgrade on the hand-migrated branch so it has a sync baseline
and the framework-owned files nearbuilders.org, nostr and citynode use.

Kept where the upgrade was lossy or unsafe: changeset scripts,
ensure-auth-types in types:gen, strict test/typecheck loops, and the
disabled production deploy. Release now triggers on CI success since
the template ci.yml drops the notify job. Declares BETTER_AUTH_SECRET
on the API for the template plugin.dev.ts. Drops the dangling
@effect/oxc link and @types/bun.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@itexpert120

Copy link
Copy Markdown
Collaborator

Synced with bos upgrade to match the other v2 migrations (a5cfad2)

This branch was migrated to v2 by hand, so bos status showed "Last sync: never". nearbuilders.org, nostr.nearbuilders.org and citynode.app were all reconciled with bos upgrade. This update runs the same upgrade here, so future bos sync and bos upgrade runs have a baseline.

From the template (framework-owned)

  • .bos/sync-snapshot.json committed as the sync baseline.
  • .gitignore, ci.yml (adds child-ci and a Lint and Type Check merge gate), new ci-child.yml, and staging.yml (now calls the shared staging workflow).
  • drizzle.config.ts ×3, plugin.dev.ts, global.d.ts, test type files, tsconfigs, biome.json, postcss.config.mjs, AGENTS.md (bun commands → pnpm).
  • .env.test, docs/agents/, skills-lock.json.
  • The pnpm-workspace.yaml catalog matches the other repos (our overrides kept), and near-connect now comes from the catalog instead of a pinned 0.11.2.

Fixes to what the upgrade got wrong

  • Kept changeset/version/release (needed by release.yml) and ensure-auth-types in types:gen (the remote auth bundle still generates Auth = any).
  • Kept the || exit 1 loops in test/typecheck. The template version hides a failing plugins/builders run whenever plugins/projects passes.
  • Dropped the broken @effect/oxc link:repos/... dependency and the leftover @types/bun.
  • release.yml now runs after a successful CI run on main, since the template ci.yml drops the notify job.
  • Added BETTER_AUTH_SECRET: z.string().default("") to the API secrets schema, as nearbuilders.org and citynode.app do. The template plugin.dev.ts passes it.
  • deploy.yml stays disabled for production. The template version would auto-deploy multiagency.ai after every green CI run on main. The next bos sync will report this as a conflict rather than overwrite it.

Checks (local)

  • The migration table is unchanged (drizzle.__drizzle_migrations for api, builders and projects), so nothing re-runs.
  • typecheck ✅, lint ✅, bos build ✅
  • Tests: API 777, UI 276, builders 91, projects 35, all passing.
  • CI on GitHub: running on a5cfad2.

Before merge

  • Staging Railway token: the shared staging workflow reads secrets.RAILWAY_TOKEN, not RAILWAY_STAGING_TOKEN. Confirm RAILWAY_TOKEN belongs to the staging service, or the first staging deploy after merge will use the wrong token. It may also need RAILWAY_STAGING_API_TOKEN plus the RAILWAY_STAGING_PROJECT_ID/ENVIRONMENT_ID variables to re-point the Railway service. Not yet verified.
  • If branch protection requires a check by name, switch it to Lint and Type Check.
  • Cutover as before: Railway image → v2.0.0-rc.25 digest, then merge.

# Conflicts:
#	api/src/index.ts
#	bos.config.json
#	ui/src/routes/_authenticated/admin/index.tsx
#	ui/src/routes/_authenticated/admin/work-orders/$id.tsx
@jlwaugh jlwaugh changed the title Migrate to everything.dev v2 (rc.25) Migrate to everything.dev v2 (rc.27) Oct 30, 2026
@jlwaugh
jlwaugh marked this pull request as ready for review October 30, 2026 21:11
@jlwaugh
jlwaugh merged commit e47dfe1 into staging Oct 30, 2026
5 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.

2 participants