Effect 4 migration (RFC-0023 Phase B) #1

Merged
riccardo merged 31 commits from effect-4 into main 2026-10-28 17:54:06 +01:00
Owner

Integration branch for the Effect 3 → 4 flip (RFC-0023 Phase B, ADR-2026-10-08 D4). Draft until every unit lands.

  • Tracker: Plane DDDA-73 (epic), DDDA-79 (slice 6). Tasks: .tasks/tracked/effect-4-migration.yaml.
  • First commit pins effect and every @effect/* at ~4.0.6 (D3; 4.0.6 is the D8 acquireTimeout floor) and drops @effect/platform / @effect/sql.
  • Whole-repo checks are red by design until the last unit (e4-flip-runner, e4-flip-tooling-text); each unit's own gate covers only the packages it migrates.
  • While this PR is open, main takes only non-Effect changes and Phase A follow-ups; main is merged into effect-4 at the start of every slice.
  • Merge criteria (e4-merge-gates): whole-repo gates, every scaffold leg and both workflows green on the head.
Integration branch for the Effect 3 → 4 flip (RFC-0023 Phase B, ADR-2026-10-08 D4). Draft until every unit lands. - Tracker: Plane DDDA-73 (epic), DDDA-79 (slice 6). Tasks: `.tasks/tracked/effect-4-migration.yaml`. - First commit pins `effect` and every `@effect/*` at `~4.0.6` (D3; 4.0.6 is the D8 `acquireTimeout` floor) and drops `@effect/platform` / `@effect/sql`. - Whole-repo checks are **red by design** until the last unit (`e4-flip-runner`, `e4-flip-tooling-text`); each unit's own gate covers only the packages it migrates. - While this PR is open, `main` takes only non-Effect changes and Phase A follow-ups; `main` is merged into `effect-4` at the start of every slice. - Merge criteria (`e4-merge-gates`): whole-repo gates, every scaffold leg and both workflows green on the head.
build(deps): bump effect and @effect/* to ~4.0.6 on effect-4
Some checks failed
CI / Core Gates (build · typecheck · test · lint · tasks) (pull_request) Failing after 1m41s
CI / Integration Gates (postgres · kurrentdb) (pull_request) Failing after 1m41s
CI / Scaffold Smoke (template · scaffold · install · build · test) (pull_request) Failing after 2m54s
Scaffold Integration Matrix / Scaffold Leg a (template · scaffold · install · build) (pull_request) Failing after 2m31s
Scaffold Integration Matrix / Scaffold Leg b (template · scaffold · install · build) (pull_request) Failing after 2m49s
Scaffold Integration Matrix / Scaffold Leg c (template · scaffold · install · build) (pull_request) Failing after 2m43s
Scaffold Integration Matrix / Scaffold Leg d (template · scaffold · install · build) (pull_request) Failing after 3m14s
Task Drift Check / Check Task-Document Drift (pull_request) Failing after 3s
55576f8e95
docs(root): wiki ingest, checkpoint and retro after effect 4 slice 6
Some checks failed
CI / Integration Gates (postgres · kurrentdb) (pull_request) Has been cancelled
CI / Scaffold Smoke (template · scaffold · install · build · test) (pull_request) Has been cancelled
Scaffold Integration Matrix / Scaffold Leg a (template · scaffold · install · build) (pull_request) Has been cancelled
Scaffold Integration Matrix / Scaffold Leg b (template · scaffold · install · build) (pull_request) Has been cancelled
Scaffold Integration Matrix / Scaffold Leg c (template · scaffold · install · build) (pull_request) Has been cancelled
Scaffold Integration Matrix / Scaffold Leg d (template · scaffold · install · build) (pull_request) Has been cancelled
Task Drift Check / Check Task-Document Drift (pull_request) Has been cancelled
CI / Core Gates (build · typecheck · test · lint · tasks) (pull_request) Has been cancelled
7ef56dadbb
docs(root): note the drift-check workflow setup failure in status
Some checks failed
CI / Core Gates (build · typecheck · test · lint · tasks) (pull_request) Failing after 2m5s
CI / Integration Gates (postgres · kurrentdb) (pull_request) Failing after 1m49s
CI / Scaffold Smoke (template · scaffold · install · build · test) (pull_request) Failing after 3m40s
Scaffold Integration Matrix / Scaffold Leg a (template · scaffold · install · build) (pull_request) Failing after 2m33s
Scaffold Integration Matrix / Scaffold Leg b (template · scaffold · install · build) (pull_request) Failing after 2m39s
Scaffold Integration Matrix / Scaffold Leg c (template · scaffold · install · build) (pull_request) Failing after 2m34s
Scaffold Integration Matrix / Scaffold Leg d (template · scaffold · install · build) (pull_request) Failing after 2m23s
Task Drift Check / Check Task-Document Drift (pull_request) Failing after 2s
af2bdfc326
The acceptance command joined two commands with &&, which the epic loop's
command sanitizer rejects. Each suite is now its own acceptance criterion.
HttpRouter.serve hosts the route layers, Swagger and CORS; the security
handler authenticates first and provides RequestContext outside every
recovery, so handler errors pass through. The wire test diff is the
CHANGELOG list: 401/403/500 carry a _tag-only JSON body, a decode failure
answers an empty 400, OpenAPI drops the decode 400 on 11 operations, a
defect answers an empty 500, and an absent optional key encodes null.
Both adapters run every shared contract suite on Effect 4 without Docker
(98 and 79 tests). The event store keeps storing the encoded event, so the
streamed timestamp stays an ISO string.
Both event-store pools probe the database with SELECT 1 at layer build and
bound the checkout with acquireTimeout equal to the connect timeout, so an
unreachable database fails the build and a saturated pool fails within the
timeout. int8 rows are typed bigint; pagination uses Stream.paginate.
The query pool probes the database with SELECT 1 at layer build and bounds
the checkout with acquireTimeout; connection faults stay defects. Projector
name validation keeps its messages on v4 checks, and int8 rows are bigint.
Comments name effect/sql and state present behaviour, the migration_id row
is a number, the error example carries message, the stream layer's timeout
knob is documented, and the no-leak test asserts its checkout timeout.
docs(root): wiki ingest and retro after effect 4 slice 7
Some checks failed
CI / Core Gates (build · typecheck · test · lint · tasks) (pull_request) Failing after 1m58s
CI / Integration Gates (postgres · kurrentdb) (pull_request) Failing after 1m53s
CI / Scaffold Smoke (template · scaffold · install · build · test) (pull_request) Failing after 4m9s
Scaffold Integration Matrix / Scaffold Leg a (template · scaffold · install · build) (pull_request) Failing after 2m50s
Scaffold Integration Matrix / Scaffold Leg b (template · scaffold · install · build) (pull_request) Failing after 9m45s
Scaffold Integration Matrix / Scaffold Leg d (template · scaffold · install · build) (pull_request) Has been cancelled
Task Drift Check / Check Task-Document Drift (pull_request) Has been cancelled
Scaffold Integration Matrix / Scaffold Leg c (template · scaffold · install · build) (pull_request) Has been cancelled
d81c6b525e
Slice 7 facts go to effect-4-migration and orchestration-gates; status
hands off to slice 8 (DDDA-81). Retro: spike snapshots as plan inputs,
plain-markdown scout reports, and the tsc --build backstop caveat move into
the loop skills; L28 and L30 retire.
docs(root): record slice 7 typecheck counts and fence prune check
Some checks failed
CI / Core Gates (build · typecheck · test · lint · tasks) (pull_request) Failing after 2m17s
CI / Integration Gates (postgres · kurrentdb) (pull_request) Failing after 1m52s
CI / Scaffold Smoke (template · scaffold · install · build · test) (pull_request) Failing after 5m0s
Scaffold Integration Matrix / Scaffold Leg a (template · scaffold · install · build) (pull_request) Failing after 3m13s
Scaffold Integration Matrix / Scaffold Leg b (template · scaffold · install · build) (pull_request) Failing after 3m12s
Scaffold Integration Matrix / Scaffold Leg c (template · scaffold · install · build) (pull_request) Failing after 3m8s
Scaffold Integration Matrix / Scaffold Leg d (template · scaffold · install · build) (pull_request) Failing after 3m44s
Task Drift Check / Check Task-Document Drift (pull_request) Failing after 6s
6bdadd6505
tsc -p counts replace the two-package sample for the vacuous tsc --build
typecheck, whose wording is scoped to node_modules-resolved dependencies.
The log records the fence prune check and the session's advisories.
Mount moderation inside HttpRouter.serve through the new makeHttpLive
export of the http-rest-adapter.
docs(root): wiki ingest and retro after effect 4 slice 8
Some checks failed
CI / Core Gates (build · typecheck · test · lint · tasks) (pull_request) Successful in 4m32s
CI / Integration Gates (postgres · kurrentdb) (pull_request) Successful in 2m45s
CI / Scaffold Smoke (template · scaffold · install · build · test) (pull_request) Successful in 4m46s
Scaffold Integration Matrix / Scaffold Leg a (template · scaffold · install · build) (pull_request) Successful in 3m33s
Scaffold Integration Matrix / Scaffold Leg b (template · scaffold · install · build) (pull_request) Successful in 2m54s
Scaffold Integration Matrix / Scaffold Leg c (template · scaffold · install · build) (pull_request) Successful in 2m54s
Scaffold Integration Matrix / Scaffold Leg d (template · scaffold · install · build) (pull_request) Successful in 2m55s
Task Drift Check / Check Task-Document Drift (pull_request) Failing after 2s
da8490f3bd
fix(root): address effect 4 slice 9 review findings
Some checks failed
CI / Core Gates (build · typecheck · test · lint · tasks) (pull_request) Successful in 3m41s
CI / Integration Gates (postgres · kurrentdb) (pull_request) Successful in 2m12s
CI / Scaffold Smoke (template · scaffold · install · build · test) (pull_request) Successful in 4m27s
Scaffold Integration Matrix / Scaffold Leg a (template · scaffold · install · build) (pull_request) Successful in 3m23s
Scaffold Integration Matrix / Scaffold Leg b (template · scaffold · install · build) (pull_request) Successful in 3m10s
Scaffold Integration Matrix / Scaffold Leg c (template · scaffold · install · build) (pull_request) Successful in 3m43s
Scaffold Integration Matrix / Scaffold Leg d (template · scaffold · install · build) (pull_request) Successful in 3m31s
Task Drift Check / Check Task-Document Drift (pull_request) Failing after 4s
3c34099ad5
riccardo changed title from WIP: Effect 4 migration (RFC-0023 Phase B) to Effect 4 migration (RFC-0023 Phase B) 2026-10-28 17:53:56 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
riccardo/create-node-ddd-app!1
No description provided.