- • Each op defined once as a Zod contract
- • Surfaced as REST (GemController) + MCP (GemTools)
- • OpenAPI 3.1 + Swagger /explorer derived from it
- • Web UI and local agent call the same operations
- • Secrets stripped the moment config is read
- • By value (entropy) and by key name (regex)
- • Only redacted shapes cross any boundary
- • buildGem re-redacts as defense in depth
- • manifest + lock archive (dir or .tar.gz)
- • Targets, registry, deploy all read the same Gem
- • Composable: merge → re-resolve a single lock
- • State persisted under ~/.agentgem