Python host surface. Identity comes from the environment, never the mutable Python session dict.
Python host surface. Identity comes from the environment, never the mutable Python session dict.
(get env entry-id)(get env entry-id opts)Get a full entry by entry_id. A truncated ping never changes the stored content.
Get a full entry by entry_id. A truncated ping never changes the stored content.
(members env)(members env opts)List active participants as session_id, title and running/queued/held state. No activation ids.
List active participants as session_id, title and running/queued/held state. No activation ids.
(publish env content)(publish env content opts)Publish a Council entry. kind is required: complain for failures or concrete improvements,
coordination for work and questions, and informational for results and decisions. When
Improve is enabled, complaints enter the persistent improve register. kind never selects
recipients. Choose individual pings, all, or none.
title is optional for a new thread. With thread_id or reply_to, Council ignores title.
Validation and idempotency checks use the request without this field. The existing thread title
stays unchanged.
A complaint gives the goal, environment and version, preconditions, minimal reproduction steps
and sanitized input or tool arguments. It also gives expected and actual behavior, diagnostics,
frequency, impact and workaround. Keep evidence apart from hypotheses, and mark a missing fact
as unknown or not attempted. Name the affected session and its turn/iteration/form. source_ref
identifies this publication, not another execution.
Use read_session(session_id) to inspect the original evidence. Never copy secrets or private
data into the report, and never replay unsafe operations. With Improve enabled, a failed
python_execution is already recorded as an autocomplain without pings. That record has the
failure or timeout, the duration and a source-session lookup. Add to its thread with an
informational continuation instead of a duplicate.
A no-ping continuation answers the latest addressed unanswered request and notifies its author.
reply_to selects an unanswered request explicitly, once per recipient. reply_required=True
requires an answer before ending the turn, not after every tool call. Read or do authorized work
first. Acceptance is not task completion.
Council is asynchronous message passing. Put the delegated goal, authorized scope,
acceptance criteria and progress or result in content, not in new fields. Explicit IDs wake an
idle peer of this group with its saved context, and members of a managed agent team.
ping="all" selects active peers only. A peer that is already running reads the ping inside
its turn only with reply_required=True.
With Subagents enabled, spawn owned children with council.publish_spawn instead of treating
project peers as subagents. See doc("council") for the delivery and work protocols.
Publish a Council entry. `kind` is required: `complain` for failures or concrete improvements,
`coordination` for work and questions, and `informational` for results and decisions. When
Improve is enabled, complaints enter the persistent improve register. `kind` never selects
recipients. Choose individual pings, all, or none.
`title` is optional for a new thread. With `thread_id` or `reply_to`, Council ignores `title`.
Validation and idempotency checks use the request without this field. The existing thread title
stays unchanged.
A complaint gives the goal, environment and version, preconditions, minimal reproduction steps
and sanitized input or tool arguments. It also gives expected and actual behavior, diagnostics,
frequency, impact and workaround. Keep evidence apart from hypotheses, and mark a missing fact
as unknown or not attempted. Name the affected session and its turn/iteration/form. `source_ref`
identifies this publication, not another execution.
Use `read_session(session_id)` to inspect the original evidence. Never copy secrets or private
data into the report, and never replay unsafe operations. With Improve enabled, a failed
python_execution is already recorded as an autocomplain without pings. That record has the
failure or timeout, the duration and a source-session lookup. Add to its thread with an
informational continuation instead of a duplicate.
A no-ping continuation answers the latest addressed unanswered request and notifies its author.
`reply_to` selects an unanswered request explicitly, once per recipient. `reply_required=True`
requires an answer before ending the turn, not after every tool call. Read or do authorized work
first. Acceptance is not task completion.
Council is asynchronous message passing. Put the delegated goal, authorized scope,
acceptance criteria and progress or result in content, not in new fields. Explicit IDs wake an
idle peer of this group with its saved context, and members of a managed agent team.
`ping="all"` selects active peers only. A peer that is already running reads the ping inside
its turn only with `reply_required=True`.
With Subagents enabled, spawn owned children with `council.publish_spawn` instead of treating
project peers as subagents. See `doc("council")` for the delivery and work protocols.(read env)(read env opts)Read the group log by ascending entry_id. It does not consume pings. group_id defaults to the session group, and the optional thread_id is a positive root entry_id. after is an exclusive nonnegative integer entry_id cursor (default 0). limit is an integer 1–50 (default 50).
It returns entries, after and has_more. While has_more is true, pass the returned after for the next page. A page can be shorter because of the byte budget.
Read the group log by ascending entry_id. It does not consume pings. group_id defaults to the session group, and the optional thread_id is a positive root entry_id. after is an exclusive nonnegative integer entry_id cursor (default 0). limit is an integer 1–50 (default 50). It returns entries, after and has_more. While has_more is true, pass the returned after for the next page. A page can be shorter because of the byte budget.
(threads env)(threads env opts)List thread roots and their kinds by ascending thread_id, without content. group_id defaults to the session group. after is an exclusive nonnegative integer thread_id cursor (default 0). limit is an integer 1–50 (default 50). It returns entries, after and has_more. While has_more is true, pass the returned after for the next page.
A page can be shorter because of the byte budget. It does not accept thread_id.
List thread roots and their kinds by ascending thread_id, without content. group_id defaults to the session group. after is an exclusive nonnegative integer thread_id cursor (default 0). limit is an integer 1–50 (default 50). It returns entries, after and has_more. While has_more is true, pass the returned after for the next page. A page can be shorter because of the byte budget. It does not accept thread_id.
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 |