orc-ai 0.1.35 → 0.1.37
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.
- package/README.md +163 -65
- package/dist/index.js +1394 -581
- package/dist/skills/orc-platform/SKILL.md +44 -0
- package/dist/skills/orc-platform/references/execution.md +141 -0
- package/dist/skills/orc-platform/references/knowledge.md +186 -0
- package/dist/skills/orc-platform/references/memory.md +48 -0
- package/dist/skills/orc-platform/references/packages.md +86 -0
- package/dist/skills/orc-platform/references/rules.md +44 -0
- package/dist/skills/orc-platform/references/setup.md +142 -0
- package/dist/skills/orc-platform/references/work.md +120 -0
- package/dist/skills/orc-sdlc/SKILL.md +93 -0
- package/dist/skills/orc-sdlc/references/development.md +137 -0
- package/dist/skills/orc-sdlc/references/planning.md +103 -0
- package/dist/skills/orc-sdlc/references/review-and-delivery.md +95 -0
- package/dist/web/assets/{Agents-B0SalmRs.js → Agents-BbR4Bppp.js} +2 -2
- package/dist/web/assets/Audit-BFK82hee.js +1 -0
- package/dist/web/assets/Dashboard-DJufUiXp.js +1 -0
- package/dist/web/assets/DocumentWorkspace-C6iWm8RY.js +1 -0
- package/dist/web/assets/FileEditor-C5d4xs5E.js +1 -0
- package/dist/web/assets/JobWebhooks-DGM7EHVj.js +1 -0
- package/dist/web/assets/Jobs-Cwhf6HrZ.js +11 -0
- package/dist/web/assets/Knowledge-D5JF_DmG.js +38 -0
- package/dist/web/assets/{PackageCatalog-BvxcvnLY.js → PackageCatalog-rlnJnlaQ.js} +5 -10
- package/dist/web/assets/Pager-B53jtBdE.js +1 -0
- package/dist/web/assets/Rules-C5l03Rhx.js +26 -0
- package/dist/web/assets/Sessions-B1ES2jjN.js +1 -0
- package/dist/web/assets/Settings-DZTNnZp2.js +12 -0
- package/dist/web/assets/Skills-zUJSqzxy.js +1 -0
- package/dist/web/assets/{SourceEditor-C-ORhKmn.js → SourceEditor-DW0vd3ce.js} +5 -5
- package/dist/web/assets/{Tasks-Bqm_Sw0w.js → Tasks-DEDs5HYJ.js} +1 -1
- package/dist/web/assets/Terminals-jLXfmfnA.js +43 -0
- package/dist/web/assets/Webhooks-BopgoCAt.js +1 -0
- package/dist/web/assets/abnfDiagram-VCTEODGH-99oetRq5.js +1 -0
- package/dist/web/assets/{arc-7YeQrVvw.js → arc-jz6C0oUp.js} +1 -1
- package/dist/web/assets/architectureDiagram-5GKGNRK7-CDnf-tTr.js +36 -0
- package/dist/web/assets/{blockDiagram-I7D4REHJ-DuwUAwPZ.js → blockDiagram-I7D4REHJ-wUZULRmh.js} +3 -3
- package/dist/web/assets/{c4Diagram-7LVT6UL2-B-AydoFZ.js → c4Diagram-7LVT6UL2-BbTCN0gc.js} +2 -2
- package/dist/web/assets/channel-BMK2j5Xo.js +1 -0
- package/dist/web/assets/{chunk-2Q5K7J3B-Cxxn21e3.js → chunk-2Q5K7J3B-DXQa_KS-.js} +1 -1
- package/dist/web/assets/{chunk-5VM5RSS4-BmHgdUXz.js → chunk-5VM5RSS4-DKex8fM9.js} +1 -1
- package/dist/web/assets/{chunk-F27PBJKO-CP_Ga5JG.js → chunk-F27PBJKO-CV24Bpwp.js} +1 -1
- package/dist/web/assets/{chunk-IMKFNOWR-DCCMGBrG.js → chunk-IMKFNOWR-dgfQu6Cr.js} +1 -1
- package/dist/web/assets/{chunk-JWPE2WC7-Jf1gochR.js → chunk-JWPE2WC7-rU75UmMf.js} +1 -1
- package/dist/web/assets/{chunk-POPQ4Y6H-DttO_02r.js → chunk-POPQ4Y6H-D05TMjhY.js} +1 -1
- package/dist/web/assets/{chunk-SVP7TREG-BvMBeF4B.js → chunk-SVP7TREG-DCPR8a_3.js} +1 -1
- package/dist/web/assets/{chunk-TICWLB2K-BEDb9Qnt.js → chunk-TICWLB2K-14JxXrzn.js} +1 -1
- package/dist/web/assets/{chunk-XXDRQBXY-CsfHMr9_.js → chunk-XXDRQBXY-CU-iUgTI.js} +1 -1
- package/dist/web/assets/classDiagram-ZZMXUADV-C3CpsbeZ.js +1 -0
- package/dist/web/assets/classDiagram-v2-VYDZK3BY-C3CpsbeZ.js +1 -0
- package/dist/web/assets/cose-bilkent-JH36ORCC-DsK-Wgux.js +1 -0
- package/dist/web/assets/{cynefin-OW5HDTMX-D4hXpO9D.js → cynefin-OW5HDTMX-CIbMF4yA.js} +1 -1
- package/dist/web/assets/cynefinDiagram-5FMLGOSQ-Dfa-crHB.js +62 -0
- package/dist/web/assets/{dagre-GXQ25YYZ-DWF1W6uI.js → dagre-GXQ25YYZ-B4F2yY9x.js} +2 -2
- package/dist/web/assets/{diagram-S7CK7UJ4-BAdX2XSr.js → diagram-S7CK7UJ4-f6czEOz8.js} +2 -2
- package/dist/web/assets/diagram-UQ7AKVKN-Bzc5H6mj.js +41 -0
- package/dist/web/assets/{diagram-VSXAHHWV-DwrlCNqJ.js → diagram-VSXAHHWV-nchG2_is.js} +2 -2
- package/dist/web/assets/diagram-VX7I27RA-DtoGnSm-.js +24 -0
- package/dist/web/assets/diagram-Z3DM3KII-B5RB4-4l.js +24 -0
- package/dist/web/assets/download-CUHnwD4I.js +6 -0
- package/dist/web/assets/ebnfDiagram-PWID7BFC-474F-fnY.js +1 -0
- package/dist/web/assets/{erDiagram-RLTQ6QDP-resERPoL.js → erDiagram-RLTQ6QDP-DjcLWB7r.js} +2 -2
- package/dist/web/assets/{flowDiagram-HODETNUW-269od26p.js → flowDiagram-HODETNUW-ClrSnJZC.js} +1 -1
- package/dist/web/assets/{folder-open-DQV_HFPJ.js → folder-open-DqVAWgc5.js} +2 -2
- package/dist/web/assets/ganttDiagram-EL5Y4UJY-DvUWwHi6.js +292 -0
- package/dist/web/assets/gitGraphDiagram-WWUBYQGX-DzQUHPow.js +106 -0
- package/dist/web/assets/highlighted-body-KPVGNVTW-BwSphjF-.js +1 -0
- package/dist/web/assets/index-2ojlkIJg.css +1 -0
- package/dist/web/assets/index-CRsafixF.js +379 -0
- package/dist/web/assets/infoDiagram-27XIBGKW-BXiAYW5v.js +2 -0
- package/dist/web/assets/{ishikawaDiagram-5VMMS53U-HS3tPzt7.js → ishikawaDiagram-5VMMS53U-DtkPoBMd.js} +2 -2
- package/dist/web/assets/{journeyDiagram-3NMN7TZE-Dc3Uhk6f.js → journeyDiagram-3NMN7TZE-De55MHfN.js} +2 -2
- package/dist/web/assets/{kanban-definition-UXKFOSKX-C7l1XX6r.js → kanban-definition-UXKFOSKX-CMbmC8bh.js} +2 -2
- package/dist/web/assets/{layout-DEgz8GgK.js → layout-CMoc3Ymp.js} +1 -1
- package/dist/web/assets/{linear-DhmYDpoB.js → linear-ByaFbiCi.js} +1 -1
- package/dist/web/assets/{mermaid-HWGCJPDP-BSvASSLS.js → mermaid-HWGCJPDP-BANMxb7n.js} +113 -108
- package/dist/web/assets/{mindmap-definition-YA3MSWOX-D0dHafwi.js → mindmap-definition-YA3MSWOX-DHpoB_3Z.js} +2 -2
- package/dist/web/assets/pegDiagram-XKGWAZYB-DlUFQicu.js +1 -0
- package/dist/web/assets/{pencil-CMmJBoOk.js → pencil-C7MeJi2-.js} +2 -2
- package/dist/web/assets/pieDiagram-E7YTZNPT-BTxNRrLy.js +39 -0
- package/dist/web/assets/{quadrantDiagram-AXDQQJYC-BTdszDQL.js → quadrantDiagram-AXDQQJYC-BXisK15b.js} +2 -2
- package/dist/web/assets/railroadDiagram-O6MQD6OU-Dep-5EOi.js +1 -0
- package/dist/web/assets/{refresh-cw-BFntit-s.js → refresh-cw-Bwp-x39v.js} +2 -2
- package/dist/web/assets/{requirementDiagram-BXWQKSXE-BVP2xYtV.js → requirementDiagram-BXWQKSXE-Dts4RxIL.js} +2 -2
- package/dist/web/assets/{sankeyDiagram-P5KCCOFB-D-X3TW62.js → sankeyDiagram-P5KCCOFB-B55oiprJ.js} +2 -2
- package/dist/web/assets/{save-UXRnToPZ.js → save-F382q8r7.js} +1 -1
- package/dist/web/assets/schemas-Cwl03S4d.js +57 -0
- package/dist/web/assets/{scroll-area-BoNnJDMN.js → scroll-area-B2WVTNHY.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-WJ2MYXX4-7_HUy4Mr.js → sequenceDiagram-WJ2MYXX4-Dm8OZOYP.js} +2 -2
- package/dist/web/assets/sizeCapture-INFHLROL-CdGYDQGd.js +1 -0
- package/dist/web/assets/stateDiagram-D77RDMKH-DzLl6piI.js +1 -0
- package/dist/web/assets/stateDiagram-v2-MP3YSRHH-Bd9-xfy5.js +1 -0
- package/dist/web/assets/swimlanes-42K2YHIH-C0y9oB16.js +1 -0
- package/dist/web/assets/swimlanesDiagram-VR7AAH4N-CY_HM0pG.js +8 -0
- package/dist/web/assets/{timeline-definition-24CTP7MA-DQD5x4b2.js → timeline-definition-24CTP7MA-BcFnACv9.js} +2 -2
- package/dist/web/assets/upload-De21en-z.js +6 -0
- package/dist/web/assets/useJobs-C4BQQWOR.js +1 -0
- package/dist/web/assets/useKnowledge-Dlk6zbmi.js +1 -0
- package/dist/web/assets/useMemories-B0YNmRrw.js +1 -0
- package/dist/web/assets/useProjectScope-NKMBMTCk.js +1 -0
- package/dist/web/assets/{vennDiagram-4TSXK5OY-C7G0HRYM.js → vennDiagram-4TSXK5OY-Bn7Y7h5d.js} +2 -2
- package/dist/web/assets/{wardleyDiagram-VM6X3IG4-D0q7Irz9.js → wardleyDiagram-VM6X3IG4-Bd7zbrPy.js} +2 -2
- package/dist/web/assets/wiki-links-Y6CQL1QZ.js +1 -0
- package/dist/web/assets/{xychartDiagram-S5SC5T6Z-DWdMDa4h.js → xychartDiagram-S5SC5T6Z-CyDYeK9G.js} +2 -2
- package/dist/web/favicon.svg +6 -0
- package/dist/web/index.html +3 -2
- package/package.json +4 -3
- package/dist/skills/orc-bugfix/SKILL.md +0 -26
- package/dist/skills/orc-coder/SKILL.md +0 -38
- package/dist/skills/orc-gateway/SKILL.md +0 -103
- package/dist/skills/orc-git-flow/SKILL.md +0 -26
- package/dist/skills/orc-handoff/SKILL.md +0 -86
- package/dist/skills/orc-knowledge/SKILL.md +0 -147
- package/dist/skills/orc-main-base/SKILL.md +0 -32
- package/dist/skills/orc-memory/SKILL.md +0 -164
- package/dist/skills/orc-memory-review/SKILL.md +0 -26
- package/dist/skills/orc-planner/SKILL.md +0 -24
- package/dist/skills/orc-report/SKILL.md +0 -90
- package/dist/skills/orc-requirements/SKILL.md +0 -111
- package/dist/skills/orc-reviewer/SKILL.md +0 -47
- package/dist/skills/orc-session/SKILL.md +0 -98
- package/dist/skills/orc-tasks/SKILL.md +0 -39
- package/dist/skills/orc-wiki/SKILL.md +0 -15
- package/dist/skills/orc-worker-base/SKILL.md +0 -59
- package/dist/web/assets/Audit-D3dBaCoN.js +0 -1
- package/dist/web/assets/Dashboard-CJ3KiCyu.js +0 -1
- package/dist/web/assets/DocumentWorkspace-O0ez-i13.js +0 -1
- package/dist/web/assets/FileEditor-Ch6e0hEv.js +0 -1
- package/dist/web/assets/Jobs-CbEveAwk.js +0 -11
- package/dist/web/assets/Knowledge-vreYJPaX.js +0 -3
- package/dist/web/assets/Pager-Dq380YIX.js +0 -1
- package/dist/web/assets/Rules-CcDAoIt6.js +0 -82
- package/dist/web/assets/Sessions-CMlxfa9p.js +0 -1
- package/dist/web/assets/Settings-DNQy_ZxV.js +0 -11
- package/dist/web/assets/Skills-FeFqT9z_.js +0 -6
- package/dist/web/assets/Terminals-BMLLQPoh.js +0 -43
- package/dist/web/assets/Wiki-CljmD-o3.js +0 -9
- package/dist/web/assets/abnfDiagram-VCTEODGH-DrtWnK_p.js +0 -1
- package/dist/web/assets/architectureDiagram-5GKGNRK7-B_XpUAdd.js +0 -36
- package/dist/web/assets/channel-DZP1_EO2.js +0 -1
- package/dist/web/assets/classDiagram-ZZMXUADV-CJY6LvNT.js +0 -1
- package/dist/web/assets/classDiagram-v2-VYDZK3BY-CJY6LvNT.js +0 -1
- package/dist/web/assets/cose-bilkent-JH36ORCC-DrtWlmbR.js +0 -1
- package/dist/web/assets/cynefinDiagram-5FMLGOSQ-Cd_bq103.js +0 -62
- package/dist/web/assets/diagram-UQ7AKVKN-Crzux2nr.js +0 -41
- package/dist/web/assets/diagram-VX7I27RA-BOeX6Wvt.js +0 -24
- package/dist/web/assets/diagram-Z3DM3KII-hNSyc7-M.js +0 -24
- package/dist/web/assets/ebnfDiagram-PWID7BFC-BRqoglai.js +0 -1
- package/dist/web/assets/ganttDiagram-EL5Y4UJY-CCeV9WK6.js +0 -292
- package/dist/web/assets/gitGraphDiagram-WWUBYQGX-BN4ha9TV.js +0 -106
- package/dist/web/assets/highlighted-body-KPVGNVTW-DO7C4FwV.js +0 -1
- package/dist/web/assets/index-BiQylL9N.js +0 -378
- package/dist/web/assets/index-CaCVuTzo.css +0 -1
- package/dist/web/assets/infoDiagram-27XIBGKW-BRN-weEs.js +0 -2
- package/dist/web/assets/pegDiagram-XKGWAZYB-DxUE96Rq.js +0 -1
- package/dist/web/assets/pieDiagram-E7YTZNPT-CS82gfYC.js +0 -39
- package/dist/web/assets/railroadDiagram-O6MQD6OU-Cp9wkvOx.js +0 -1
- package/dist/web/assets/sizeCapture-INFHLROL-CTXMBoIC.js +0 -1
- package/dist/web/assets/stateDiagram-D77RDMKH-DIy25Pdw.js +0 -1
- package/dist/web/assets/stateDiagram-v2-MP3YSRHH-Fhuap5B_.js +0 -1
- package/dist/web/assets/swimlanes-42K2YHIH-DCMqF0Po.js +0 -1
- package/dist/web/assets/swimlanesDiagram-VR7AAH4N-wD6u-_Xx.js +0 -8
- package/dist/web/assets/useJobs-DDAgZxMS.js +0 -1
- package/dist/web/assets/useMemories-CJnbuyKh.js +0 -1
- package/dist/web/assets/useProjectScope-nq9kbnAP.js +0 -1
- /package/dist/skills/{orc-handoff → orc-platform}/scripts/upload-session.py +0 -0
package/README.md
CHANGED
|
@@ -28,14 +28,14 @@ ORC fixes this. Shared memory across every session. A task board where agents su
|
|
|
28
28
|
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
29
29
|
| **Agent orchestration** | Task loop spawns workers across backends (Claude Code, Codex, Gemini, Copilot, A2A), manages concurrency and review cycles |
|
|
30
30
|
| **Human-in-the-loop** | Agents submit work for your approval via CLI, Telegram, or Slack before anything lands |
|
|
31
|
-
| **Shared memory** |
|
|
31
|
+
| **Shared memory** | Short project facts (ports, conventions, gotchas, decisions), ranked by priority and loaded into every session's context |
|
|
32
32
|
| **Task board** | `todo → queued → doing → review → done` with dependency tracking, priority, and automatic unblocking |
|
|
33
33
|
| **Multi-backend routing** | Route to Claude (in-process, nothing to install), ACPX (14+ agents), agentapi, or remote A2A endpoints — with `orc doctor` reporting which are usable |
|
|
34
34
|
| **Job runner** | Cron, file-watch, webhook, or manual triggers with full run history |
|
|
35
|
-
| **MCP server** |
|
|
35
|
+
| **MCP server** | 54 tools connect any [Model Context Protocol](https://modelcontextprotocol.io) (MCP) compatible agent — stdio or Streamable HTTP |
|
|
36
36
|
| **Session continuity** | Snapshots survive context compaction so agents resume where they left off |
|
|
37
37
|
| **Gateway** | Approve work, search memory, and chat with live agents from Telegram or Slack |
|
|
38
|
-
| **Knowledge
|
|
38
|
+
| **Knowledge bases** | Upload PDFs, Office files and Markdown or copy in local folders; hybrid full-text + vector search with cited passages |
|
|
39
39
|
| **Skill library** | Discoverable workflow templates (coder, reviewer, planner, bugfix) that encode your standards |
|
|
40
40
|
| **Task flows** | Per-task graphs: conditional edges, bounded loops, parallel fan-out with joins, and human gates — with hard termination rails |
|
|
41
41
|
|
|
@@ -112,7 +112,7 @@ orc project use my-app
|
|
|
112
112
|
|
|
113
113
|
# 3. Add tasks and memories - everything auto-scopes to my-app
|
|
114
114
|
orc task add "Fix the auth bug" --priority high
|
|
115
|
-
orc mem add "Use RWMutex for token refresh" --
|
|
115
|
+
orc mem add token-refresh-lock -d "Check before touching token refresh" -c "Use RWMutex for token refresh" --priority 60
|
|
116
116
|
orc job add nightly --command "bun run test" --trigger cron --cron "0 22 * * *"
|
|
117
117
|
|
|
118
118
|
# 4. See everything
|
|
@@ -138,6 +138,8 @@ The web dashboard ships inside the `orc` binary and is served by the API process
|
|
|
138
138
|
| `GET /mcp` | MCP server (streamable HTTP) |
|
|
139
139
|
| `GET /tasks/<id>`, `/knowledge`, … | `index.html` again - a navigation request matching no static file falls back to the SPA shell, so dashboard links are shareable |
|
|
140
140
|
|
|
141
|
+
`/mcp?mode=meta` serves three meta-tools (`tool_search`, `tool_describe`, `tool_invoke`) instead of the full tool list, which keeps client context small; the model finds a tool, reads its schema, then calls it through `tool_invoke` with the same validation as a direct call. Stdio parity: `orc mcp --mode meta`. Any other `mode` value returns HTTP 400.
|
|
142
|
+
|
|
141
143
|
Override the served dist directory with `ORC_WEB_DIST=/path/to/web/dist` if you want to host a custom build (e.g. a fork). If no dist is found, the server runs in pure-API mode.
|
|
142
144
|
|
|
143
145
|
### Desktop app
|
|
@@ -195,6 +197,27 @@ The `--mcp-config` flag wires the host agent back to ORC's [HTTP MCP endpoint](#
|
|
|
195
197
|
|
|
196
198
|
## Connect your agent
|
|
197
199
|
|
|
200
|
+
For coding-agent access, check the installed `spec` CLI bridge first (`spec --help`,
|
|
201
|
+
`spec specs`). It can call ORC's MCP server without configuring MCP separately in
|
|
202
|
+
each agent. Use an existing ORC registration or an inline endpoint for your selected
|
|
203
|
+
installation:
|
|
204
|
+
|
|
205
|
+
```sh
|
|
206
|
+
spec call --mcp-http http://127.0.0.1:7700/mcp context --data '{"project":"my-app"}'
|
|
207
|
+
spec call --mcp-http http://127.0.0.1:7700/mcp skill_read --data '{"name":"orc-sdlc","project":"my-app"}'
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
For authenticated servers, use existing secure secret references in spec configuration;
|
|
211
|
+
do not put secrets in command arguments. Use `SPEC_NO_CACHE=1` when refreshing live
|
|
212
|
+
context and effective skills. Direct MCP connections below remain supported when
|
|
213
|
+
already configured. Check the CLI bridge before reporting ORC unavailable.
|
|
214
|
+
|
|
215
|
+
Lifecycle hooks and MCP registration are separate. The hook examples below record
|
|
216
|
+
session activity; also register ORC in the client's supported MCP configuration
|
|
217
|
+
using `orc mcp` (stdio) or `<origin>/mcp` (HTTP). Preserve existing servers and
|
|
218
|
+
configure authentication privately. Verify tool discovery and a project-scoped
|
|
219
|
+
`context` call in each client; installed hooks alone do not establish MCP access.
|
|
220
|
+
|
|
198
221
|
### Claude Code
|
|
199
222
|
|
|
200
223
|
Add to `~/.claude/settings.json`:
|
|
@@ -204,7 +227,7 @@ Add to `~/.claude/settings.json`:
|
|
|
204
227
|
"hooks": {
|
|
205
228
|
"PostToolUse": [
|
|
206
229
|
{
|
|
207
|
-
"matcher": "Write|Edit|MultiEdit|StrReplace|EditNotebook|Bash|Shell|Agent|EnterPlanMode|ExitPlanMode|mcp__orc__task_|
|
|
230
|
+
"matcher": "Write|Edit|MultiEdit|StrReplace|EditNotebook|Bash|Shell|Agent|EnterPlanMode|ExitPlanMode|mcp__orc__task_|mcp__orc__memory_create|mcp__orc__memory_delete|mcp__orc__job_run|mcp__orc__job_create|mcp__orc__job_update",
|
|
208
231
|
"hooks": [
|
|
209
232
|
{
|
|
210
233
|
"type": "command",
|
|
@@ -307,17 +330,18 @@ The task loop automatically picks up queued tasks and spawns worker agents:
|
|
|
307
330
|
|
|
308
331
|
```bash
|
|
309
332
|
# Create a task with a workflow and backend
|
|
310
|
-
orc task add "Implement user auth" --skill orc-
|
|
333
|
+
orc task add "Implement user auth" --skill orc-sdlc --backend claude --priority high
|
|
311
334
|
|
|
312
335
|
# Or batch-create with dependencies via MCP
|
|
313
336
|
task_batch_create({ tasks: [
|
|
314
|
-
{ title: "Design schema", skill_name: "orc-
|
|
315
|
-
{ title: "Implement API",
|
|
316
|
-
{ title: "
|
|
337
|
+
{ ref: "design", title: "Design schema", skill_name: "orc-sdlc" },
|
|
338
|
+
{ ref: "api", title: "Implement API", skill_name: "orc-sdlc", depends_on: ["design"] },
|
|
339
|
+
{ ref: "tests", title: "Verify API integration", skill_name: "orc-sdlc", depends_on: ["api"] }
|
|
317
340
|
]})
|
|
318
341
|
```
|
|
319
342
|
|
|
320
343
|
The loop handles concurrency, session resume on feedback, review round limits, stale claim cleanup, and backend routing.
|
|
344
|
+
Each task's configured flow handles its review; a separate review task is unnecessary.
|
|
321
345
|
|
|
322
346
|
Every task runs a **flow graph** (see [Task flows](#task-flows)); `orc-default` is the build → review → done pipeline described above.
|
|
323
347
|
|
|
@@ -374,7 +398,7 @@ orc project add my-app -d "Main application"
|
|
|
374
398
|
orc project use my-app # set active
|
|
375
399
|
|
|
376
400
|
orc task list # scoped to my-app
|
|
377
|
-
orc mem
|
|
401
|
+
orc mem list -q auth # scoped to my-app
|
|
378
402
|
orc task list -p infra # override to different project
|
|
379
403
|
orc task list --no-project # see everything
|
|
380
404
|
```
|
|
@@ -385,45 +409,55 @@ MCP tools follow the same logic - pass `project: "name"` to scope, or omit to us
|
|
|
385
409
|
|
|
386
410
|
### Memory
|
|
387
411
|
|
|
388
|
-
|
|
412
|
+
A memory is a short project fact worth knowing next session: ports, conventions, gotchas,
|
|
413
|
+
decisions, pointers. Each has a lowercase-hyphenated `name` (unique per project), a
|
|
414
|
+
`description` saying when it matters, `content` (up to 800 characters by default) and an
|
|
415
|
+
optional `priority` from 0 to 100. `context` loads the top 30 memories by priority; agents
|
|
416
|
+
then read the ones they need. Procedures and long guidance belong in skills.
|
|
389
417
|
|
|
390
418
|
```bash
|
|
391
|
-
orc mem add "All IDs are ULIDs" --
|
|
392
|
-
orc mem
|
|
393
|
-
orc mem
|
|
419
|
+
orc mem add ulid-ids -d "Check before adding a table or ID field" -c "All IDs are ULIDs" --priority 90
|
|
420
|
+
orc mem list -q ids # search names and descriptions
|
|
421
|
+
orc mem show ulid-ids
|
|
422
|
+
orc mem edit ulid-ids --priority 80 -r "Narrower than we thought"
|
|
423
|
+
orc mem history ulid-ids # every change, with before/after
|
|
424
|
+
orc mem revert ulid-ids <change-id> --expected-change-id <latest-change-id> -r "Undo mistaken edit"
|
|
394
425
|
```
|
|
395
426
|
|
|
396
|
-
|
|
397
|
-
| ----------- | ------ | ----------------------------------------------- |
|
|
398
|
-
| `rule` | High | Conventions: "all IDs are ULIDs" |
|
|
399
|
-
| `decision` | High | Choices: "use PostgreSQL for concurrent writes" |
|
|
400
|
-
| `discovery` | Medium | Findings: "token refresh has a race condition" |
|
|
401
|
-
| `event` | Low | Things that happened: "deployed v1.0" |
|
|
402
|
-
| `fact` | Low | General knowledge (default) |
|
|
427
|
+
### Knowledge bases
|
|
403
428
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
Index existing document collections (markdown, notes, code docs) and make them searchable by any agent. Unlike memory (short agent-authored notes), knowledge searches pre-existing files on disk.
|
|
429
|
+
Knowledge bases hold human reference documents for agents to search and cite. A knowledge base belongs to a project or is global. Add documents by uploading files (PDF, Word, PowerPoint, Excel, HTML, CSV, Markdown, text), writing Markdown in the dashboard, or registering a folder whose files are copied in. ORC never writes the folder: a copy follows its file on each scan until it is edited in ORC, and a file deleted from the folder keeps its copy. Documents have folders, labels and `[[links]]` with backlinks.
|
|
407
430
|
|
|
408
431
|
```bash
|
|
409
|
-
|
|
410
|
-
orc
|
|
432
|
+
orc kb create Runbooks --project my-app
|
|
433
|
+
orc kb add Runbooks ./docs/*.pdf # upload and parse
|
|
434
|
+
orc kb sources add Runbooks ./handbook # copy a folder in, rescanned periodically
|
|
435
|
+
orc kb editable-by Runbooks ui,cli,api # agents (mcp) may read but not edit
|
|
436
|
+
orc kb search "rollback procedure" # cited passages
|
|
437
|
+
orc kb evidence "how do we rotate keys" # budgeted evidence pack
|
|
438
|
+
orc kb usage Runbooks # reads by source (mcp, api, cli, ui)
|
|
439
|
+
```
|
|
411
440
|
|
|
412
|
-
|
|
413
|
-
orc knowledge search "authentication flow"
|
|
441
|
+
Comments on a knowledge base or one of its documents ask for a change: a correction, a source to digest, a lesson to record. Each has an author and source, a status (open, resolved, dismissed) and one closing reply.
|
|
414
442
|
|
|
415
|
-
|
|
416
|
-
orc knowledge list
|
|
443
|
+
Any knowledge base can have a digest: an agent (Claude, Codex, ...) that follows the knowledge base's own instructions on a schedule, handling open comments first and then reading memories, session summaries and audit records to add, correct and clean up documents. The schedule is an ordinary ORC job (cron or manual) with run history. In the dashboard choose **Add digest** on a knowledge base; it starts from a generic template. Scheduled runs are skipped when nothing new happened. Each active project gets a starter **Learnings** knowledge base with a daily 03:00 digest.
|
|
417
444
|
|
|
418
|
-
|
|
419
|
-
orc
|
|
445
|
+
```bash
|
|
446
|
+
orc kb comment add Learnings "Digest https://example.com/postmortem"
|
|
447
|
+
orc kb digest template > digest.md # edit, then:
|
|
448
|
+
orc kb digest set Runbooks -b codex --cron "0 3 * * *" -i digest.md
|
|
449
|
+
orc kb digest run Runbooks
|
|
420
450
|
```
|
|
421
451
|
|
|
422
|
-
|
|
452
|
+
Search combines title/path matches, SQLite full-text search and, when embeddings are configured (Ollama or an OpenAI-compatible API), vectors stored with sqlite-vec. Set the embedding URL, model and API key or token in Settings or with `orc kb settings`; the key is stored encrypted and never returned by the API. Results cite passages as `kb:<doc>@<rev>#<n>`. Every read is counted per document and source.
|
|
453
|
+
|
|
454
|
+
The built-in parser handles all formats without extra installs. For better PDF layout, tables and OCR, install the optional [Docling](https://github.com/docling-project/docling) parser from Settings or with `orc kb docling install` (about 2 GB); in `auto` mode it is then used for PDFs and images. Each knowledge base can override the parser.
|
|
423
455
|
|
|
424
|
-
|
|
456
|
+
Each knowledge base lists the call sources that may change its documents (`editable_by`: `ui`, `cli`, `api`, `mcp`; all four by default). Agents write with `kb_write` and `kb_document` (partial edits by exact text or line range) where `mcp` is allowed; every change is a revision recording its source and session. Knowledge base settings and knowledge settings cannot be changed over MCP, so an agent cannot widen its own access. Rendered Markdown shows remote images as links instead of loading them.
|
|
425
457
|
|
|
426
|
-
|
|
458
|
+
To back up knowledge bases, stop ORC and copy `~/.orc/orc.db` (with its `-wal` and `-shm` files) and `~/.orc/knowledge/originals/`, plus `~/.orc/secret.key`, without which a saved embedding API key cannot be decrypted and must be entered again. The search index, parse results and Markdown copies are rebuilt on the next start.
|
|
459
|
+
|
|
460
|
+
**MCP tools:** `kb_list`, `kb_search`, `kb_evidence`, `kb_read`, `kb_documents`, `kb_write`, `kb_document`, `kb_comment`, `kb_manage`, `kb_digest`, `kb_maintenance`
|
|
427
461
|
|
|
428
462
|
### Task status flow
|
|
429
463
|
|
|
@@ -452,7 +486,7 @@ The graph itself is deterministic; only the nodes are agents. That means loops,
|
|
|
452
486
|
```bash
|
|
453
487
|
orc flow list # what graphs are available
|
|
454
488
|
orc flow show orc-default # nodes, edges, limits
|
|
455
|
-
orc task add "Fix the flaky test" --flow orc-default --skill orc-
|
|
489
|
+
orc task add "Fix the flaky test" --flow orc-default --skill orc-sdlc
|
|
456
490
|
orc flow status <taskId> # active nodes + the ledger of outcomes
|
|
457
491
|
orc flow resume <taskId> --outcome approved # resolve a human gate
|
|
458
492
|
orc flow halt <taskId> # stop it and kill live nodes
|
|
@@ -496,6 +530,53 @@ orc job add on-change --command "bun run lint" --trigger watch --watch "./s
|
|
|
496
530
|
orc job add on-push --command "bun run ci" --trigger webhook
|
|
497
531
|
```
|
|
498
532
|
|
|
533
|
+
Jobs separate **what runs** from **when it runs**. Choose **Run command**,
|
|
534
|
+
**Run agent**, or **Create task** in the dashboard. Command is required only for
|
|
535
|
+
Run command. Agent jobs save instructions, backend, optional model and explicit
|
|
536
|
+
tool approval; each run links to its tracked session. Task jobs save a task title
|
|
537
|
+
and instructions and link to the created task. **Start the task flow automatically**
|
|
538
|
+
is off by default, so generated tasks wait for a manual flow start.
|
|
539
|
+
The CLI accepts typed actions through `--action-config <json>`.
|
|
540
|
+
|
|
541
|
+
New jobs are disabled by default. Select **Enable this job immediately** during
|
|
542
|
+
creation or pass `orc job add ... --enable` to opt in. Jobs supports enable/disable
|
|
543
|
+
directly in the list and for selected rows. Projects shares the selection toolbar
|
|
544
|
+
for activate, pause and archive actions; select-all applies only to displayed rows.
|
|
545
|
+
Failed bulk updates remain selected so you can retry them.
|
|
546
|
+
|
|
547
|
+
### Webhooks
|
|
548
|
+
|
|
549
|
+
Open **Activity → Webhooks** to see all configured event sources and their connected
|
|
550
|
+
jobs. Create a source without a job, copy its URL and one-time signing secret, then
|
|
551
|
+
register them with the provider. Sources belong to the selected project, or are
|
|
552
|
+
shared across projects when created in All projects.
|
|
553
|
+
|
|
554
|
+
In **Jobs → New job** (or Edit), choose **Webhook** as the trigger, select an
|
|
555
|
+
existing source or create one inline, and set this job's event/action filters.
|
|
556
|
+
One source can trigger multiple enabled jobs, each with its own filters and action.
|
|
557
|
+
The Webhooks page shows source enablement, connected jobs and recent deliveries,
|
|
558
|
+
including individual run results and links to generated tasks or agent sessions.
|
|
559
|
+
Deleting a job disconnects it while preserving the reusable source.
|
|
560
|
+
|
|
561
|
+
For command jobs, accepted JSON is passed unchanged on stdin; bounded metadata is
|
|
562
|
+
also available as `ORC_WEBHOOK_*` environment variables. Agent and task jobs receive
|
|
563
|
+
up to 50,000 characters of event data, explicitly marked as untrusted input, alongside
|
|
564
|
+
the configured instructions. Delivery history stores event metadata and a payload
|
|
565
|
+
hash, not the payload body or signing secret; generated tasks and agent prompts can
|
|
566
|
+
contain the supplied event data.
|
|
567
|
+
|
|
568
|
+
Generic endpoints verify `X-Orc-Signature-256: sha256=<HMAC-SHA256 of the raw body>`.
|
|
569
|
+
Use `X-Orc-Event` for event filtering and `X-Orc-Delivery` (or
|
|
570
|
+
`Idempotency-Key`) for deduplication. GitHub endpoints use
|
|
571
|
+
`X-Hub-Signature-256`, `X-GitHub-Event` and `X-GitHub-Delivery` directly.
|
|
572
|
+
Event names and payload `action` values are configurable, so PR lifecycle,
|
|
573
|
+
reviews, workflow runs, releases, or later providers use the same job trigger.
|
|
574
|
+
|
|
575
|
+
Signing secrets are encrypted at rest and shown only when an endpoint is created or
|
|
576
|
+
rotated. The receiver is intentionally outside normal ORC bearer authentication;
|
|
577
|
+
the per-endpoint HMAC is its authentication boundary. Management remains under the
|
|
578
|
+
authenticated API.
|
|
579
|
+
|
|
499
580
|
### Gateway (Telegram / Slack)
|
|
500
581
|
|
|
501
582
|
Approve agent work from your phone, search memory, or start a live AI session.
|
|
@@ -539,7 +620,7 @@ Same commands as Telegram. Create a Slack app at [api.slack.com/apps](https://ap
|
|
|
539
620
|
|
|
540
621
|
## Skills
|
|
541
622
|
|
|
542
|
-
ORC ships
|
|
623
|
+
ORC ships two entry-point skills. Their supporting references load only when needed; custom skills and packages remain supported.
|
|
543
624
|
|
|
544
625
|
### Install skills
|
|
545
626
|
|
|
@@ -548,20 +629,23 @@ ORC ships with agent workflow skills and built-in skill templates for the task l
|
|
|
548
629
|
npx skills add niradler/orc --all
|
|
549
630
|
|
|
550
631
|
# Or pick specific ones
|
|
551
|
-
npx skills add niradler/orc --skill orc-
|
|
632
|
+
npx skills add niradler/orc --skill orc-platform orc-sdlc
|
|
552
633
|
|
|
553
634
|
# Global install
|
|
554
635
|
npx skills add niradler/orc --all -g
|
|
555
636
|
```
|
|
556
637
|
|
|
557
|
-
###
|
|
638
|
+
### Entry-point skills
|
|
558
639
|
|
|
559
|
-
| Skill
|
|
560
|
-
|
|
|
561
|
-
| `orc-
|
|
562
|
-
| `orc-
|
|
563
|
-
|
|
564
|
-
|
|
640
|
+
| Skill | Purpose |
|
|
641
|
+
| --- | --- |
|
|
642
|
+
| `orc-platform` | Operate ORC domains: setup/interfaces/auth, memory and maintained KBs/digests/embeddings, work/operations, sessions/SSH/Git/chat, rules and agent packages |
|
|
643
|
+
| `orc-sdlc` | Requirements → risk/complexity classification → direct work or plan → implementation → tests/completeness → review/rework → authorized Git delivery, with shared learning throughout |
|
|
644
|
+
|
|
645
|
+
Start with the relevant entry point and read only its selected reference. Platform
|
|
646
|
+
guidance groups related domains while keeping memory, execution and rules independently
|
|
647
|
+
loadable; SDLC has planning, development and review/delivery references. Clear low-risk
|
|
648
|
+
work can execute directly; assigned managed nodes preserve roles and flow contracts.
|
|
565
649
|
|
|
566
650
|
### Built-in skill templates
|
|
567
651
|
|
|
@@ -572,7 +656,7 @@ On the **Skills** page, each built-in has an **Agent discovery** toggle, plus
|
|
|
572
656
|
across the installation and defaults to visible. Hidden built-ins stay on the
|
|
573
657
|
Skills page for management and remain readable by name, including supporting
|
|
574
658
|
files; existing task flows continue to use them. User/imported skills and authored
|
|
575
|
-
global/project instruction overrides remain discoverable.
|
|
659
|
+
global/project instruction overrides of current skills remain discoverable.
|
|
576
660
|
|
|
577
661
|
The policy is saved under `skills.hidden_builtins` in `~/.orc/config.json` and
|
|
578
662
|
read afresh for discovery, including by existing MCP processes. `GET /api/skills`
|
|
@@ -582,16 +666,14 @@ omits hidden built-ins; `include_hidden=true` returns the management catalog wit
|
|
|
582
666
|
API authentication. This installation-wide preference ignores project config.
|
|
583
667
|
New built-ins default to visible until hidden explicitly.
|
|
584
668
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
| `orc-requirements` | Skill | Requirements interview - outcome, criteria, constraints, scope |
|
|
594
|
-
| `orc-report` | Skill | Project status report - health summary, blockers, active work |
|
|
669
|
+
Retired built-in names (such as `orc-coder` and `orc-reviewer`) remain readable
|
|
670
|
+
as compatibility routes for saved tasks, authored overrides and frozen flows, but
|
|
671
|
+
are not additional discovery entries. New tasks and built-in flows use
|
|
672
|
+
`orc-sdlc`; the node role selects implementation versus independent review.
|
|
673
|
+
Applicable authored legacy worker/coder/reviewer/knowledge instructions remain
|
|
674
|
+
role-scoped supplements with revision provenance, including on resume. Other authored
|
|
675
|
+
legacy domain guidance is indexed from the canonical effective read and loads by name
|
|
676
|
+
when relevant. Conflicts are surfaced rather than silently rewriting stored overlays.
|
|
595
677
|
|
|
596
678
|
Add custom skills by creating a `SKILL.md` in `~/.orc/skills/my-workflow/SKILL.md`.
|
|
597
679
|
|
|
@@ -657,17 +739,26 @@ The **Agents** page creates/reads specialist profiles. API `/api/agents` and `/a
|
|
|
657
739
|
|
|
658
740
|
## MCP tools
|
|
659
741
|
|
|
742
|
+
Agents can fetch original skill scripts/assets with
|
|
743
|
+
`skill_read({name: "orc-platform", ref: "scripts/upload-session.py", download: true, project: "my-app"})`.
|
|
744
|
+
It returns a signed ten-minute `download_url`, `sha256`, `size_bytes` and expiry
|
|
745
|
+
instead of the file body. Download to a local file and verify the hash; do not
|
|
746
|
+
reconstruct scripts from tool text. The URL authorizes only that file version and
|
|
747
|
+
does not contain the API secret. Keep it private. Expiry, API restart or file changes
|
|
748
|
+
require a new URL. Downloading never executes scripts. The authenticated REST mint
|
|
749
|
+
endpoint is `POST /api/skills/<name>/download` with `ref` and optional scope.
|
|
750
|
+
|
|
660
751
|
Tools are available to any connected agent. Start every session with `context`.
|
|
661
752
|
|
|
662
753
|
| Category | Tools |
|
|
663
754
|
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
664
755
|
| **Project** | `project_list` |
|
|
665
|
-
| **Memory** | `context`, `
|
|
756
|
+
| **Memory** | `context`, `memory_list`, `memory_read`, `memory_create`, `memory_update`, `memory_delete`, `memory_history`, `memory_revert` |
|
|
666
757
|
| **Task** | `task_list`, `task_get`, `task_create`, `task_update`, `task_batch_create` |
|
|
667
758
|
| **Skill** | `skill_list`, `skill_read`, `skill_create` |
|
|
668
759
|
| **Agent** | `agent_list`, `agent_read`, `agent_create`, `agent_package_list`, `agent_package_read`, `agent_package_import` |
|
|
669
760
|
| **Flow** | `flow_report`, `flow_status`, `flow_list`, `flow_read`, `flow_create`, `flow_attach` |
|
|
670
|
-
| **Knowledge** | `
|
|
761
|
+
| **Knowledge** | `kb_list`, `kb_search`, `kb_evidence`, `kb_read`, `kb_documents`, `kb_write`, `kb_maintenance` |
|
|
671
762
|
| **Search** | `search` |
|
|
672
763
|
| **Job** | `job_list`, `job_run`, `job_status` |
|
|
673
764
|
| **Session** | `session_event`, `session_snapshot`, `session_restore`, `session_log` |
|
|
@@ -691,8 +782,10 @@ Runs on port 7700 with auto-generated OpenAPI spec.
|
|
|
691
782
|
| `GET/POST/PATCH/DELETE` | `/tasks` | CRUD tasks |
|
|
692
783
|
| `GET/POST` | `/tasks/{id}/notes` | Task notes |
|
|
693
784
|
| `GET/POST/DELETE` | `/tasks/{id}/links` | Task dependencies |
|
|
694
|
-
| `GET/POST
|
|
695
|
-
| `GET`
|
|
785
|
+
| `GET/POST` | `/memories` | List (`q`, `sort`) / create |
|
|
786
|
+
| `GET/PATCH/DELETE` | `/memories/{name}` | Read / update / delete by name |
|
|
787
|
+
| `GET` | `/memories/{name}/history` | Change history |
|
|
788
|
+
| `POST` | `/memories/{name}/revert` | Revert a change |
|
|
696
789
|
| `GET` | `/knowledge/search` | Search documents (BM25/hybrid) |
|
|
697
790
|
| `GET` | `/knowledge/documents/{id}` | Get document by docid |
|
|
698
791
|
| `GET/POST/DELETE` | `/knowledge/collections` | CRUD collections |
|
|
@@ -728,7 +821,7 @@ orc doctor Check which agent backends are usable here
|
|
|
728
821
|
|
|
729
822
|
orc project list|add|show|use|update|archive
|
|
730
823
|
orc task list|add|show|update|done|review|approve|reject|delete
|
|
731
|
-
orc mem list|add|
|
|
824
|
+
orc mem list|show|add|edit|delete|history|revert
|
|
732
825
|
orc job list|add|run|runs
|
|
733
826
|
orc session list|show|log
|
|
734
827
|
orc skill list|show
|
|
@@ -771,8 +864,13 @@ ORC merges config in priority order (later wins):
|
|
|
771
864
|
| `ORC_AGENT_LOOP_DEFAULT_BACKEND` | `claude` | Default agent backend |
|
|
772
865
|
| `ORC_AGENT_LOOP_IDLE_TIMEOUT` | `20` | Session idle timeout (minutes) |
|
|
773
866
|
| `ORC_AGENT_LOOP_AUTO_APPROVE` | `true` | Auto-approve worker tool permissions |
|
|
774
|
-
| `
|
|
775
|
-
| `
|
|
867
|
+
| `ORC_KNOWLEDGE_ROOT` | beside `orc.db` | Knowledge base storage (files, index) |
|
|
868
|
+
| `ORC_KNOWLEDGE_PARSER` | `auto` | `auto`, `basic` or `docling` |
|
|
869
|
+
| `ORC_KNOWLEDGE_EMBEDDING_PROVIDER` | `none` | `none`, `ollama` or `openai` |
|
|
870
|
+
| `ORC_KNOWLEDGE_EMBEDDING_URL` | provider default | Embedding endpoint |
|
|
871
|
+
| `ORC_KNOWLEDGE_EMBEDDING_MODEL` | provider default | Embedding model |
|
|
872
|
+
| `ORC_KNOWLEDGE_EMBEDDING_API_KEY` | - | API key for OpenAI-compatible embeddings |
|
|
873
|
+
| `ORC_SQLITE_VEC_PATH` | bundled | Path to a sqlite-vec `vec0` library |
|
|
776
874
|
|
|
777
875
|
</details>
|
|
778
876
|
|
|
@@ -852,7 +950,7 @@ See [AGENTS.md](./AGENTS.md) for the full development guide and coding conventio
|
|
|
852
950
|
|
|
853
951
|
## Learn more
|
|
854
952
|
|
|
855
|
-
- [
|
|
953
|
+
- [Knowledge learning loop](./docs/knowledge-loop.md) - memories, knowledge base digests and comments, skill edits, and human revert
|
|
856
954
|
- [Agent Rules](./docs/agent-rules.md) - opt-in tool protection, revision history, deterministic job actions, and evidence-based skill evaluation
|
|
857
955
|
- [Usage Guide](./docs/usage-guide.md) - best practices for memory, tasks, multi-agent workflows, and configuration
|
|
858
956
|
- [Vision](./docs/vision.md) - why ORC exists and the problem it solves
|
|
@@ -862,4 +960,4 @@ See [AGENTS.md](./AGENTS.md) for the full development guide and coding conventio
|
|
|
862
960
|
|
|
863
961
|
### Knowledge learning
|
|
864
962
|
|
|
865
|
-
Session review and a daily digest
|
|
963
|
+
Session review records verified lessons, and each project's Learnings knowledge base has a daily digest that turns memories, session summaries and comments into documents. Reuse them through ordinary KB search and skill reads. The dashboard shows learning history, audit records and manual skill revert. See [Knowledge learning loop](docs/knowledge-loop.md) for scopes, scheduling and validation limits.
|