loom-os 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. loom_os-0.2.0/PKG-INFO +222 -0
  2. loom_os-0.2.0/README.md +188 -0
  3. loom_os-0.2.0/daemon/__init__.py +1 -0
  4. loom_os-0.2.0/daemon/api.py +1134 -0
  5. loom_os-0.2.0/daemon/audit.py +155 -0
  6. loom_os-0.2.0/daemon/embeddings.py +122 -0
  7. loom_os-0.2.0/daemon/evals.py +195 -0
  8. loom_os-0.2.0/daemon/extracted_store.py +46 -0
  9. loom_os-0.2.0/daemon/extractors.py +320 -0
  10. loom_os-0.2.0/daemon/graph_engine.py +318 -0
  11. loom_os-0.2.0/daemon/ingest.py +176 -0
  12. loom_os-0.2.0/daemon/known_agents.py +125 -0
  13. loom_os-0.2.0/daemon/main.py +220 -0
  14. loom_os-0.2.0/daemon/mcp_server.py +292 -0
  15. loom_os-0.2.0/daemon/models.py +218 -0
  16. loom_os-0.2.0/daemon/patterns.py +209 -0
  17. loom_os-0.2.0/daemon/project_knowledge.py +265 -0
  18. loom_os-0.2.0/daemon/recall.py +163 -0
  19. loom_os-0.2.0/daemon/registry.py +558 -0
  20. loom_os-0.2.0/daemon/router.py +310 -0
  21. loom_os-0.2.0/daemon/runners.py +99 -0
  22. loom_os-0.2.0/daemon/sessions.py +128 -0
  23. loom_os-0.2.0/daemon/shared_context.py +232 -0
  24. loom_os-0.2.0/daemon/snapshots.py +126 -0
  25. loom_os-0.2.0/daemon/supervisor.py +62 -0
  26. loom_os-0.2.0/daemon/temporal.py +152 -0
  27. loom_os-0.2.0/daemon/traces.py +159 -0
  28. loom_os-0.2.0/daemon/watcher.py +72 -0
  29. loom_os-0.2.0/daemon/worker.py +301 -0
  30. loom_os-0.2.0/daemon/worktree.py +132 -0
  31. loom_os-0.2.0/loom_os.egg-info/PKG-INFO +222 -0
  32. loom_os-0.2.0/loom_os.egg-info/SOURCES.txt +60 -0
  33. loom_os-0.2.0/loom_os.egg-info/dependency_links.txt +1 -0
  34. loom_os-0.2.0/loom_os.egg-info/entry_points.txt +3 -0
  35. loom_os-0.2.0/loom_os.egg-info/requires.txt +17 -0
  36. loom_os-0.2.0/loom_os.egg-info/top_level.txt +1 -0
  37. loom_os-0.2.0/pyproject.toml +54 -0
  38. loom_os-0.2.0/setup.cfg +4 -0
  39. loom_os-0.2.0/tests/test_api.py +872 -0
  40. loom_os-0.2.0/tests/test_audit.py +83 -0
  41. loom_os-0.2.0/tests/test_cli.py +14 -0
  42. loom_os-0.2.0/tests/test_embeddings.py +75 -0
  43. loom_os-0.2.0/tests/test_evals.py +117 -0
  44. loom_os-0.2.0/tests/test_extracted_store.py +25 -0
  45. loom_os-0.2.0/tests/test_extractors.py +98 -0
  46. loom_os-0.2.0/tests/test_graph_engine.py +98 -0
  47. loom_os-0.2.0/tests/test_ingest.py +88 -0
  48. loom_os-0.2.0/tests/test_mcp.py +177 -0
  49. loom_os-0.2.0/tests/test_patterns.py +121 -0
  50. loom_os-0.2.0/tests/test_recall.py +161 -0
  51. loom_os-0.2.0/tests/test_registry.py +147 -0
  52. loom_os-0.2.0/tests/test_router.py +190 -0
  53. loom_os-0.2.0/tests/test_runners.py +46 -0
  54. loom_os-0.2.0/tests/test_sessions.py +81 -0
  55. loom_os-0.2.0/tests/test_snapshots.py +66 -0
  56. loom_os-0.2.0/tests/test_supervisor.py +106 -0
  57. loom_os-0.2.0/tests/test_tasks.py +157 -0
  58. loom_os-0.2.0/tests/test_temporal.py +88 -0
  59. loom_os-0.2.0/tests/test_traces.py +120 -0
  60. loom_os-0.2.0/tests/test_watcher.py +32 -0
  61. loom_os-0.2.0/tests/test_worker.py +226 -0
  62. loom_os-0.2.0/tests/test_worktree.py +139 -0
