Explicit, durable session goals. Only the slash/SDK user path creates or replaces an objective. The model can mark that exact objective complete or blocked, but cannot resume, replace, cancel or increase its budget. Every mutation is a CAS on the persisted revision; the lifecycle version also rejects stale model work. Completion is a model declaration supported by evidence, not an independent judge.
Explicit, durable session goals. Only the slash/SDK user path creates or replaces an objective. The model can mark that exact objective complete or blocked, but cannot resume, replace, cancel or increase its budget. Every mutation is a CAS on the persisted revision; the lifecycle version also rejects stale model work. Completion is a model declaration supported by evidence, not an independent judge.
(account! env started-goal usage)Attribute one loop response to the goal/version current when its request started. Includes empty/prose responses and the same turn's completion summary. Provider retries inside that request are not separate loop iterations. Tokens are statistics only. Active wall time is checkpointed by every mutation, including tool boundaries.
Attribute one loop response to the goal/version current when its request started. Includes empty/prose responses and the same turn's completion summary. Provider retries inside that request are not separate loop iterations. Tokens are statistics only. Active wall time is checkpointed by every mutation, including tool boundaries.
(check-goal env)(check-goal db sid)Internal read of the authoritative goal. Model readers use session['goal'].
Internal read of the authoritative goal. Model readers use session['goal'].
(continuation-prompt env)Neutral next-iteration input after an accepted progress reply while a goal remains active.
Neutral next-iteration input after an accepted progress reply while a goal remains active.
(control! db sid action)User-only pause/resume/cancel. Resume never resets usage or expands a budget.
User-only pause/resume/cancel. Resume never resets usage or expands a budget.
(finish-turn! env started-goal status)(finish-turn! env started-goal status cause)A cancelled or failed turn pauses only the goal/version it started with.
cause, when given, is the concrete failure the turn ended with (the provider
error message, the watchdog verdict) so the paused goal names why it stopped
instead of a generic notice (Blockether/vis#210).
A cancelled or failed turn pauses only the goal/version it started with. `cause`, when given, is the concrete failure the turn ended with (the provider error message, the watchdog verdict) so the paused goal names why it stopped instead of a generic notice (Blockether/vis#210).
(halt-result env started-goal)Stop outstanding goal work at a request or tool boundary, without starting a model call.
Stop outstanding goal work at a request or tool boundary, without starting a model call.
(request-halt-result env started-goal)Enforce the iteration budget between iterations, after the previous tools finish. A final allowed tool can complete/block the goal; return its evidence without an extra model request when the budget is spent. User stops/replacements still win.
Enforce the iteration budget between iterations, after the previous tools finish. A final allowed tool can complete/block the goal; return its evidence without an extra model request when the budget is spent. User stops/replacements still win.
(resume-for-user-turn! env)Resume an existing paused/blocked goal for a new user message. Preserve usage and budget; no goal, exhausted or terminal goals and newer user controls are unchanged. The caller must exclude synthetic wakes, command-only turns and cancelled turns.
Resume an existing paused/blocked goal for a new user message. Preserve usage and budget; no goal, exhausted or terminal goals and newer user controls are unchanged. The caller must exclude synthetic wakes, command-only turns and cancelled turns.
(set-goal! db sid objective iteration-budget)Explicit user mutation. Replacing a goal creates a new identity and resets usage.
Explicit user mutation. Replacing a goal creates a new identity and resets usage.
(slash! ctx)Parse /goal with --budget N before or after the objective, or --pause/--resume/--cancel. N is in loop iterations. A leading -- on the objective preserves all following text. Accept iOS smart dashes in recognized flags, without rewriting the objective. Parse raw text so quotes and newlines in the user's objective stay intact.
Parse /goal with --budget N before or after the objective, or --pause/--resume/--cancel. N is in loop iterations. A leading -- on the objective preserves all following text. Accept iOS smart dashes in recognized flags, without rewriting the objective. Parse raw text so quotes and newlines in the user's objective stay intact.
(update-goal env goal-id version status reason)Internal completion tool. Pass id and version from session['goal'], status 'complete' or 'blocked', and a concise evidence/reason string. Complete means every requirement is verified; blocked means no meaningful authorized action remains without user input or an external change after the goal blocker audit. Never lower the objective or mark blocked merely to deliver a progress reply.
Internal completion tool. Pass id and version from session['goal'], status 'complete' or 'blocked', and a concise evidence/reason string. Complete means every requirement is verified; blocked means no meaningful authorized action remains without user input or an external change after the goal blocker audit. Never lower the objective or mark blocked merely to deliver a progress reply.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |