Repository navigation
docs: match coding-agent denial reasons and session-analysis starter name to code - #978
Conversation
…name to code Co-authored-by: David Mytton <davidmytton@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…eason-starter-name-a838 # Conflicts: # src/content/docs/coding-agents/index.mdx # tests/screenshot.test.ts-snapshots/screenshot-coding-agents-dark-chromium-linux.png # tests/screenshot.test.ts-snapshots/screenshot-coding-agents-light-chromium-linux.png Co-authored-by: David Mytton <davidmytton@users.noreply.github.com>
Co-authored-by: David Mytton <davidmytton@users.noreply.github.com>
There was a problem hiding this comment.
Arcjet Review — 🟢 Low Risk
Decision: Approved
Rationale: Documentation-only PR touching five .mdx files in src/content/docs/coding-agents/. Changes align the docs with actual code behavior: (1) denial-reason format now describes the full Blocked by Arcjet policy: … Policy: … Decision: … Report false positive: … string produced by apps/decide-service/server/lib/agent-hook/response.ts, (2) RULE_ID placeholders replaced with REASON in per-vendor denial bodies, and (3) coding-agent.tainted-session renamed to coding-agent.session-analysis, with the taint-flag locking behavior described per the Rego. No code, config, dependencies, or infra touched; no secrets or user-input handling involved.
Summary of Changes
Doc updates for coding-agents pages: expand the hook denial-reason description and example, rename coding-agent.tainted-session → coding-agent.session-analysis and describe per-flag locking behavior, swap RULE_ID → REASON placeholders in Codex/Cursor/Muse Code denial tables, and update the model-allowlist and roll-out sentences to mention the policy label and decision ID.
Review: f8dd8796 | Model: anthropic/claude-opus-4-7 | Powered by Arcjet Review
| **Execute on** option in one round trip and applies the most restrictive | ||
| decision. A denied AWS call does not by itself mark the session tainted — | ||
| publish `coding-agent.tainted-session` when you want risky follow-ups locked | ||
| decision. A denied AWS call does not by itself mark the session tainted – |
There was a problem hiding this comment.
Nit: this line changed the em-dash (—) to an en-dash (–) while the surrounding prose and the rest of this file use em-dashes. Likely unintentional — restore — for consistency?
| decision. A denied AWS call does not by itself mark the session tainted – | |
| decision. A denied AWS call does not by itself mark the session tainted — | |
| publish `coding-agent.session-analysis` when you want risky follow-ups locked |
| the Console. The reason also has the following variations: | ||
|
|
||
| - If the session carries session-taint flags, the reason names them before | ||
| the policy label, such as `Category: credential_access.` |
There was a problem hiding this comment.
The example decision ID gdec_01jz8k3m4n5p6q7r8s9t0v1w2x uses characters outside Crockford base32 (contains l, o, and u-like letters that are normally excluded from ULID/Crockford encodings). If gdec_ IDs are ULIDs, consider using a syntactically valid example so readers who copy it don't produce a broken Console link. If gdec_ IDs don't follow ULID rules, ignore.
Two coding-agent docs pages disagreed with the monorepo.
Denial reasons. The docs said a hook denial reason is only the rule ID.
denialReasoninapps/decide-service/server/lib/agent-hook/response.tsalso appends any session-taint categories, the denying policy's label, the decision ID, and a Console false-positive link:/coding-agents/hooks, the Responses section now describes the full format, gives an example, and lists the variations: taint categories, more than one denying policy, and the fail-closedBlocked by Arcjet: this action was not allowed by policy.form. The per-vendor denial table says "the denial reason" where it said "the rule ID".RULE_IDplaceholder in the denial bodies is nowREASON, and the text that said a denial names "nothing else" is updated to match the code./coding-agents/policies, the model-allowlist and roll-out sentences now mention the label and decision ID.Session-analysis starter.
coding-agent.tainted-sessionis renamed tocoding-agent.session-analysis, the label inarcjet-decide/internal/mcp/skills/author-guard-policy/references/examples.md. Its rule ID is stilltainted-session-risky, so the docs keep that. The starter's description used to say any taint flag locks shell, web, MCP, and file writes. It now matches the Rego:prompt_injection,data_exfiltration,code_execution_risk,sensitive_data_exposure, andelevated_risklock all four, andcredential_accesslocks only web and MCP. No other flag locks anything.No screenshots change. Every edit either falls below the 5,000-pixel capture height or stays within the diff threshold.