code wiki / (root) / nx_nxtask.nx

nx_nxtask.nx

buildroot/runtime/nx_nxtask.nx

11106 B333 linesdepth 2pulls 2 transitivereach 2 importersview sourcekind tooltopic nxtask
docsdependenciesstructsconstsfunctions

about

nxtask.nx -- sovereign agent task graph (beads-equivalent). Persistent, structured-memory task tracker for the Mormon local AI agent (docs/LAYER_1_3_SOVEREIGNTY_AUDIT.md). Tracks work across sessions; survives agent restarts. Design inherited from beads (gastownhall/beads) where it fit sovereignty discipline. Divergences: - NO external SQL engine (Dolt is 100 MB + MySQL-compat). Instead: content-addressable flat files, one JSON blob per task. Ride on fs.nx. Zero runtime deps. - NO Dolt cell-level merge. Instead: append-only event log per task id; merge via event-timestamp ordering. v0.1.0 adds cross-agent merge; v0.0.1 single-agent only. - Same JSON API as beads where possible -- Mormon can switch backends seamlessly later. v0.0.1 scope: add, list, claim, close, show, ready. No hierarchy, no deps yet -- foundations first, semantics layer in v0.1.0.

dependencies 1 imports · 2 importers

nx_syscalls.nx nx_nxtask.nx nx_nxtask_main.nx nx_nxtask_store.nx

imports: nx_syscalls.nx

imported by: nx_nxtask_main.nxnx_nxtask_store.nx

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main nxtask_graph_new sys_mmap nxtask_add task_at sys_mmap ↻ nxtask_count_state task_at ↻ nxtask_next_ready nxtask_is_ready task_at ↻ nxtask_claim task_at ↻ sys_mmap ↻ task_at ↻ nxtask_close task_at ↻ sys_mmap ↻ nxtask_add_dep task_at ↻ sys_mmap ↻ nxtask_is_ready ↻

structs

45struct Task
63struct TaskGraph

consts

29const TASK_MAGIC_1000000000: i64 = 1000000000
30const TASK_MAGIC_1000001000: i64 = 1000001000
31const TASK_MAGIC_1000002000: i64 = 1000002000
32const TASK_MAGIC_1000003000: i64 = 1000003000
33const TASK_MAGIC_1000005000: i64 = 1000005000
34const TASK_MAGIC_1000006000: i64 = 1000006000
35const TASK_MAGIC_1000007000: i64 = 1000007000
39const TASK_MAX_DESC: i64 = 2048
40const TASK_MAX_OPEN_TASKS: i64 = 1024
41const TASK_STATE_OPEN: i64 = 0
42const TASK_STATE_CLAIMED: i64 = 1
43const TASK_STATE_CLOSED: i64 = 2
69const TASK_BYTES: i64 = 112
70const MAX_DEPS: i64 = 16

functions

74func nxtask_graph_new(cap: i64) -> *TaskGraph
83func task_at(g: *TaskGraph, idx: i64) -> *Task
92func nxtask_add(g: *TaskGraph, desc: *u8, desc_len: i64,
135func nxtask_add_dep(g: *TaskGraph, task_idx: i64,
156func nxtask_is_ready(g: *TaskGraph, idx: i64) -> i64
called by 2: nxtask_next_readymain calls 1: task_at
184func nxtask_claim(g: *TaskGraph, idx: i64,
209func nxtask_close(g: *TaskGraph, idx: i64,
233func nxtask_count_state(g: *TaskGraph, state: i64) -> i64
called by 1: main calls 1: task_at
246func nxtask_next_ready(g: *TaskGraph) -> i64
called by 2: mainmain calls 1: nxtask_is_ready
257func main() -> i64