Complete System Boundaries
Define the responsibility boundaries of entry points, state ownership, model loops, and external extensions.
The capstone task evolves from a feature list to a runnable system design. Make explicit decisions across nine dimensions — each must include a contract, failure path, validation method, and submittable deliverable.
Define the responsibility boundaries of entry points, state ownership, model loops, and external extensions.
Draw failure paths for tools, security, persistence, recovery, and state notifications.
Submit ADRs, contracts, threat models, tests, and a minimal demo — not just conceptual diagrams.
Design a "repo-scale Coding Agent" for a real team. It must at minimum read code, propose a plan, edit files, run validation, and resume interrupted sessions. A minimal PoC is acceptable; the architecture document must cover all nine dimensions.
Who starts the Agent, and do interactive, CI, and IDE modes share the same core?
Source anchors: pager-bin composition root, shell headless/stdio, ACP gateway.
Who owns session state, and how are model streams and tool tasks cancelled, queued, and returned?
Source anchors: SessionActor, LocalSet, background summary/persistence actor.
How do prompts, streaming output, tool calls, retries, stops, and model switches form a closed loop?
Source anchors: run_loop, turn, tool_dispatch, model_switch, two_pass.
How are input Schema, return values, errors, timeouts, idempotency, and permission tiers standardized?
Source anchors: ToolKind, Tool Bridge, server__tool, capability filter.
When is short-term context compacted; what is written to long-term memory, when is it retrieved, and how is it deleted?
Source anchors: compaction segments, two-pass, memory FTS/embedding/MMR/Dream.
What guarantee does each layer — permissions, sandbox, Hooks, network, and plugin trust — provide?
Source anchors: capability, sandbox, Hooks fail-open, plugin-root trust.
How are messages, tool results, file checkpoints, and external connection state persisted and replayed?
Source anchors: session persistence, chat persistence, rewind, MCP restart.
Which events enter logs and metrics; what must be redacted, sampled, or prohibited from leaving the machine?
Source anchors: file-utils events, telemetry enums, MCP status payload.
How are MCP, Plugin, and Hook discovery, versioning, enablement, trust, and uninstallation governed?
Source anchors: marketplace index, manifest, install registry, trust store.
// Do not grant trust if plugin root cannot be canonicalized
match dunce::canonicalize(plugin_root) {
Ok(canonical) => self.trusted.contains(&canonical),
Err(_) => false,
}Your design must also specify failure defaults. When policy cannot be read, tool results cannot be parsed, or a checkpoint cannot be restored — the system should respectively stop, degrade, or prompt the user.
crates/codegen/xai-grok-agent/src/plugins/trust.rsAutomatic disqualifiers: submission does not identify where sensitive data lands; high-risk tools have no permission path; crash recovery is claimed but untested; source code references cannot be traced to a file path.
Final Submission Package
Reviewable design archive
The maturity of a Coding Agent shows in its boundaries and failure paths. The nine-dimension workbench helps you convert model capabilities into an engineering system that is runnable, recoverable, auditable, and extensible.
Source snapshot note: This page uses the local grok-build-main as its design case library; path anchors come from real source code. The delivery formats in the workbench are course design artifacts and do not claim to be the official architecture template of Grok Build. Students may use other tech stacks, but each decision must be supported by equivalent-quality evidence.