docs: typography hygiene across 5 pages

Replaced 80 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.

- docs/plugins/sdk-entrypoints.md: 17 chars
- docs/help/index.md: 17 chars
- docs/concepts/agent-workspace.md: 16 chars
- docs/tools/lobster.md: 15 chars
- docs/tools/exec-approvals.md: 15 chars
This commit is contained in:
Vincent Koc
2026-05-05 20:04:12 -07:00
parent 49c4a13231
commit fafd76c5e6
5 changed files with 78 additions and 78 deletions

View File

@@ -18,7 +18,7 @@ skips approvals).
<Note>
Effective policy is the **stricter** of `tools.exec.*` and approvals
defaults; if an approvals field is omitted, the `tools.exec` value is
used. Host exec also uses local approvals state on that machine a
used. Host exec also uses local approvals state on that machine - a
host-local `ask: "always"` in `~/.openclaw/exec-approvals.json` keeps
prompting even if session or config defaults request `ask: "on-miss"`.
</Note>
@@ -116,18 +116,18 @@ Example schema:
### `exec.security`
<ParamField path="security" type='"deny" | "allowlist" | "full"'>
- `deny` block all host exec requests.
- `allowlist` allow only allowlisted commands.
- `full` allow everything (equivalent to elevated).
- `deny` - block all host exec requests.
- `allowlist` - allow only allowlisted commands.
- `full` - allow everything (equivalent to elevated).
</ParamField>
### `exec.ask`
<ParamField path="ask" type='"off" | "on-miss" | "always"'>
- `off` never prompt.
- `on-miss` prompt only when the allowlist does not match.
- `always` prompt on every command. `allow-always` durable trust does **not** suppress prompts when effective ask mode is `always`.
- `off` - never prompt.
- `on-miss` - prompt only when the allowlist does not match.
- `always` - prompt on every command. `allow-always` durable trust does **not** suppress prompts when effective ask mode is `always`.
</ParamField>
@@ -136,9 +136,9 @@ Example schema:
<ParamField path="askFallback" type='"deny" | "allowlist" | "full"'>
Resolution when a prompt is required but no UI is reachable.
- `deny` block.
- `allowlist` allow only if allowlist matches.
- `full` allow.
- `deny` - block.
- `allowlist` - allow only if allowlist matches.
- `full` - allow.
</ParamField>
@@ -168,7 +168,7 @@ automatically.
## YOLO mode (no-approval)
If you want host exec to run without approval prompts, you must open
**both** policy layers requested exec policy in OpenClaw config
**both** policy layers - requested exec policy in OpenClaw config
(`tools.exec.*`) **and** host-local approvals policy in
`~/.openclaw/exec-approvals.json`.
@@ -194,7 +194,7 @@ CLI-backed providers that expose their own noninteractive permission mode
can follow this policy. Claude CLI adds
`--permission-mode bypassPermissions` when OpenClaw's requested exec
policy is YOLO. Override that backend behavior with explicit Claude args
under `agents.defaults.cliBackends.claude-cli.args` / `resumeArgs`
under `agents.defaults.cliBackends.claude-cli.args` / `resumeArgs` -
for example `--permission-mode default`, `acceptEdits`, or
`bypassPermissions`.
@@ -365,7 +365,7 @@ skill bin list. Disable this if you want strict manual allowlists.
For safe bins (the stdin-only fast-path), interpreter binding details, and
how to forward approval prompts to Slack/Discord/Telegram (or run them as
native approval clients), see
[Exec approvals advanced](/tools/exec-approvals-advanced).
[Exec approvals - advanced](/tools/exec-approvals-advanced).
## Control UI editing
@@ -379,7 +379,7 @@ Nodes must advertise `system.execApprovals.get/set` (macOS app or
headless node host). If a node does not advertise exec approvals yet,
edit its local `~/.openclaw/exec-approvals.json` directly.
CLI: `openclaw approvals` supports gateway or node editing see
CLI: `openclaw approvals` supports gateway or node editing - see
[Approvals CLI](/cli/approvals).
## Approval flow
@@ -435,7 +435,7 @@ run.
## Related
<CardGroup cols={2}>
<Card title="Exec approvals advanced" href="/tools/exec-approvals-advanced" icon="gear">
<Card title="Exec approvals - advanced" href="/tools/exec-approvals-advanced" icon="gear">
Safe bins, interpreter binding, and approval forwarding to chat.
</Card>
<Card title="Exec tool" href="/tools/exec" icon="terminal">

