governance: add dynamic tool controls and gateway ingest#59
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b36198795f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if identity != "" { | ||
| state.Identity = identity | ||
| } |
There was a problem hiding this comment.
Preserve bound identity on resume
The resume path currently allows callers to replace a job's previously bound identity by passing a different --identity, because it unconditionally writes state.Identity = identity when a non-empty value is provided. This lets a revoked identity be bypassed by swapping in a new identity at resume time (for example, job was submitted as agent.alice, revocation list blocks agent.alice, caller resumes with agent.bob), which defeats the intended identity revalidation control.
Useful? React with 👍 / 👎.
| method := strings.ToLower(strings.TrimSpace(value)) | ||
| if method == "" { | ||
| return "" | ||
| } |
There was a problem hiding this comment.
Default missing discovery method to unknown
normalizeDiscoveryMethod returns an empty string when discovery_method is omitted, so rules matching discovery_method: [unknown] never match intents that don't explicitly set this field. In practice many adapters omit discovery metadata, so a policy that tries to explicitly catch unknown tools via unknown can be silently bypassed and fall back to the default verdict instead.
Useful? React with 👍 / 👎.
Problem
Gait needed fail-closed governance for dynamic/unknown tool surfaces and stronger runtime safety at resume boundaries.
Changes
endpoint_class,discovery_method, andtool_annotationsgait gateway ingest --source [kong|docker|mintmcp] --log-path <path>commandcore/gatewayingest pipeline that normalizes access logs and emits deterministic policy enforcement proof recordsgithub.com/Clyra-AI/proofdependency tov0.4.4.Validation
gait doctor --jsonmake prepush-fullmake test-uat-local