Clients and entry points¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
The Factory is headless. The web console uses the same APIs as every other client, and every client's work request enters the same application execution port in the Control plane. A client never calls a model provider or a tool directly to make a prototype action appear functional.
Surfaces¶
| Surface | Purpose | Status today |
|---|---|---|
| Web console (Studio) | Observe, steer, review, govern; command center, run inspection, review inbox, assets, administration | Prototypes only (Studio) |
| Agent operations IDE | Per project/environment: selected agent and version, skills, knowledge scopes, tools, model profile and fallback, task, plan, execution graph, sub-agents, tool calls, shell commands, changed files, diff, approvals, logs, traces, cost, tokens, retries, fallback events | Target (Oct-2026 handoff §5); not a source editor |
| REST and gRPC API | All commands and queries; versioned; idempotent run creation | Target; proposed contracts in Control plane |
| .NET SDK, TypeScript SDK | Typed clients over the API | Target; ApiLibraryTemplate is the generation path (packet PK-19) |
| CLI | Scripting and CI use of the same API | Target |
| VS Code, JetBrains extensions; Cursor, Claude Code, Codex | External editors and coding agents as clients through extensions and MCP; never competitors to the Factory's control plane | Target; MCP hosting library exists |
| Slack, Microsoft Teams, WhatsApp | Chat entry points for task submission, approvals and notifications | Target |
| CI/CD pipelines and external autonomous systems | Machine callers with workload identity | Target; existing Azure Pipelines call nothing in the Factory today |
Rules for every client¶
- Scope comes from the authenticated session (canonical ADR-0101); choosing a tenant or project in a client grants nothing.
- A command returns an acknowledgement and a resource location; the persisted outcome is a separate observation. Toasts are not evidence.
- Long-running work is identified by run id and survives client disconnects; an interrupted stream leaves a visible last-known state.
- Every client shows the same state vocabulary (asset readiness, deployment availability, run state, approval state, result freshness).
Current implementation¶
No console, CLI, SDK or extension exists. The agent host template exposes a REST sample, an MCP sample tool and optional DevUI endpoints, two of which bypass the execution lifecycle (Agent & Orchestration runtime).