# Complete - m-iop-agent-cli-runtime/13_agent_domain

## Completed At

2026-07-29

## Summary

The standalone Agent application domain boundary passed after two reviewed implementation loops; final verdict: PASS.

## Loop History

| Plan | Review | Verdict | Notes |
|------|--------|---------|-------|
| `plan_local_G02_1.log` | `code_review_cloud_G02_1.log` | FAIL | The first rule duplicated shared runtime ownership and recorded an ambiguous mapping check. |
| `plan_cloud_G04_2.log` | `code_review_cloud_G04_2.log` | PASS | The corrected rule preserves standalone host ownership, shared runtime owners, and the Node bridge boundary with reproducible evidence. |

## Implementation and Cleanup

- Reframed `apps/agent` around the concrete `cmd/agent`, `command`, `host`, `bootstrap`, `taskloop`, `projectlog`, `localcontrol`, and `clientprocess` host paths.
- Kept provider execution, selection and continuation policy, AgentTaskManager orchestration, guardrail, workspace, and durable state under their shared `packages/go/agent*` owners.
- Kept Edge-Node protobuf translation under `apps/node/internal/node/runtime_bridge.go` and removed speculative duplicate-owner paths and pseudo-symbols.

## Final Verification

- `test -f agent-ops/rules/project/domain/agent/rules.md` - PASS; the project-only Agent domain rule exists.
- ``test "$(rg -n --fixed-strings '| `apps/agent/**` | agent | `agent-ops/rules/project/domain/agent/rules.md` |' agent-ops/rules/project/rules.md | wc -l | tr -d ' ')" = 1`` - PASS; the exact domain mapping is unique.
- `for rel in cmd/agent internal/command internal/host internal/bootstrap internal/taskloop internal/projectlog internal/localcontrol internal/clientprocess; do rg -q --fixed-strings "\`apps/agent/${rel}/\`" agent-ops/rules/project/domain/agent/rules.md; done` - PASS; every concrete standalone host path is documented.
- `for shared in agentconfig agentprovider agentpolicy agenttask agentguard agentworkspace agentstate; do rg -q --fixed-strings "\`packages/go/${shared}/\`" agent-ops/rules/project/domain/agent/rules.md; done` - PASS; every required shared owner is documented.
- ``rg -q --fixed-strings '`apps/node/internal/node/runtime_bridge.go`' agent-ops/rules/project/domain/agent/rules.md`` - PASS; the Node protobuf bridge remains Node-owned.
- `test -z "$(git diff --name-only -- agent-ops/rules/common agent-ops/skills/common)"; git diff --check` - PASS; fresh reviewer execution returned `scope_exit=0`.
- `rg -n --fixed-strings '| \`apps/agent/**\` | agent | \`agent-ops/rules/project/domain/agent/rules.md\` |' agent-ops/rules/project/rules.md` - PASS; exactly one mapping row was found at line 78.
- `rg -n --sort path 'apps/agent/internal/(config|provider|selector|quota|taskmanager|guardrail|overlay|changeset|integration|claim|workflow|state|logevents|socket|clientproc|nodebridge)/|selector\.Evaluator|quota\.Parser|taskmanager\.Manager|nodebridge\.Bridge' agent-ops/rules/project/domain/agent/rules.md` - PASS; no matches were found.

## Residual Nits

- None.

## Follow-up Work

- None.
