46 Commits
Author SHA1 Message Date
udoandClaude Fable 5.1 ca8edb6bd1 Delete the queued task API, the task pool, and the job API
Tasks are fire-and-forget only: function TASK:NAME(props : dval) and
task_execute(target, timeout_seconds, props). The durable queue, the
TASK_WORKERS pool with its leases, cancellation, admission health and recovery,
task, task_status, task_await, task_cancel, the background form of shell_exec,
job_status, job_result, job_await, job_cancel, http_request_async, the job
directory and its --job-worker helper, their pages, fixtures, guide sections,
settings documentation and parity rows are gone. A bare TASK handler is a
compile error.

shell_exec(command, {on_done: "/unit.capy:NAME"}) keeps the one job use that
mattered: the command runs in the detached task runner, and TASK:NAME of the
unit receives command, exit_code, stdout, stderr, timed_out and
output_truncated when it finishes. Unit path resolution is shared by tasks and
services. The tasks guide is "Tasks and commands" with a stable slug change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-14 01:14:19 +00:00
root 8423307a9e Test the service cat slice and use hex digests for state filenames 2026-10-14 00:20:49 +00:00
udoandClaude Fable 5.1 9c62e77de5 Add task_execute: run a task handler in a detached, bounded process
task_execute(target, timeout_seconds, props) starts a process for TASK:NAME at
once and returns {pid}, or {error} when it cannot. The request worker spawns
the runner through the --task-execute entry of its own binary; that process
forks the detached runner, reports its pid, and exits, so the worker never
owns a zombie. The runner loads settings like the custom server, runs the
handler under the timeout as its invocation deadline with an alarm as the
backstop, and exits. The pool loop shares run_task_once with it. The task
design note records the decided API, the callback into TASK, and what the
second step deletes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 22:40:56 +00:00
udoandClaude Fable 5.1 781b094713 Document services: handler page and guide chapter
SERVICE handler page with the event table, state in unit variables, the
synthetic request, and lifetime rules. Guide chapter 12 covers the loop model,
state, start/stop/send, intervals, ports, failure, and what a service is not;
errors and React move to 13 and 14 with stable slugs. The doc scripts accept
the service example entry and recognize SERVICE handlers. The design note fixes
service_every to take the interval before its optional props.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 21:37:29 +00:00
udoandClaude Fable 5.1 a390309d50 Services: mailbox bound is the kernel datagram queue
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 21:17:18 +00:00
udoandClaude Fable 5.1 2f881f2eae Add unit-scope variables
A top-level var is one mutable Wasm global, initialized in declaration order by
an exported __wasm_call_ctors that the worker already runs once per workspace
after relocation and before INIT. Functions and closures read and assign unit
variables directly; managed values retain and release like locals; a local or
parameter shadows them; an initializer sees only the variables above it and has
no request. Names cannot be request, props, none, or collide with a function,
struct, or alias. The capability scan is seeded with unit variable types, the
LSP reports them as variable symbols, and the services design note now keeps
service state in unit variables with the synthetic request bound for builtins.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 21:12:27 +00:00
udoandClaude Fable 5.1 42fc7bac1d Services: state lives in request keys, not module variables
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 19:34:01 +00:00
udoandClaude Fable 5.1 4c6a5932f2 Services: interval timer service_every
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 18:47:20 +00:00
udoandClaude Fable 5.1 a30052f067 Services: send implies start, ports are service-only
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 18:04:03 +00:00
udoandClaude Fable 5.1 7427fe4d40 Add the services design note
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 18:01:35 +00:00
root d775d701f3 Cache unit paths, sources, metadata, and artifact checks. 2026-10-02 00:18:04 +00:00
root 97d7178771 Replace serialized dval payloads with live core DValue pointers. 2026-10-01 21:57:36 +00:00
root 0c90a39e16 Share one request dval across handlers. 2026-09-30 23:36:52 +00:00
root d428604cad Lay out map literals by entry count. 2026-09-30 22:14:09 +00:00
root 3840da3ca6 Set HOME for the package release service. 2026-09-30 05:52:01 +00:00
root a576e68b24 Add checks for public documentation links. 2026-09-30 05:03:09 +00:00
root b878f737ef Record package release documentation. 2026-09-29 21:33:05 +00:00
root 7b116048b7 Skip deployment of revisions already contained in the live checkout. 2026-09-29 20:51:18 +00:00
root a67c6c00fc Record package release verification. 2026-09-29 20:15:54 +00:00
root 6a9cc523b3 Record verified Arty package publication. 2026-09-12 21:09:14 +00:00
udo cfd55fb915 Record runtime package cleanup completion. 2026-09-12 14:12:03 +00:00
udo 83cc964640 Separate runtime packages from applications. 2026-09-12 14:11:27 +00:00
root 39262d05df Record updater acceptance and rollback retention. 2026-09-12 13:57:30 +00:00
root 33cbc025e9 Block deployment for unchecked approval markers. 2026-09-12 13:52:39 +00:00
root 6134dc33ba Gate deployment on artifacts and compiler scaling. 2026-09-12 13:47:04 +00:00
root 24919e4a1c Track CT100 updater assets in deployment. 2026-09-12 13:45:46 +00:00
root eb554373a0 Retry CLI calls while workers drain. 2026-09-04 21:18:54 +00:00
root 2d38aed347 Record CLI drain retry acceptance. 2026-09-04 21:06:29 +00:00
root e0b1c420b0 Retire workers after large CLI units. 2026-09-04 20:19:01 +00:00
root 0037f34710 Correct ownership and MySQL result handling. 2026-09-04 18:40:45 +00:00
root 1d0ce4665b Make Capy artifact paths reproducible. 2026-09-03 17:28:30 +00:00
root ba8dfd1bad Add Capy editor support and batch checking. 2026-09-03 12:09:37 +00:00
root d9a3c12868 Add Capy language server and check modes. 2026-09-03 08:56:01 +00:00
root 5e4711468a Record service restart and certificate checks. 2026-09-03 07:26:17 +00:00
root 670d41a3a1 Document public project home deployment. 2026-09-03 07:23:50 +00:00
root 3335e9d38e Complete the reflection work record. 2026-09-01 17:41:03 +00:00
root 65538d4c4b Add embedded Capy struct reflection. 2026-09-01 17:40:03 +00:00
root 256bf88ebb Align Capy API contracts and noise generation. 2026-09-01 15:23:41 +00:00
root d474b5de34 Verify float formatting does not leak allocations. 2026-08-31 13:16:02 +00:00
root e191f9e7dc Record Capy string operation measurements. 2026-08-31 12:59:11 +00:00
root 9da9f25d74 Format Capy integers in WebAssembly. 2026-08-28 21:28:46 +00:00
root 7a2387920c Move scalar formatting into the Capy standard library. 2026-08-28 02:50:13 +00:00
root 178f040f87 Add Capy math and bit functions. 2026-08-28 02:05:18 +00:00
root 106087add4 Add numeric types and simplify runtime APIs. 2026-08-26 11:31:52 +00:00
root e8274a4e30 Remove redundant Capy API functions. 2026-08-25 03:11:31 +00:00
root e0e813a321 Restructure documentation and add callable dynamic values. 2026-08-25 02:09:53 +00:00