feat(microvm): the tool gate's denials and inert marker reach the mission record
vm_tool_gate writes denied.jsonl for every call it refuses and an `inert` marker each time it cannot parse its input and lets the call through. The guest has written both since the gate existed; nothing read them out of a VM. A denial, or a gate that had quietly stopped checking, left no trace — the same shape the container tier closed with drain_inert on 09-14. The executor probes both files (one exec, while /root still exists) into VmOutcome.tool_gate; launch_microvm_phase records them on the mission as the container tier's `gate.inert` (with the count) and `gate.denied` (one event per refused call, the gate's own JSON as the detail). Absent gate is None, not zero — "no gate" and "a gate that refused nothing" are different facts. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01WZb5A2kfVfjpdwSochkuHz
This commit is contained in:
co-authored by
Claude Opus 5
parent
507d7444d1
commit
9fc904a056
@@ -431,6 +431,7 @@ mod tests {
|
||||
tools: Vec::new(),
|
||||
rootfs: None,
|
||||
cli_version: None,
|
||||
tool_gate: None,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -628,6 +629,7 @@ mod tests {
|
||||
tools: Vec::new(),
|
||||
rootfs: None,
|
||||
cli_version: None,
|
||||
tool_gate: None,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -662,6 +664,7 @@ mod tests {
|
||||
tools: Vec::new(),
|
||||
rootfs: None,
|
||||
cli_version: None,
|
||||
tool_gate: None,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -691,6 +694,7 @@ mod tests {
|
||||
tools: Vec::new(),
|
||||
rootfs: None,
|
||||
cli_version: None,
|
||||
tool_gate: None,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user