View File

@@ -26,9 +26,9 @@ Today, complex workflows require many back-and-forth tool calls. Each call costs
Lobster is intentionally small. The goal is not "a new language," it's a predictable, AI-friendly pipeline spec with first-class approvals and resume tokens.
- **Approve/resume is built in**: A normal program can prompt a human, but it cant _pause and resume_ with a durable token without you inventing that runtime yourself.
- **Determinism + auditability**: Pipelines are data, so theyre easy to log, diff, replay, and review.
- **Constrained surface for AI**: A tiny grammar + JSON piping reduces creative code paths and makes validation realistic.
- **Approve/resume is built in**: A normal program can prompt a human, but it can't _pause and resume_ with a durable token without you inventing that runtime yourself.
- **Determinism + auditability**: Pipelines are data, so they're easy to log, diff, replay, and review.
- **Constrained surface for AI**: A tiny grammar + JSON piping reduces "creative" code paths and makes validation realistic.
- **Safety policy baked in**: Timeouts, output caps, sandbox checks, and allowlists are enforced by the runtime, not each script.
- **Still programmable**: Each step can call any CLI or script. If you want JS/TS, generate `.lobster` files from code.
@@ -39,7 +39,7 @@ If the pipeline pauses for approval, the tool returns a `resumeToken` so you can
## Pattern: small CLI + JSON pipes + approvals
Build tiny commands that speak JSON, then chain them into a single Lobster call. (Example command names below swap in your own.)
Build tiny commands that speak JSON, then chain them into a single Lobster call. (Example command names below - swap in your own.)
```bash
inbox list --json
@@ -148,7 +148,7 @@ steps:
Notes:
- `stdin: $step.stdout` and `stdin: $step.json` pass a prior steps output.
- `stdin: $step.stdout` and `stdin: $step.json` pass a prior step's output.
- `condition` (or `when`) can gate steps on `$step.approved`.
## Install Lobster
@@ -317,10 +317,10 @@ OpenProse pairs well with Lobster: use `/prose` to orchestrate multi-agent prep,
## Safety
- **Local in-process only** workflows execute inside the gateway process; no network calls from the plugin itself.
- **No secrets** Lobster doesn't manage OAuth; it calls OpenClaw tools that do.
- **Sandbox-aware** disabled when the tool context is sandboxed.
- **Hardened** timeouts and output caps enforced by the embedded runner.
- **Local in-process only** - workflows execute inside the gateway process; no network calls from the plugin itself.
- **No secrets** - Lobster doesn't manage OAuth; it calls OpenClaw tools that do.
- **Sandbox-aware** - disabled when the tool context is sandboxed.
- **Hardened** - timeouts and output caps enforced by the embedded runner.
## Troubleshooting
@@ -336,13 +336,13 @@ OpenProse pairs well with Lobster: use `/prose` to orchestrate multi-agent prep,
## Case study: community workflows
One public example: a second brain CLI + Lobster pipelines that manage three Markdown vaults (personal, partner, shared). The CLI emits JSON for stats, inbox listings, and stale scans; Lobster chains those commands into workflows like `weekly-review`, `inbox-triage`, `memory-consolidation`, and `shared-task-sync`, each with approval gates. AI handles judgment (categorization) when available and falls back to deterministic rules when not.
One public example: a "second brain" CLI + Lobster pipelines that manage three Markdown vaults (personal, partner, shared). The CLI emits JSON for stats, inbox listings, and stale scans; Lobster chains those commands into workflows like `weekly-review`, `inbox-triage`, `memory-consolidation`, and `shared-task-sync`, each with approval gates. AI handles judgment (categorization) when available and falls back to deterministic rules when not.
- Thread: [https://x.com/plattenschieber/status/2014508656335770033](https://x.com/plattenschieber/status/2014508656335770033)
- Repo: [https://github.com/bloomedai/brain-cli](https://github.com/bloomedai/brain-cli)
## Related
- [Automation & Tasks](/automation) scheduling Lobster workflows
- [Automation Overview](/automation) all automation mechanisms
- [Tools Overview](/tools) all available agent tools
- [Automation & Tasks](/automation) - scheduling Lobster workflows
- [Automation Overview](/automation) - all automation mechanisms
- [Tools Overview](/tools) - all available agent tools