loom_os-0.2.0/PKG-INFO ADDED
@@ -0,0 +1,222 @@
1
+ Metadata-Version: 2.4
2
+ Name: loom-os
3
+ Version: 0.2.0
4
+ Summary: Loom OS — unified agent memory fabric for multi-agent coding
5
+ Author: Mohamed Hussien
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/mohamedhusseinios/Loom-OS
8
+ Project-URL: Repository, https://github.com/mohamedhusseinios/Loom-OS
9
+ Project-URL: Issues, https://github.com/mohamedhusseinios/Loom-OS/issues
10
+ Keywords: ai-agents,knowledge-graph,agent-memory,mcp,code-graph
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Software Development :: Libraries
17
+ Requires-Python: >=3.11
18
+ Description-Content-Type: text/markdown
19
+ Requires-Dist: fastapi>=0.115.0
20
+ Requires-Dist: uvicorn[standard]>=0.30.0
21
+ Requires-Dist: watchdog>=5.0.0
22
+ Requires-Dist: graphifyy>=0.8.0
23
+ Requires-Dist: pydantic>=2.0
24
+ Requires-Dist: aiosqlite>=0.20.0
25
+ Requires-Dist: pyyaml>=6.0
26
+ Provides-Extra: llm
27
+ Requires-Dist: openai>=1.0; extra == "llm"
28
+ Requires-Dist: anthropic>=0.39; extra == "llm"
29
+ Requires-Dist: httpx>=0.27; extra == "llm"
30
+ Provides-Extra: dev
31
+ Requires-Dist: pytest>=8.0; extra == "dev"
32
+ Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"
33
+ Requires-Dist: httpx>=0.27.0; extra == "dev"
34
+
35
+ <div align="center">
36
+
37
+ <img src="docs/branding/loom-icon-warp-256.png" alt="Loom OS" width="120" height="120" />
38
+
39
+ # Loom OS
40
+
41
+ **Unified agent memory fabric**
42
+
43
+ </div>
44
+
45
+ **Loom OS** is a unified agent memory fabric that weaves multiple AI coding agents — Claude Code, Codex, Hermes, Cursor, and more — into one shared, [Graphify](https://github.com/nousresearch/graphify)-powered knowledge graph per project. Agents talk to Loom OS **only through the filesystem**: they drop files into a per-project inbox and the daemon does the rest. There is no SDK, no API client, and no auth. A Next.js dashboard is the control plane for browsing the graph, managing agents, and dispatching work.
46
+
47
+ > **Naming.** The product is **Loom OS**. The installable package and CLI are **`loom`** (`pip install loom`). The repository directory and design/plan docs are named **`agentic-os`**. They all refer to the same project.
48
+
49
+ ---
50
+
51
+ ## Quick Start
52
+
53
+ ```bash
54
+ pip install loom # base install — no LLM keys required
55
+ loom start # starts daemon on http://127.0.0.1:8472
56
+ loom init --project my-app --project-path . # bootstraps inbox + starter register.json
57
+ # (or register a specific agent instead of init):
58
+ # loom register --agent claude-code --project my-app --project-path /abs/path
59
+ open http://localhost:3000 # dashboard (run the Next.js app — see below)
60
+ ```
61
+
62
+ The dashboard is a Next.js app under `dashboard/`. Start it with:
63
+
64
+ ```bash
65
+ cd dashboard && npm install && npm run dev # http://localhost:3000
66
+ ```
67
+
68
+ | What | Where |
69
+ |------|-------|
70
+ | Daemon (REST + WebSocket) | `http://127.0.0.1:8472` |
71
+ | Dashboard | `http://localhost:3000` |
72
+
73
+ **Prerequisites:** Python 3.11+, Node.js 20+. Graphify ships as a dependency (`graphifyy`).
74
+
75
+ > Want optional LLM-powered extraction (Ollama / OpenAI / Claude)?
76
+ > `pip install loom[llm]` — the base install works without any LLM.
77
+
78
+ ---
79
+
80
+ ## Capabilities
81
+
82
+ - **Multi-agent knowledge graph** — Graphify parses your codebase AST (zero API keys, code-only builds) and builds a per-project graph of files, functions, classes, communities, and execution flows. An optional LLM extraction layer can enrich the graph with semantic edges.
83
+ - **Filesystem inbox protocol** — agents never call an API. They write files into `~/.loom/inbox/<project>/`: `register.json`, `heartbeat.json`, `finding-*.md` (markdown + YAML frontmatter), `decision-*.md` (ADRs), `task-*.json` (dispatched tasks). The daemon watches, processes, and moves each file to `.processed/`.
84
+ - **Next.js dashboard** — interactive graph visualization (reagraph/cytoscape), agent management with live status, a Kanban task board (Todo · Ready · Running · Blocked · Done), project CRUD, knowledge-source discovery, and hybrid search. Bilingual (en/ar) with RTL support.
85
+ - **Task dispatch + worker execution** — dispatch tasks from the dashboard; a `loom worker` process picks up Running tasks, executes them in an isolated **git worktree**, and enforces a per-task USD budget cap. Results flow back as findings.
86
+ - **Hybrid search** — text (FTS) + vector embeddings + graph traversal in a single query path.
87
+ - **Optional LLM backends** — Ollama (default, local), OpenAI, or Anthropic Claude. Install with `pip install loom[llm]`. The base package needs no LLM at all.
88
+ - **MCP server** — `loom-mcp` exposes graph queries and finding ingestion over the Model Context Protocol so any MCP-aware agent can read from and write to Loom OS.
89
+ - **Single-process daemon, zero infrastructure** — no Docker, no Neo4j, no cloud. One Python process (FastAPI + uvicorn) plus the Next.js dashboard. State lives in SQLite (`~/.loom/state.db`).
90
+
91
+ ---
92
+
93
+ ## Architecture
94
+
95
+ ```
96
+ Browser :3000 ──▶ ┌──────────────────────────────────┐
97
+ │ Next.js Dashboard │
98
+ └──────────────┬───────────────────┘
99
+ │ REST + WebSocket
100
+ ┌─────────────────────────────────┼───────────────────┐
101
+ │ Loom Daemon (Python, :8472) │
102
+ │ │
103
+ │ watcher ──▶ router ──▶ registry / graph_engine ──▶ api
104
+ │ │ │ │
105
+ │ (SQLite) (Graphify CLI subprocess, │
106
+ │ ~/.loom/ graph.json sidecar) │
107
+ │ state.db │
108
+ └───────────────────────────────────────────────────────┘
109
+ ▲ ▲ ▲
110
+ │ │ │
111
+ ~/.loom/inbox/proj ~/.loom/inbox/proj ~/.loom/inbox/proj
112
+ Claude Code Codex Hermes
113
+ ```
114
+
115
+ **Two processes:**
116
+
117
+ 1. **Python daemon** (`daemon/`) — FastAPI + uvicorn on `127.0.0.1:8472`. REST routes plus a single `/ws` WebSocket for live updates. CORS allows `http://localhost:3000`.
118
+ 2. **Next.js dashboard** (`dashboard/`) — App Router on `:3000`. Talks to the daemon over REST + WebSocket.
119
+
120
+ **Filesystem protocol.** Agents write files into `~/.loom/inbox/<project>/`. The daemon watches the inbox, dispatches by filename, builds/updates the knowledge graph, and pushes live events to the dashboard.
121
+
122
+ **Daemon module map & data flow:**
123
+
124
+ ```
125
+ watcher.py watchdog observer on ~/.loom/inbox (recursive).
126
+ Marshals filesystem events onto the asyncio loop.
127
+
128
+ router.py Dispatches by filename → _handle_register, _handle_heartbeat,
129
+ _handle_finding, _handle_decision, _handle_task.
130
+ Moves processed files to .processed/. Rate-limits graph
131
+ updates (1 / 30s / project). Emits WsEvents to a queue.
132
+
133
+ registry.py AgentRegistry: aiosqlite over ~/.loom/state.db.
134
+ Tables: agents, projects, tasks. CRUD + graph-stat persistence.
135
+ graph_engine.py GraphEngine: build / update / query / stats / topology /
136
+ communities / flows. Invokes `graphify` as a CLI subprocess
137
+ (asyncio.to_thread); reads <project>/graphify-out/graph.json.
138
+ extractors.py Optional LLM extraction layer (injectable backend).
139
+ extracted_store.py Sidecar store for LLM-extracted semantic edges.
140
+ api.py FastAPI routes + WebSocket fan-out.
141
+ mcp_server.py MCP server (loom-mcp entry point).
142
+ worker.py Worker: executes Running tasks in git-worktree isolation.
143
+ ```
144
+
145
+ ---
146
+
147
+ ## CLI Reference
148
+
149
+ | Command | Description |
150
+ |---------|-------------|
151
+ | `loom start` | Start the daemon (FastAPI + uvicorn on `:8472`) |
152
+ | `loom init --project <name> --project-path <path>` | Bootstrap a project: create inbox + starter `register.json` |
153
+ | `loom register --agent <name> --project <name> --project-path <path>` | Register a coding agent with a project |
154
+ | `loom unregister --agent <name> --project <name>` | Remove an agent from a project |
155
+ | `loom detect-agents` | List coding agents detected on this machine |
156
+ | `loom worker --project <name> --agent <name> --project-path <path>` | Run a worker that executes Running tasks (git worktree isolation, `--max-budget-usd` cap) |
157
+ | `loom-mcp` | Start the MCP server |
158
+
159
+ ---
160
+
161
+ ## Development
162
+
163
+ ```bash
164
+ git clone https://github.com/mohamedhusseinios/Loom-OS.git
165
+ cd Loom-OS
166
+ python3 -m venv .venv && source .venv/bin/activate
167
+ pip install -e ".[dev]"
168
+
169
+ pytest tests/ -v # full test suite (pytest-asyncio)
170
+ bash scripts/smoke-test.sh # end-to-end: daemon + agent + API
171
+ cd dashboard && npm run dev # dashboard hot-reload
172
+ ```
173
+
174
+ See the [Development Guide](docs/DEVELOPMENT.md) for project structure, test patterns, and contribution conventions.
175
+
176
+ ---
177
+
178
+ ## Documentation
179
+
180
+ | Guide | Covers |
181
+ |-------|--------|
182
+ | [Architecture](docs/ARCHITECTURE.md) | Two-process design, module map, data flow, design principles |
183
+ | [Filesystem Protocol](docs/FILESYSTEM-PROTOCOL.md) | Full inbox protocol spec — every file type, format, processing rule |
184
+ | [API Reference](docs/API.md) | Complete REST + WebSocket API, all endpoints and event types |
185
+ | [Dashboard Guide](docs/DASHBOARD.md) | Page-by-page tour, tech stack, i18n, component map |
186
+ | [Task Board & Worker](docs/TASK-BOARD.md) | Kanban lifecycle, worker execution model, git worktree isolation |
187
+ | [Agent Lifecycle](docs/AGENT-LIFECYCLE.md) | Registration → contribution → dispatch flow, agent status, shared context |
188
+ | [Development Guide](docs/DEVELOPMENT.md) | Setup, project structure, test suite, daemon patterns, contribution conventions |
189
+
190
+ ### Design specs & implementation plans
191
+
192
+ - [Design spec](docs/superpowers/specs/2026-06-25-agentic-os-design.md) — original system design
193
+ - [Dashboard features design](docs/superpowers/specs/2026-06-26-agentic-os-dashboard-features-design.md)
194
+ - [Kanban task board design](docs/superpowers/specs/2026-06-27-agentic-os-kanban-task-board-design.md)
195
+ - [Live task execution design](docs/superpowers/specs/2026-06-27-agentic-os-live-task-execution-design.md)
196
+ - [Multi-agent worker runners design](docs/superpowers/specs/2026-06-28-multi-agent-worker-runners-design.md)
197
+ - [Post-parity roadmap design](docs/superpowers/specs/2026-06-29-loom-post-parity-roadmap-design.md)
198
+ - [Implementation plan](docs/plans/2026-06-25-agentic-os-implementation.md)
199
+ - [Dashboard features plan](docs/plans/2026-06-26-dashboard-features-implementation.md)
200
+ - [Competitor gap-closure roadmap](docs/plans/2026-06-26-competitor-gap-closure-implementation.md)
201
+ - [Live task execution plan](docs/plans/2026-06-27-agentic-os-live-task-execution-implementation.md)
202
+ - [Post-parity roadmap plan](docs/plans/2026-06-29-post-parity-roadmap-implementation.md)
203
+
204
+ ---
205
+
206
+ ## Brand
207
+
208
+ Monochrome, geometric. **Warp** (an L woven on a loom) is the primary mark; **Lattice** (an L traced through a knowledge graph) is the alternate.
209
+
210
+ | | Warp (primary) | Lattice (alternate) |
211
+ |---|---|---|
212
+ | Icon | <img src="docs/branding/loom-icon-warp-256.png" width="64" /> | <img src="docs/branding/loom-icon-lattice-512.png" width="64" /> |
213
+
214
+ - **Ink** `#141414` · **Paper** `#FFFFFF` · greys `#6F6F6F`, `#E5E5E5`
215
+ - **Wordmark** Space Grotesk 600, tracking −3.5%
216
+ - Full asset kit: [`docs/branding/`](docs/branding/README.md)
217
+
218
+ ---
219
+
220
+ ## License
221
+
222
+ MIT © Mohamed Hussien
@@ -0,0 +1,188 @@
1
+ <div align="center">
2
+
3
+ <img src="docs/branding/loom-icon-warp-256.png" alt="Loom OS" width="120" height="120" />
4
+
5
+ # Loom OS
6
+
7
+ **Unified agent memory fabric**
8
+
9
+ </div>
10
+
11
+ **Loom OS** is a unified agent memory fabric that weaves multiple AI coding agents — Claude Code, Codex, Hermes, Cursor, and more — into one shared, [Graphify](https://github.com/nousresearch/graphify)-powered knowledge graph per project. Agents talk to Loom OS **only through the filesystem**: they drop files into a per-project inbox and the daemon does the rest. There is no SDK, no API client, and no auth. A Next.js dashboard is the control plane for browsing the graph, managing agents, and dispatching work.
12
+
13
+ > **Naming.** The product is **Loom OS**. The installable package and CLI are **`loom`** (`pip install loom`). The repository directory and design/plan docs are named **`agentic-os`**. They all refer to the same project.
14
+
15
+ ---
16
+
17
+ ## Quick Start
18
+
19
+ ```bash
20
+ pip install loom # base install — no LLM keys required
21
+ loom start # starts daemon on http://127.0.0.1:8472
22
+ loom init --project my-app --project-path . # bootstraps inbox + starter register.json
23
+ # (or register a specific agent instead of init):
24
+ # loom register --agent claude-code --project my-app --project-path /abs/path
25
+ open http://localhost:3000 # dashboard (run the Next.js app — see below)
26
+ ```
27
+
28
+ The dashboard is a Next.js app under `dashboard/`. Start it with:
29
+
30
+ ```bash
31
+ cd dashboard && npm install && npm run dev # http://localhost:3000
32
+ ```
33
+
34
+ | What | Where |
35
+ |------|-------|
36
+ | Daemon (REST + WebSocket) | `http://127.0.0.1:8472` |
37
+ | Dashboard | `http://localhost:3000` |
38
+
39
+ **Prerequisites:** Python 3.11+, Node.js 20+. Graphify ships as a dependency (`graphifyy`).
40
+
41
+ > Want optional LLM-powered extraction (Ollama / OpenAI / Claude)?
42
+ > `pip install loom[llm]` — the base install works without any LLM.
43
+
44
+ ---
45
+
46
+ ## Capabilities
47
+
48
+ - **Multi-agent knowledge graph** — Graphify parses your codebase AST (zero API keys, code-only builds) and builds a per-project graph of files, functions, classes, communities, and execution flows. An optional LLM extraction layer can enrich the graph with semantic edges.
49
+ - **Filesystem inbox protocol** — agents never call an API. They write files into `~/.loom/inbox/<project>/`: `register.json`, `heartbeat.json`, `finding-*.md` (markdown + YAML frontmatter), `decision-*.md` (ADRs), `task-*.json` (dispatched tasks). The daemon watches, processes, and moves each file to `.processed/`.
50
+ - **Next.js dashboard** — interactive graph visualization (reagraph/cytoscape), agent management with live status, a Kanban task board (Todo · Ready · Running · Blocked · Done), project CRUD, knowledge-source discovery, and hybrid search. Bilingual (en/ar) with RTL support.
51
+ - **Task dispatch + worker execution** — dispatch tasks from the dashboard; a `loom worker` process picks up Running tasks, executes them in an isolated **git worktree**, and enforces a per-task USD budget cap. Results flow back as findings.
52
+ - **Hybrid search** — text (FTS) + vector embeddings + graph traversal in a single query path.
53
+ - **Optional LLM backends** — Ollama (default, local), OpenAI, or Anthropic Claude. Install with `pip install loom[llm]`. The base package needs no LLM at all.
54
+ - **MCP server** — `loom-mcp` exposes graph queries and finding ingestion over the Model Context Protocol so any MCP-aware agent can read from and write to Loom OS.
55
+ - **Single-process daemon, zero infrastructure** — no Docker, no Neo4j, no cloud. One Python process (FastAPI + uvicorn) plus the Next.js dashboard. State lives in SQLite (`~/.loom/state.db`).
56
+
57
+ ---
58
+
59
+ ## Architecture
60
+
61
+ ```
62
+ Browser :3000 ──▶ ┌──────────────────────────────────┐
63
+ │ Next.js Dashboard │
64
+ └──────────────┬───────────────────┘
65
+ │ REST + WebSocket
66
+ ┌─────────────────────────────────┼───────────────────┐
67
+ │ Loom Daemon (Python, :8472) │
68
+ │ │
69
+ │ watcher ──▶ router ──▶ registry / graph_engine ──▶ api
70
+ │ │ │ │
71
+ │ (SQLite) (Graphify CLI subprocess, │
72
+ │ ~/.loom/ graph.json sidecar) │
73
+ │ state.db │
74
+ └───────────────────────────────────────────────────────┘
75
+ ▲ ▲ ▲
76
+ │ │ │
77
+ ~/.loom/inbox/proj ~/.loom/inbox/proj ~/.loom/inbox/proj
78
+ Claude Code Codex Hermes
79
+ ```
80
+
81
+ **Two processes:**
82
+
83
+ 1. **Python daemon** (`daemon/`) — FastAPI + uvicorn on `127.0.0.1:8472`. REST routes plus a single `/ws` WebSocket for live updates. CORS allows `http://localhost:3000`.
84
+ 2. **Next.js dashboard** (`dashboard/`) — App Router on `:3000`. Talks to the daemon over REST + WebSocket.
85
+
86
+ **Filesystem protocol.** Agents write files into `~/.loom/inbox/<project>/`. The daemon watches the inbox, dispatches by filename, builds/updates the knowledge graph, and pushes live events to the dashboard.
87
+
88
+ **Daemon module map & data flow:**
89
+
90
+ ```
91
+ watcher.py watchdog observer on ~/.loom/inbox (recursive).
92
+ Marshals filesystem events onto the asyncio loop.
93
+
94
+ router.py Dispatches by filename → _handle_register, _handle_heartbeat,
95
+ _handle_finding, _handle_decision, _handle_task.
96
+ Moves processed files to .processed/. Rate-limits graph
97
+ updates (1 / 30s / project). Emits WsEvents to a queue.
98
+
99
+ registry.py AgentRegistry: aiosqlite over ~/.loom/state.db.
100
+ Tables: agents, projects, tasks. CRUD + graph-stat persistence.
101
+ graph_engine.py GraphEngine: build / update / query / stats / topology /
102
+ communities / flows. Invokes `graphify` as a CLI subprocess
103
+ (asyncio.to_thread); reads <project>/graphify-out/graph.json.
104
+ extractors.py Optional LLM extraction layer (injectable backend).
105
+ extracted_store.py Sidecar store for LLM-extracted semantic edges.
106
+ api.py FastAPI routes + WebSocket fan-out.
107
+ mcp_server.py MCP server (loom-mcp entry point).
108
+ worker.py Worker: executes Running tasks in git-worktree isolation.
109
+ ```
110
+
111
+ ---
112
+
113
+ ## CLI Reference
114
+
115
+ | Command | Description |
116
+ |---------|-------------|
117
+ | `loom start` | Start the daemon (FastAPI + uvicorn on `:8472`) |
118
+ | `loom init --project <name> --project-path <path>` | Bootstrap a project: create inbox + starter `register.json` |
119
+ | `loom register --agent <name> --project <name> --project-path <path>` | Register a coding agent with a project |
120
+ | `loom unregister --agent <name> --project <name>` | Remove an agent from a project |
121
+ | `loom detect-agents` | List coding agents detected on this machine |
122
+ | `loom worker --project <name> --agent <name> --project-path <path>` | Run a worker that executes Running tasks (git worktree isolation, `--max-budget-usd` cap) |
123
+ | `loom-mcp` | Start the MCP server |
124
+
125
+ ---
126
+
127
+ ## Development
128
+
129
+ ```bash
130
+ git clone https://github.com/mohamedhusseinios/Loom-OS.git
131
+ cd Loom-OS
132
+ python3 -m venv .venv && source .venv/bin/activate
133
+ pip install -e ".[dev]"
134
+
135
+ pytest tests/ -v # full test suite (pytest-asyncio)
136
+ bash scripts/smoke-test.sh # end-to-end: daemon + agent + API
137
+ cd dashboard && npm run dev # dashboard hot-reload
138
+ ```
139
+
140
+ See the [Development Guide](docs/DEVELOPMENT.md) for project structure, test patterns, and contribution conventions.
141
+
142
+ ---
143
+
144
+ ## Documentation
145
+
146
+ | Guide | Covers |
147
+ |-------|--------|
148
+ | [Architecture](docs/ARCHITECTURE.md) | Two-process design, module map, data flow, design principles |
149
+ | [Filesystem Protocol](docs/FILESYSTEM-PROTOCOL.md) | Full inbox protocol spec — every file type, format, processing rule |
150
+ | [API Reference](docs/API.md) | Complete REST + WebSocket API, all endpoints and event types |
151
+ | [Dashboard Guide](docs/DASHBOARD.md) | Page-by-page tour, tech stack, i18n, component map |
152
+ | [Task Board & Worker](docs/TASK-BOARD.md) | Kanban lifecycle, worker execution model, git worktree isolation |
153
+ | [Agent Lifecycle](docs/AGENT-LIFECYCLE.md) | Registration → contribution → dispatch flow, agent status, shared context |
154
+ | [Development Guide](docs/DEVELOPMENT.md) | Setup, project structure, test suite, daemon patterns, contribution conventions |
155
+
156
+ ### Design specs & implementation plans
157
+
158
+ - [Design spec](docs/superpowers/specs/2026-06-25-agentic-os-design.md) — original system design
159
+ - [Dashboard features design](docs/superpowers/specs/2026-06-26-agentic-os-dashboard-features-design.md)
160
+ - [Kanban task board design](docs/superpowers/specs/2026-06-27-agentic-os-kanban-task-board-design.md)
161
+ - [Live task execution design](docs/superpowers/specs/2026-06-27-agentic-os-live-task-execution-design.md)
162
+ - [Multi-agent worker runners design](docs/superpowers/specs/2026-06-28-multi-agent-worker-runners-design.md)
163
+ - [Post-parity roadmap design](docs/superpowers/specs/2026-06-29-loom-post-parity-roadmap-design.md)
164
+ - [Implementation plan](docs/plans/2026-06-25-agentic-os-implementation.md)
165
+ - [Dashboard features plan](docs/plans/2026-06-26-dashboard-features-implementation.md)
166
+ - [Competitor gap-closure roadmap](docs/plans/2026-06-26-competitor-gap-closure-implementation.md)
167
+ - [Live task execution plan](docs/plans/2026-06-27-agentic-os-live-task-execution-implementation.md)
168
+ - [Post-parity roadmap plan](docs/plans/2026-06-29-post-parity-roadmap-implementation.md)
169
+
170
+ ---
171
+
172
+ ## Brand
173
+
174
+ Monochrome, geometric. **Warp** (an L woven on a loom) is the primary mark; **Lattice** (an L traced through a knowledge graph) is the alternate.
175
+
176
+ | | Warp (primary) | Lattice (alternate) |
177
+ |---|---|---|
178
+ | Icon | <img src="docs/branding/loom-icon-warp-256.png" width="64" /> | <img src="docs/branding/loom-icon-lattice-512.png" width="64" /> |
179
+
180
+ - **Ink** `#141414` · **Paper** `#FFFFFF` · greys `#6F6F6F`, `#E5E5E5`
181
+ - **Wordmark** Space Grotesk 600, tracking −3.5%
182
+ - Full asset kit: [`docs/branding/`](docs/branding/README.md)
183
+
184
+ ---
185
+
186
+ ## License
187
+
188
+ MIT © Mohamed Hussien
@@ -0,0 +1 @@
1
+ """Loom — unified agent memory fabric."""