deepseek-harness/docs
kingwl 95635dfa66 feat(permission): user-facing permission presets — one Permissions select over the two knobs
A preset names a bundle of the two mechanism knobs — request =
workspace-write + ask, yolo = danger-full-access + never — so the editor
shows ONE 'Permissions' select where the sandbox-mode and approval-policy
tiers stay orthogonal capabilities (the Codex /approvals shape: presets over
two dials). ctx.permission (dsh-permission) owns the config-defined table,
validates the default preset's bundle against the composed knob defaults at
load (fails loud), and writes a switch THROUGH: one log-only
permission/preset event (the audit fact reverse-mapping cannot recover —
the planned 'agent' preset shares request's knob values and differs only in
composed policy) plus each knob event via its own setter, deduped — a
net-zero switch appends nothing. Every knob consumer keeps reading its own
fold, untouched.

The current preset DERIVES from the effective knob values — the fold breaks
bundle ties, a knob state outside the table is the reserved 'custom' value
(a state, not an error: shown while it holds, switchable FROM, never a
target), and defaultPreset disappears (zero-event state reverse-maps from
the composition defaults).

The ACP bridge drops the two per-knob selects for the one preset select
(advertised only when ctx.permission is composed); pending/anchor/no-op
semantics carry over unchanged, with the no-op echo acknowledged before
vocabulary validation so a client re-pushing a derived 'custom' current
never errors. The sandbox variant example composes the
service with a workspace-write default; the permission-switching,
escalation-approved and escalation-rejected scenarios are re-recorded under
it (escalations now target an outside-workspace /tmp path under
danger-full-access, self-cleaning) and config-options is re-authored on the
single-select wire.
2026-07-13 14:38:26 +08:00
..
cookbook refactor(core): remove owner-final assembly machinery 2026-07-13 13:09:41 +08:00
cordis-catalog feat(permission): user-facing permission presets — one Permissions select over the two knobs 2026-07-13 14:38:26 +08:00
core-data-structures docs: align scoped runtime contracts 2026-07-13 13:41:27 +08:00
i18n docs: equal-authority pairing with sidecar consistency records 2026-07-03 07:41:24 -07:00
postmortem fix(docs): address Codex review round 3 — last three moved-policy citations 2026-07-04 16:02:39 +08:00
rfc feat(permission): user-facing permission presets — one Permissions select over the two knobs 2026-07-13 14:38:26 +08:00
agent-lifecycle.md docs: align the agent-scope contracts 2026-07-11 22:55:40 +08:00
AGENTS.md make wordcount budget guidance clearer and dedup docs 2026-07-10 00:20:35 +08:00
architecture.md docs: align scoped runtime contracts 2026-07-13 13:41:27 +08:00
capability-seams.md feat(permission): user-facing permission presets — one Permissions select over the two knobs 2026-07-13 14:38:26 +08:00
config-catalog.md feat(permission): user-facing permission presets — one Permissions select over the two knobs 2026-07-13 14:38:26 +08:00
cordis-primer.md fix(scope): harden lifecycle ownership foundation 2026-07-12 08:57:05 +08:00
defensive-patterns.md docs(AGENTS): rewrite the root standing orders to the 1,500-word budget 2026-07-04 14:22:47 +08:00
development.i18n.yaml fix(workflow): bootstrap source worker transforms 2026-07-12 06:19:53 +08:00
development.md fix(workflow): bootstrap source worker transforms 2026-07-12 06:19:53 +08:00
development.zh.md fix(workflow): bootstrap source worker transforms 2026-07-12 06:19:53 +08:00
event-producer-consumer.md refactor(core): remove owner-final assembly machinery 2026-07-13 13:09:41 +08:00
glossary.md docs(rfc): align scoped runtime contracts 2026-07-12 22:49:46 +08:00
graph-atlas.md chore: register the cordis group across repo gates and docs 2026-07-09 13:57:03 +08:00
module-graph.md feat(permission): user-facing permission presets — one Permissions select over the two knobs 2026-07-13 14:38:26 +08:00
persistence-catalog.md feat(permission): user-facing permission presets — one Permissions select over the two knobs 2026-07-13 14:38:26 +08:00
testing.md Add keyless snapshot refresh mode 2026-07-10 00:48:27 +08:00
tool-catalog.md refactor(core): remove owner-final assembly machinery 2026-07-13 13:09:41 +08:00
tool-execution-pipeline.md refactor: narrow synchronous extension contracts 2026-07-13 11:58:55 +08:00