Skip to content

docs(ai-services): contained apps' assistant is behind consent, not off - #268

Merged
ymote merged 3 commits into
mainfrom
fix/ai-services-consent-default
Oct 2, 2026
Merged

ymote merged 3 commits into
mainfrom
fix/ai-services-consent-default

Conversation

@guofoo

@guofoo guofoo commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Correct the English/Chinese AI-services guides to describe first-use consent as the default for contained app agents. An unset OCTOSENSE_CONTAINED_APPS asks for consent, 1 skips that first-use check, and 0 disables the contained octos service; tool approval rules remain separate.

Use a three-state table for consent and separate call arguments, approval routing and reply limits. Distinguish the broker app identifier from the kernel-issued peer slug. Reconcile stale status rows with implemented tools, peers and human conversations, while identifying prompt loading, skills and automatic triggers as remaining work. Use the repository’s kernel build helper instead of a hardcoded revision in the launch recipe.

Validation for this writing revision: source review, relative links and heading anchors, English/Chinese consistency, whitespace and the kernel helper’s planning mode. Build, GUI, provider and device execution remain unverified. No runtime code changed.

This PR overlaps #275 in both AI-services guides. Their shared explanations have been aligned, but reconcile the overlapping branches before merging. Both remain open.

Writing assessment after parallel revision and a separate review: 4.5/5 (A−), considering beginner orientation, terminology, worked examples, organization and bilingual consistency. This is our assessment, not an external approval.

docs/ai-services.md and its Chinese twin still described the contained
apps' octos service as it was before #184:

- the gate is off by default and needs OCTOSENSE_CONTAINED_APPS=1; the
  code's default is first-use consent (contained_gate_from), with 1 the
  developer override that asks nobody and 0 off;
- a contained peer's tool approvals are declined; the broker hands them
  to the shell's approval router, and only a host without one declines;
- octos.turn.start takes only text; it also takes trigger and from;
- nothing in the shells runs an app's agent; since #184 an app that
  declares one, declares octos.*, or ships tools.json gets a prepared
  peer with its tools and the "Ask <app>" panel;
- the News bundle does not declare `news` yet; it does, and reads from
  it when host.has("news").
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.

2 participants