Overview
Thesinker policy namespace gates what the AI agent is allowed to do. Policies set hard limits on tip size, how aggressively the agent escalates on retries, how many bundles can be in-flight at once, and more.
Settings persist in sinker.policy.json in the working directory. Both the sidecar and the agent read the file once on startup. Restart the stack to apply any changes.
The policy file is partial by design — only the keys you change need to be present. Missing keys resolve silently to built-in defaults. An empty file (or no file at all) means “use all defaults.”
Policy keys
These keys are accepted bysinker policy set and sinker policy reset <key>.
Tip controls
Bundle & retry controls
Throughput controls
Commands
sinker policy set <key> <value>
Set a single policy value. The change is written to sinker.policy.json immediately.
sinker policy show
Print all policy values as a table — current effective value, built-in default, and which keys have been explicitly set.
sinker policy reset [<key>]
Reset a single key back to its built-in default, or reset all keys if no key is given.
reset without a key writes an empty {} JSON file — all keys will resolve to defaults on next start. The file itself is kept; use sinker policy clear to delete it entirely.
sinker policy clear
Delete the policy file. All settings revert to built-in defaults on the next sidecar or agent start.
--yes / -y to skip the confirmation prompt (useful in CI or setup scripts):
sinker policy validate
Check the current effective policy for contradictions and dangerous values.
Warnings (informational — do not exit non-zero):
Example output with issues:
sinker policy export [--path <file>]
Export the current effective policy — with all defaults resolved — to a JSON file. Unlike the live policy file (which only stores overrides), the export includes every key. Useful for sharing a policy between Sinker deployments.
sinker policy import.
sinker policy import <file>
Load a policy JSON file, validate it, and apply it as the active policy. Errors block the import; warnings are printed but do not block it.
Storage and load order
The policy file is looked up in this order on everysinker start or sinker up:
- Path in
SINKER_POLICY_FILEenv var — custom override ./sinker.policy.json— working directory- Built-in defaults — no file required, no warning