Omni/Pipeline becomes the orchestrator that connects tasks, fund, and agentd:
1. Periodically scans task ready per namespace/domain 2. Checks fund for available budget in that domain 3. If budget available → spawns agent via agentd, tagged with domain 4. Agent works tasks, cost accumulates against domain budget 5. Agent finishes → sets task to review status 6. Loop
This replaces ad-hoc agent spawning with a systematic scheduler. Each domain's agent only works tasks in its namespace, only if it has budget.
Dependencies: fund command (for budget checks), agentd domain tagging, task inbox/review workflow (t-608).
The pipeline should be independently runnable (cron, systemd timer, or long-lived process) and Ava can also trigger it manually.
Pipeline: verification failed: Build failed for Omni/Pipeline.hs (exit 1): bild: TERM: getEnv: does not exist (no environment variable)
Pipeline: dev completed (run=dev-t-623-1771485577, cost=0.0c)
Pipeline: verification failed: Build failed for Omni/Pipeline.hs (exit 1): 7[10000;10000H7[10000;10000Hthese 11 derivations will be built: /nix/store/5jsb562ldqsp756x8w6vgawyl4g9hdbl-hs-mod-Omni_Test.drv /nix/store/7bv756qnp7f0b9cnjsh79rgw5kxg98bk-hs-mod-Omni_Cli.drv /nix/store/wfzdqyg0k5rp61vrcf6x8k8cgqiypd3s-hs-mod-Omni_Pipeline_Core.drv /nix/store/94hfn7vssx2xwcyid7hcc94bizj2z39p-hs-mod-Omni_Pipeline_State.drv /nix/store/9ggcb55djh8ml09lha71rcmd9djba86j-hs-mod-Omni_Task_Core.drv /nix/store/azd113lxsdx9ais9b5f3xa8db7y78r6m-hs-mod-Omni_Pipeline_Verify.drv /nix/store/isly0jbbbjx5cyccrvgsghssr26z0srs-hs-mod-Omni_Pipeline_Workspace.drv /nix/store/jq84xyvjg3wy926imrak1xgnr5lb99qz-hs-mod-Omni_Pipeline_Integrate.drv /nix/store/q62dqcf1dgwgvqqiz21bdcngk4f9dlbz-hs-mod-Omni_Pipeline_Dev.drv /nix/store/5xcmnjy4gpcypryx4cjfpz95lcskbzw8-hs-mod-Omni_Pipeline.drv /nix/store/8djpivgz32hx36n1ss9kq3rk2qwjn3xr-pipeline.drv building '/nix/store/wfzdqyg0k5rp61vrcf6x8k8cgqiypd3s-hs-mod-Omni_Pipeline_Core.drv'... building '/nix/store/9ggcb55djh8ml09lha71rcmd9djba86j-hs-mod-Omni_Task_Core.drv'... building '/nix/store/5jsb562ldqsp756x8w6vgawyl4g9hdbl-hs-mod-Omni_Test.drv'...
Omni/Task/Core.hs:21:1: error:
Could not find module Database.SQLite.Simple'
Use -v (or :set -v` in ghci) to see a list of the files searched for.
|
21 | import qualified Database.SQLite.Simple as SQL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Omni/Task/Core.hs:22:1: error:
Could not find module Database.SQLite.Simple.FromField'
Use -v (or :set -v` in ghci) to see a list of the files searched for.
|
22 | import qualified Database.SQLite.Simple.FromField as SQL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Omni/Task/Core.hs:23:1: error:
Could not find module Database.SQLite.Simple.Ok'
Use -v (or :set -v` in ghci) to see a list of the files searched for.
|
23 | import qualified Database.SQLite.Simple.Ok as SQLOk
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Omni/Task/Core.hs:24:1: error:
Could not find module Database.SQLite.Simple.ToField'
Use -v (or :set -v in ghci) to see a list of the files searched for.
|
24 | import qualified Database.SQLite.Simple.ToField as SQL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: builder for '/nix/store/9ggcb55djh8ml09lha71rcmd9djba86j-hs-mod-Omni_Task_Core.drv' failed with exit code 1;
last 25 log lines:
> Use -v (or :set -v in ghci) to see a list of the files searched for.
> |
> 21 | import qualified Database.SQLite.Simple as SQL
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Omni/Task/Core.hs:22:1: error:
> Could not find module Database.SQLite.Simple.FromField'
> Use -v (or :set -v in ghci) to see a list of the files searched for.
> |
> 22 | import qualified Database.SQLite.Simple.FromField as SQL
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Omni/Task/Core.hs:23:1: error:
> Could not find module Database.SQLite.Simple.Ok'
> Use -v (or :set -v in ghci) to see a list of the files searched for.
> |
> 23 | import qualified Database.SQLite.Simple.Ok as SQLOk
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Omni/Task/Core.hs:24:1: error:
> Could not find module Database.SQLite.Simple.ToField'
> Use -v (or :set -v in ghci) to see a list of the files searched for.
> |
> 24 | import qualified Database.SQLite.Simple.ToField as SQL
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For full logs, run:
nix log /nix/store/9ggcb55djh8ml09lha71rcmd9djba86j-hs-mod-Omni_Task_Core.drv
error: 1 dependencies of derivation '/nix/store/8djpivgz32hx36n1ss9kq3rk2qwjn3xr-pipeline.drv' failed to build
[1A[1G[2K[+] Omni/Pipeline.hs [1A[1G[2K[0m[…] Omni/Pipeline.hs[0m[1B
[1A[1G[2K[+] Omni/Pipeline.hs [1A[1G[2K[~] Omni/Pipeline.hs: warning: you did not specify '--add-root'; the result ...[1B[1A[1G[2K[~] Omni/Pipeline.hs: /nix/store/8djpivgz32hx36n1ss9kq3rk2qwjn3xr-pipeline.drv…[1B[1A[1G[2K[~] Omni/Pipeline.hs: these 11 derivations will be built:…[1B[1A[1G[2K[~] Omni/Pipeline.hs: /nix/store/5jsb562ldqsp756x8w6vgawyl4g9hdbl-hs-mod-O...[1B[1A[1G[2K[~] Omni/Pipeline.hs: building '/nix/store/wfzdqyg0k5rp61vrcf6x8k8cgqiypd3s-...[1B[1A[1G[2K[~] Omni/Pipeline.hs: building '/nix/store/9ggcb55djh8ml09lha71rcmd9djba86j-...[1B[1A[1G[2K[~] Omni/Pipeline.hs: building '/nix/store/5jsb562ldqsp756x8w6vgawyl4g9hdbl-...[1B[1A[1G[2K[~] Omni/Pipeline.hs: …[1B[1A[1G[2K[~] Omni/Pipeline.hs: Omni/Task/Core.hs:21:1: error: Could not find modul...[1B[1A[1G[2K[~] Omni/Pipeline.hs: Omni/Task/Core.hs:22:1: error: Could not find modul...[1B[1A[1G[2K[~] Omni/Pipeline.hs: Omni/Task/Core.hs:23:1: error: Could not find modul...[1B[1A[1G[2K[~] Omni/Pipeline.hs: Omni/Task/Core.hs:24:1: error: Could not find modul...[1B[1A[1G[2K[~] Omni/Pipeline.hs: error: builder for '/nix/store/9ggcb55djh8ml09lha71rcm...[1B[1A[1G[2K[~] Omni/Pipeline.hs: error: 1 dependencies of derivation '/nix/store/8djpiv...[1B[0m[38;5;1m[2Kfail: bild: realise: Omni/Pipeline.hs [0m[0m [0m[1A[1G[2K[0m[38;5;1m[x] Omni/Pipeline.hs[0m[1B 1
Pipeline: dev completed (run=dev-t-623-1771540494, cost=0.0c)
Pipeline: build verification passed
Pipeline: integrated into live at d20cb79f4bcd838ef05bbe6f149dfeb67f7829a0
Pipeline: dev completed (run=dev-t-623-1771469578, cost=0.0c)