Skip to content

Add autonomy toggle commands - #651

Merged
jamiepine merged 7 commits into
jamiepine/resident-autonomy-channelfrom
jamiepine/autonomy-toggle-commands
Sep 25, 2026
Merged

jamiepine merged 7 commits into
jamiepine/resident-autonomy-channelfrom
jamiepine/autonomy-toggle-commands

Conversation

@jamiepine

Copy link
Copy Markdown
Member

Summary

  • Add /autonomy for public status and authority-only /autonomy-on and /autonomy-off controls.
  • Restore the last non-off level when autonomy is enabled, with observe as the first-use fallback.
  • Serialize level changes with epoch and heartbeat admission so turning autonomy off stops new work while the current epoch settles.
  • Keep configured and effective levels distinct when the instance ceiling applies.
  • Register the controls across Discord, Telegram, and Slack, with text-command parity for other adapters.
  • Align Discord thread admission, Telegram addressing, Slack argument validation, and Mattermost command replies.

Lifecycle

Autonomy transitions and supervisor admission share one lock. An off transition cannot race a new epoch or heartbeat claim. Existing turns and owned workers are not cancelled, but no additional wake events or heartbeat work enter the active epoch after the transition commits.

This PR is stacked on #650.

Testing

  • cargo test agent::autonomy::tests
  • cargo test api::config::tests
  • cargo test commands::
  • Targeted Discord, Slack, Telegram, Mattermost, and settings tests
  • just preflight
  • just gate-pr

@coderabbitai

coderabbitai Bot commented Aug 16, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 81dce177-a899-41e9-82e6-0a7fb70d6b1b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jamiepine
jamiepine marked this pull request as ready for review August 17, 2026 00:03
Route now resolves a registry miss against durable state instead of
reporting everything as not found. A terminal worker returns its outcome,
a nonterminal row without live controls returns unavailable, and only an
unknown ID is an error.

Cancellation carries a reason again. The cancel watch channel holds
Option<Arc<str>> rather than bool, so the supervisor records the
requester's wording on the terminal outcome.

Worker tool calls are counted by the hook against the registry entry.
Counting them in the API event forwarder made a control-plane value
depend on a lossy broadcast subscriber.

Channel status carries runtime_state and routable from the registry, so a
page load after a worker goes idle stops rendering it as running.

Also drops the unused release_worker_admission, replaces the
system/cortex admission scope strings with one constant, and returns a
typed ChannelDeletion instead of matching on an error string.
coruhoorhan pushed a commit to coruhoorhan/spacebot that referenced this pull request Sep 14, 2026
The stabilization plan made the instance reliable; this doc plans what it
becomes: an assistant that remembers, finishes what it starts and answers
when called. It lays out four phases — J0 bring-up on the stronger machine,
J1 reliability (ACP result path, streaming fallback chain, cortex budget),
J2 memory (active recall, chronicle summarization, merge bloat, export/import
CLI) and J3 autonomy/access (resident channels, Telegram, voice) — each with
measurable exit criteria, and maps them to the upstream PRs worth porting
(spacedriveapp#593, spacedriveapp#652, spacedriveapp#637, spacedriveapp#641, spacedriveapp#578, spacedriveapp#604, spacedriveapp#650/spacedriveapp#651) since upstream has merged
nothing since Aug 17 and the fork is the live line of development.

Also records the clean-install vs memory-transplant decision (§4) left open
on 2026-09-11, with the measured trade-off: 503 memories, 2715 edges, 1500
messages and the 159 MB vector store against a fresh schema.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
github-actions Bot added a commit to bruno320x/spacebot that referenced this pull request Sep 15, 2026
bruno320x added a commit to bruno320x/spacebot that referenced this pull request Sep 15, 2026
Inject the newest comments, revision snapshots, and attempts with omitted counts instead of full history, serialize compactly, and render the block from a prompt template. A revision counter mismatch is logged instead of failing the spawn. Session metadata retries while the worker_runs row is not yet committed.
@jamiepine
jamiepine merged commit db5952d into jamiepine/resident-autonomy-channel Sep 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant