Skip to content

fix(mcp): make VQL mutations opt-in - #2

Merged
ifuri-validator-agent[bot] merged 2 commits into
mainfrom
codex/mcp-safety-vql-20260828
Aug 28, 2026
Merged

fix(mcp): make VQL mutations opt-in#2
ifuri-validator-agent[bot] merged 2 commits into
mainfrom
codex/mcp-safety-vql-20260828

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Summary\n\n- require explicit opt-in before MCP tools mutate VQL state\n- preserve read-only behavior by default\n- document the boundary and add focused regression coverage\n\n## Validation\n\nHosted CI must validate the exact branch head before merge. Independent Validator approval remains required.\n\nTicket: PLF-2214\nCorrelation ID: PLF-2214-mcp-safety-vql

@ifuri-validator-agent ifuri-validator-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deterministic Validator approval for exact head 5dca548aa2f2a0e1602c388d6f1ff59dd9196baf.

Ticket: PLF-2214
Correlation ID: PLF-2214-mcp-safety-vql-v3
Model: zai/glm-5.3
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). PR adds a mutation-safety gate to the MCP server: all mutating tools call _require_mutation, which requires VQL_MCP_ALLOW_MUTATION to be set. Read-only tools remain ungated, vql_apply_nl defaults to execute=false and only gates when execute=true. CI workflow runs the tests with least-privilege permissions (contents: read). Tests pass.
Advisory findings: none
The LLM output above is advisory and was not used as the approval trust root.
Merge will be attempted after this approval when explicitly authorized.

Decision record (recomputable)

DECISION D-214-6892
TICKET PLF-2214
HEAD_SHA 5dca548aa2f2a0e1602c388d6f1ff59dd9196baf
CORRELATION_ID PLF-2214-mcp-safety-vql-v3
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["mcp2vql=PASS"]
INPUT required_checks = ["mcp2vql"]
INPUT required_checks_source = "protected registry (env/request)"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
INPUT superseded_checks = []
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "APPROVE" MODEL "zai/glm-5.3"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@ifuri-validator-agent
ifuri-validator-agent Bot merged commit dd1229f into main Aug 28, 2026
1 check passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the codex/mcp-safety-vql-20260828 branch August 28, 2026 18:07
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.

1 participant