diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,20 @@
 
 ## [Unreleased]
 
+## [0.2.2.2] - 2026-09-10
+
+### Changed
+
+- Require `effectful >=2.7 && <2.8`.
+- Require `effectful-core >=2.7 && <2.8`.
+- Require `effectful-plugin >=2.2 && <2.3`.
+
+## [0.2.2.1] - 2026-09-09
+
+### Fixed
+
+- Build failure due to missing `AsRawUnit` class from `Atelier.Time`.
+
 ## [0.2.2.0] - 2026-09-05
 
 ### Added
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -6,16 +6,6 @@
 
 See the [repository README](https://github.com/tweag/tricorder#readme) for installation (Nix, Home Manager, NixOS), Claude Code plugin setup, configuration, and custom key bindings.
 
-## Built on atelier
-
-`tricorder` is built on the **atelier** toolkit, also developed in this repository:
-
-- [`atelier-prelude`](https://github.com/tweag/tricorder/tree/main/atelier-prelude) — relude-based prelude with Effectful conventions
-- [`atelier-core`](https://github.com/tweag/tricorder/tree/main/atelier-core) — foundational effects and utilities
-- [`atelier-db`](https://github.com/tweag/tricorder/tree/main/atelier-db) — relational database effect (Hasql/Rel8)
-- [`atelier-testing`](https://github.com/tweag/tricorder/tree/main/atelier-testing) — database-backed test utilities
-- [`atelier-monitoring`](https://github.com/tweag/tricorder/tree/main/atelier-monitoring) - observability and monitoring effects and utilities
-
 ## License
 
 MIT — see [LICENSE](LICENSE).
diff --git a/tricorder.cabal b/tricorder.cabal
--- a/tricorder.cabal
+++ b/tricorder.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:            tricorder
-version:         0.2.2.0
+version:         0.2.2.2
 synopsis:        Continuous Haskell build status, diagnostics, and tests via a shared daemon
 description:     tricorder rebuilds your Haskell project continuously and surfaces build status, diagnostics, test results, and documentation - for developers and LLM coding agents. Like ghcid and ghciwatch it reloads on every change, but builds run in a background daemon so multiple clients (an interactive TUI, a status CLI, an agent skill) share a single build state without triggering redundant rebuilds. It discovers components across multi-package cabal.project workspaces automatically and ships context-friendly output for agentic use via the CLI.
 category:        Development
@@ -119,8 +119,8 @@
       Cabal >=3.12 && <3.19
     , Cabal-syntax >=3.12 && <3.19
     , aeson >=2.2 && <2.4
-    , atelier-core >=0.3 && <0.5
-    , atelier-prelude >=0.1 && <0.3
+    , atelier-core ==0.6.*
+    , atelier-prelude ==0.3.*
     , base >=4.18 && <4.23
     , brick >=2.10 && <2.14
     , bytestring >=0.11 && <0.13
@@ -128,9 +128,9 @@
     , containers >=0.6 && <0.9
     , data-default ==0.8.*
     , directory ==1.3.*
-    , effectful ==2.6.*
-    , effectful-core ==2.6.*
-    , effectful-plugin >=2.0 && <2.2
+    , effectful ==2.7.*
+    , effectful-core ==2.7.*
+    , effectful-plugin ==2.2.*
     , effectful-th ==1.0.*
     , filepath >=1.4 && <1.6
     , hashable ==1.5.*
@@ -148,7 +148,7 @@
     , text ==2.1.*
     , time >=1.12 && <1.17
     , time-units ==1.0.*
-    , tricorder-types ==0.1.*
+    , tricorder-types ==0.2.*
     , vty >=6.5 && <6.7
     , vty-crossplatform ==0.5.*
     , yaml ==0.11.*
@@ -186,10 +186,10 @@
       TypeFamilies
   ghc-options: -Weverything -Wno-unsafe -Wno-missing-safe-haskell-mode -Wno-monomorphism-restriction -Wno-missing-kind-signatures -Wno-missing-local-signatures -Wno-missing-import-lists -Wno-implicit-prelude -Wno-unticked-promoted-constructors -Wno-unused-packages -Wno-all-missed-specialisations -Wno-missed-specialisations -fplugin=Effectful.Plugin -threaded "-with-rtsopts=-N -T"
   build-depends:
-      atelier-prelude >=0.1 && <0.3
+      atelier-prelude ==0.3.*
     , base >=4.18 && <4.23
-    , effectful-core ==2.6.*
-    , effectful-plugin >=2.0 && <2.2
+    , effectful-core ==2.7.*
+    , effectful-plugin ==2.2.*
     , tricorder-internal
   mixins:
       base hiding (Prelude)
@@ -224,10 +224,10 @@
       TypeFamilies
   ghc-options: -Weverything -Wno-unsafe -Wno-missing-safe-haskell-mode -Wno-monomorphism-restriction -Wno-missing-kind-signatures -Wno-missing-local-signatures -Wno-missing-import-lists -Wno-implicit-prelude -Wno-unticked-promoted-constructors -Wno-unused-packages -Wno-all-missed-specialisations -Wno-missed-specialisations -fplugin=Effectful.Plugin -threaded "-with-rtsopts=-N -T"
   build-depends:
-      atelier-prelude >=0.1 && <0.3
+      atelier-prelude ==0.3.*
     , base >=4.18 && <4.23
-    , effectful-core ==2.6.*
-    , effectful-plugin >=2.0 && <2.2
+    , effectful-core ==2.7.*
+    , effectful-plugin ==2.2.*
     , tricorder-internal
   mixins:
       base hiding (Prelude)
@@ -292,15 +292,15 @@
   build-depends:
       Cabal-syntax >=3.12 && <3.19
     , aeson >=2.2 && <2.4
-    , atelier-core >=0.3 && <0.5
-    , atelier-prelude >=0.1 && <0.3
+    , atelier-core ==0.6.*
+    , atelier-prelude ==0.3.*
     , base >=4.18 && <4.23
     , bytestring >=0.11 && <0.13
     , containers >=0.6 && <0.9
     , data-default ==0.8.*
-    , effectful ==2.6.*
-    , effectful-core ==2.6.*
-    , effectful-plugin >=2.0 && <2.2
+    , effectful ==2.7.*
+    , effectful-core ==2.7.*
+    , effectful-plugin ==2.2.*
     , filepath >=1.4 && <1.6
     , hspec ==2.11.*
     , megaparsec >=9.7 && <9.9
@@ -315,7 +315,7 @@
     , time >=1.12 && <1.17
     , time-units ==1.0.*
     , tricorder-internal
-    , tricorder-types ==0.1.*
+    , tricorder-types ==0.2.*
     , typed-process ==0.2.*
     , unagi-chan ==0.4.*
     , unix ==2.8.*
