Add product taxonomy spec; rename + align the Cloud Agent plan
Define the canonical product map (product-overview.md): sigit.si (Git hosting) and code.sigit.si (siGit Code universe); siGit Code (local agent), siGit Code Cloud (hosted chat, /cloud + /cloud/sessions), and siGit Code Cloud Agent (the autonomous, sandboxed task -> PR product to build). Reserve 'session' for chat and 'run' for the agent. Rename cloud-agent-plan.md -> sigit-code-cloud-agent-plan.md and align it: name is siGit Code Cloud Agent; Git-host agnostic (Git only, no SVN/Mercurial) behind a GitHostAdapter, sigit.si first then GitHub/GitLab; MVP trigger pinned. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Seto Elkahfi committed
Jun 26, 2026 at 19:44 UTC
ea51a7c398e6658144a46863aaa2bd08f37869f0
2 files changed
+156
-22
docs/product/product-overview.md
new
+116
@@ -0,0 +1,116 @@
1
+# siGit product overview and taxonomy
2
+
3
+Status: spec v1 (2026-06-26). Audience: internal (private repo). This is the
4
+canonical map of what we sell and what the words mean. Every other spec defers to
5
+the names defined here.
6
+
7
+---
8
+
9
+## 1. The two domains
10
+
11
+| Domain | What it is |
12
+|---|---|
13
+| **sigit.si** | **Git hosting for the AI era.** The forge: repositories, branches, commits, and over time pull requests, issues, and the source-control surface that AI-native workflows run on. |
14
+| **code.sigit.si** | **The universe of siGit Code**, the coding agent. Home for the agent and its hosted products. |
15
+
16
+Keep them distinct: sigit.si hosts the code; code.sigit.si is where the agent
17
+lives and where the hosted offerings are sold.
18
+
19
+---
20
+
21
+## 2. siGit Code (the agent)
22
+
23
+**siGit Code** is a **natively local-inference coding agent** (the Rust CLI / ACP
24
+agent). On-device by default: the model runs on the user's machine, the agent
25
+works against local repos, nothing is sent to a server unless the user chooses a
26
+hosted product.
27
+
28
+Because it is local-first, the **root of code.sigit.si (`/`)** is the
29
+**on-device dashboard**: telemetry of the user's **local** siGit Code sessions,
30
+shown only if the user opts in to enable it. Nothing leaves the machine.
31
+
32
+---
33
+
34
+## 3. The hosted products on code.sigit.si
35
+
36
+Two products sit on top of siGit Code. They mirror the two ways GitHub Copilot is
37
+sold (interactive chat vs. autonomous coding agent), but the engine in both is
38
+siGit Code, which we already ship.
39
+
40
+### 3.1 siGit Code Cloud — hosted chat (BUILT)
41
+
42
+**siGit Code Cloud** is the **hosted, non-on-device chat**: an interactive
43
+assistant powered by hosted inference instead of the local model. The user signs
44
+in, picks a quality tier, and chats. Conversations are saved.
45
+
46
+- **Surfaces:** `/cloud` (the chat) and `/cloud/sessions`, `/cloud/sessions/<uuid>`
47
+ (saved chat history). **Both are part of siGit Code Cloud.**
48
+- **Unit of work:** a **session** = one saved chat conversation.
49
+- **Compute:** hosted inference only (Onde Cloud, via `/api/v1/chat/completions`).
50
+- **Copilot analog:** Copilot Chat.
51
+- **Status:** shipped and live at code.sigit.si.
52
+
53
+### 3.2 siGit Code Cloud Agent — autonomous agent (TO BUILD)
54
+
55
+**siGit Code Cloud Agent** is **autonomous, sandboxed siGit Code that solves an
56
+issue or task in a Git repository and opens a pull request**, working in the
57
+background like a human developer. The user delegates a task and walks away; the
58
+agent works on its own and comes back with a PR to review.
59
+
60
+- **Engine:** siGit Code, run headless in an ephemeral **sandbox** (AWS), with
61
+ hosted inference. The agent clones the repo, edits, runs build/test, iterates,
62
+ pushes a branch.
63
+- **Repo target:** **sigit.si first**, then **GitHub, GitLab, and other Git
64
+ hosts** in the future. Scope is **Git only** (no SVN, Mercurial, or other version
65
+ control systems). The agent is **Git-host agnostic** behind a Git-host adapter:
66
+ sigit.si is the first host, not the only one.
67
+- **Output:** a **pull request** on the target Git host (a pushed branch + review
68
+ surface) for a human to review and merge. The agent never auto-merges.
69
+- **Unit of work:** an **agent run** (one delegated task → autonomous work → PR).
70
+- **Copilot analog:** Copilot coding agent (the cloud agent).
71
+- **Status:** planning. See [sigit-code-cloud-agent-plan.md](sigit-code-cloud-agent-plan.md).
72
+
73
+---
74
+
75
+## 4. Naming rules (to stop the collisions)
76
+
77
+These words are load-bearing. Use them exactly.
78
+
79
+- **siGit Code** — the local-inference coding agent. The engine.
80
+- **siGit Code Cloud** — the hosted **chat** product. `/cloud` + `/cloud/sessions`.
81
+- **siGit Code Cloud Agent** — the autonomous **agent** product (task → PR).
82
+- **session** — a siGit Code Cloud **chat** conversation. It belongs to siGit Code
83
+ Cloud. Do **not** use "session(s)" to mean the agent or its runs.
84
+- **agent run** — one siGit Code Cloud Agent task. Use "run" (or "task"), never
85
+ "session," for the agent.
86
+- **on-device dashboard** — the local telemetry at `/` (opt-in).
87
+
88
+So: the thing at `/cloud/sessions` is **chat sessions** (siGit Code Cloud). The
89
+autonomous product is the **Agent**, and its work items are **runs**, on their own
90
+surface (anchored to a repo, since a run operates on one repository).
91
+
92
+---
93
+
94
+## 5. Information architecture (code.sigit.si)
95
+
96
+| Path | Product | Notes |
97
+|---|---|---|
98
+| `/` | on-device dashboard | local session telemetry, opt-in |
99
+| `/cloud` | siGit Code Cloud | the hosted chat |
100
+| `/cloud/sessions`, `/cloud/sessions/<uuid>` | siGit Code Cloud | saved chat history + detail |
101
+| `/billing` | account | plan / billing |
102
+| _(future)_ agent surface | siGit Code Cloud Agent | run-a-task and the list of agent runs; anchored to a repo (sigit.si first). Surface path TBD in the agent spec. |
103
+
104
+The current web app (`apps/code-cloud-web`) already implements rows 1 to 4. The
105
+Agent surface is new and specified separately.
106
+
107
+---
108
+
109
+## 6. Why this is a strong position
110
+
111
+GitHub had to build a coding agent to ship its cloud agent. **siGit already ships
112
+the agent (siGit Code) and the git host (sigit.si).** siGit Code Cloud Agent is
113
+mostly: take the agent we already have, run it headless in a sandbox against a
114
+repo we already host, and open a PR. The one genuinely new system is the sandbox.
115
+The Git-host-agnostic design means the same agent later runs against GitHub and
116
+GitLab repos, not just sigit.si (Git only; not SVN, Mercurial, or other VCS).
docs/product/sigit-code-cloud-agent-plan.md
renamed
+40
-22
@@ -1,31 +1,44 @@
1
-# siGit Cloud Agent — product plan and roadmap
1
+# siGit Code Cloud Agent — product plan and roadmap
2
3
-Status: draft v1 (2026-06-26). Owner: product/eng. Audience: internal (private repo).
3
+Status: draft v2 (2026-06-26). Owner: product/eng. Audience: internal (private repo).
4
+Naming and scope per [product-overview.md](product-overview.md); this is the
5
+detailed spec for the **siGit Code Cloud Agent** product defined there.
6
5
-A GitHub-Copilot-coding-agent-style product built into sigit.si and siGit Code
6
-Cloud: you give it a task against a repo you host on sigit.si, an isolated AWS
7
-sandbox runs the siGit Code agent loop against that repo, and it returns a branch
8
-plus a proposed pull request. This document is the strategy, the architecture, and
9
-the phased roadmap.
7
+A GitHub-Copilot-coding-agent-style product: you delegate a task against a Git
8
+repository, an isolated AWS sandbox runs siGit Code autonomously against that repo,
9
+and it returns a branch plus a proposed pull request. The first repo target is
10
+**sigit.si**; the agent is **Git-host agnostic** behind a Git-host adapter so the
11
+same agent later runs against **GitHub, GitLab, and other Git hosts**. Scope is
12
+**Git only** (no SVN, Mercurial, or other version control systems). This document
13
+is the strategy, the architecture, and the phased roadmap.
14
15
---
16
17
## 1. What we are building (and what it is not)
18
15
-**siGit Cloud Agent** is an asynchronous, server-side coding agent. The user
16
-describes a task ("add pagination to the repos list", "fix the failing
17
-auth test", "upgrade Rails to 8.1"), points it at one of their sigit.si repos and
18
-a base branch, and walks away. The platform provisions an ephemeral AWS sandbox,
19
-clones the repo into it, runs siGit Code headless against the task with cloud
20
-inference, lets it edit files and run build/test commands, then pushes a head
21
-branch back to sigit.si and opens a pull request for human review.
19
+**siGit Code Cloud Agent** is an asynchronous, server-side coding agent. The user
20
+delegates a task or issue ("add pagination to the repos list", "fix the failing
21
+auth test", "upgrade Rails to 8.1"), points it at one of their repos and a base
22
+branch, and walks away. The platform provisions an ephemeral AWS sandbox, clones
23
+the repo into it, runs siGit Code headless against the task with hosted inference,
24
+lets it edit files and run build/test commands, then pushes a head branch and
25
+opens a pull request for human review.
26
23
-It is the cloud, autonomous sibling of the two things siGit already ships:
27
+It is the autonomous sibling of the other two things siGit ships (see
28
+[product-overview.md](product-overview.md)):
29
25
-- **siGit Code** (public Rust CLI / ACP agent) runs *locally / on the desktop*,
30
+- **siGit Code** (Rust CLI / ACP agent) runs *locally / on the desktop*,
31
interactively, driven by the developer at their keyboard.
27
-- **siGit Cloud Agent** runs *in our cloud*, asynchronously, driven by a task and
28
- reviewed afterward through a PR.
32
+- **siGit Code Cloud** is the *hosted chat* (interactive, synchronous). Its work
33
+ unit is a chat **session**.
34
+- **siGit Code Cloud Agent** runs *in our cloud*, asynchronously, driven by a task
35
+ and reviewed afterward through a PR. Its work unit is an agent **run** (never a
36
+ "session", which belongs to the chat product).
37
+
38
+**MVP trigger (decided):** from a repo on sigit.si, the user describes a task and
39
+the agent produces a PR. Formal issue-assignment (assign a tracked issue to the
40
+agent, the Copilot headline flow) is a fast-follow that depends on an Issues
41
+feature, and on the Git-host adapters for GitHub/GitLab issues.
42
43
Reference points in the market: GitHub Copilot coding agent (assign an issue, it
44
opens a PR), OpenAI Codex cloud, Cursor background agents, Devin. The
@@ -292,7 +305,7 @@ Agent runs are an included monthly bundle per plan, with overage or an add-on fo
305
heavy use. Suggested `Subscription` constant shape:
306
307
```ruby
295
-# Included siGit Cloud Agent runs per billing period. Tunable pricing knob.
308
+# Included siGit Code Cloud Agent runs per billing period. Tunable pricing knob.
309
AGENT_RUNS = { "pro" => [FILL], "team" => [FILL] }.freeze # e.g. pro 20, team 75
310
TRIAL_AGENT_RUNS = [FILL] # e.g. 2
311
AGENT_OVERAGE_PER_RUN = [FILL] # $/run past the bundle
@@ -402,9 +415,14 @@ with a demoable, dogfoodable increment.
415
pricing flies blind.
416
- **No AWS SDK in the app yet.** Adds a new infra dependency and IAM/VPC footprint
417
to own and secure.
405
-- **Naming.** "siGit Cloud Agent" is a working name; align with the existing
406
- brand rules (`siGit Code`, `siGit Code Cloud`, `Onde Cloud`) before anything
407
- ships to users.
418
+- **Naming (resolved).** The product is **siGit Code Cloud Agent** (see
419
+ [product-overview.md](product-overview.md)). "session" is reserved for siGit Code
420
+ Cloud chat; the agent's work unit is a **run**. Do not name the agent or its runs
421
+ "sessions".
422
+- **Git-host scope.** Git only (no SVN, Mercurial, or other VCS). sigit.si is the
423
+ first Git host, not the only one. Keep the git clone / branch-push / PR-open
424
+ behind a `GitHostAdapter` seam from day one (sigit.si now; GitHub, GitLab, other
425
+ Git hosts later) so the agent is not welded to our own forge.
426
427
---
428