# MIP-0057 — Google Cloud Agentic Architect coverage: mapping doc, opt-in `gcp/` module, local shapes **Status:** Draft (written in gcp-agentic-architect; upstream via marola's `mip` skill, then `mip-tasks`). **Cost:** S/M. **Depends on:** MIP-0008 (Docker), MIP-0039 (fact guard), MIP-0040 (reviewer-judge), MIP-0055 (knowledge store). **Precedent:** `docs/AI-103-MAPPING.md`, `docs/AI-500-MAPPING.md`, the `azure/` module pattern. ## Problem marola maps two Microsoft exams to its architecture (§10 exam-coverage). The Google Cloud Professional Agentic Architect guide names a third taxonomy — Agent Identity/Registry/Gateway/ Runtime, Sessions/Memory Bank, Agent Retrieval, ADK evaluation, Model Armor — that marola already implements local analogues of, without saying so. Two gaps are real: a `Session` abstraction (marola keeps sightings and knowledge, not conversation events) and a recorded-trajectory eval set. ## Proposal 1. `docs/AGENTIC-ARCHITECT-MAPPING.md` — every guide bullet 1.1–5.2 → marola today (file:line, verified) / local shape / honest gap. Draft in this directory. 2. `gcp/` as a fifth sbt module mirroring `azure/`: implements core traits, enabled only by `AppConfig` env vars (`GCP_PROJECT`, `GCP_LOCATION`, `GCP_ENABLE=1`), zero GCP SDK in `core`/`local`; `build.sbt` asserts the local classpath carries no `com.google.cloud` jars, the way it asserts for Azure. Candidates: `VertexLlmClient` (LlmClient), `AgentRetrievalStore` (KnowledgeStore), `deploy/agent-runtime.yaml` (written-not-run), `CloudTraceTelemetry`. 3. `Session` trait + `FileSessionStore` (events: author, text | function_call | function_response, scoped by user id) and `MemoryStore` + `FileMemoryStore` (deterministic fact extraction at session close, vocabulary from MIP-0039). No LLM in the local path. 4. `evalset/` — JSON cases `{user, expected_tools, reference}`; `just benchmark` gains trajectory exact-match + fuzzy response threshold (0.8, the ADK default) and writes to the benchmark ledger. MIP-0040's reviewer-judge becomes an optional autorater column. 5. Governance parity documented, not built: `.claude/settings.json` deny rules + `guard-*.sh` = Gateway policy; ai-jail = identity boundary; MIP-0039 = Model Armor; water-quality veto = HITL. `guard-gcloud.sh` added next to `guard-azure.sh`; `.claude/rules/gcp.md` with the cost gate. 6. `AGENTS.md` "Before implementing a feature" lists three mapping docs; `docs/README` index. ## Non-goals Low-code (Agent Designer, CX Agent Studio): honest gap, no local shape. Running anything on GCP before a human sets `GCP_ALLOW_DEPLOY=1`. ## Acceptance `just build && just test && just quality` green with no GCP env vars; `just benchmark` runs the evalset locally; `sbt "local/dependencyTree"` shows no `com.google.cloud`; mapping doc has a file:line or "honest gap" for every bullet. ## Tasks (for `mip-tasks`, stacked PRs) 1. mapping doc + docs/README index + AGENTS.md line 2. `gcp/` module skeleton, build.sbt assertion, `guard-gcloud.sh`, `.claude/rules/gcp.md` 3. `Session`/`MemoryStore` traits + file impls + tests 4. `evalset/` + `just benchmark` trajectory/response scoring + ledger column 5. A2A local case: `/.well-known/agent.json` on the MCP server + `just a2a-demo` (two local agents)