orc-ai 0.1.31 → 0.1.35

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 (145) hide show
  1. package/README.md +53 -15
  2. package/dist/index.js +703 -384
  3. package/dist/skills/orc-bugfix/SKILL.md +26 -0
  4. package/dist/skills/orc-coder/SKILL.md +38 -0
  5. package/dist/skills/orc-gateway/SKILL.md +103 -0
  6. package/dist/skills/orc-git-flow/SKILL.md +26 -0
  7. package/dist/skills/orc-handoff/SKILL.md +86 -0
  8. package/dist/skills/orc-handoff/scripts/upload-session.py +75 -0
  9. package/dist/skills/orc-knowledge/SKILL.md +147 -0
  10. package/dist/skills/orc-main-base/SKILL.md +32 -0
  11. package/dist/skills/orc-memory/SKILL.md +164 -0
  12. package/dist/skills/orc-memory-review/SKILL.md +26 -0
  13. package/dist/skills/orc-planner/SKILL.md +24 -0
  14. package/dist/skills/orc-report/SKILL.md +90 -0
  15. package/dist/skills/orc-requirements/SKILL.md +111 -0
  16. package/dist/skills/orc-reviewer/SKILL.md +47 -0
  17. package/dist/skills/orc-session/SKILL.md +98 -0
  18. package/dist/skills/orc-tasks/SKILL.md +39 -0
  19. package/dist/skills/orc-wiki/SKILL.md +15 -0
  20. package/dist/skills/orc-worker-base/SKILL.md +59 -0
  21. package/dist/web/assets/Agents-B0SalmRs.js +34 -0
  22. package/dist/web/assets/Audit-D3dBaCoN.js +1 -0
  23. package/dist/web/assets/Dashboard-1Knw_AzS.css +1 -0
  24. package/dist/web/assets/Dashboard-CJ3KiCyu.js +1 -0
  25. package/dist/web/assets/DocumentWorkspace-O0ez-i13.js +1 -0
  26. package/dist/web/assets/FileEditor-Ch6e0hEv.js +1 -0
  27. package/dist/web/assets/Jobs-CbEveAwk.js +11 -0
  28. package/dist/web/assets/Knowledge-vreYJPaX.js +3 -0
  29. package/dist/web/assets/PackageCatalog-BvxcvnLY.js +23 -0
  30. package/dist/web/assets/Pager-Dq380YIX.js +1 -0
  31. package/dist/web/assets/Rules-CcDAoIt6.js +82 -0
  32. package/dist/web/assets/Sessions-CMlxfa9p.js +1 -0
  33. package/dist/web/assets/Settings-DNQy_ZxV.js +11 -0
  34. package/dist/web/assets/Skills-FeFqT9z_.js +6 -0
  35. package/dist/web/assets/SourceEditor-C-ORhKmn.js +14 -0
  36. package/dist/web/assets/Tasks-Bqm_Sw0w.js +39 -0
  37. package/dist/web/assets/Terminals-BMLLQPoh.js +43 -0
  38. package/dist/web/assets/Terminals-BbWYyHA3.css +1 -0
  39. package/dist/web/assets/Wiki-CljmD-o3.js +9 -0
  40. package/dist/web/assets/abnfDiagram-VCTEODGH-DrtWnK_p.js +1 -0
  41. package/dist/web/assets/arc-7YeQrVvw.js +1 -0
  42. package/dist/web/assets/architectureDiagram-5GKGNRK7-B_XpUAdd.js +36 -0
  43. package/dist/web/assets/{blockDiagram-I7D4REHJ-CdWBkS7i.js → blockDiagram-I7D4REHJ-DuwUAwPZ.js} +4 -4
  44. package/dist/web/assets/{c4Diagram-7LVT6UL2-BZEprxck.js → c4Diagram-7LVT6UL2-B-AydoFZ.js} +6 -6
  45. package/dist/web/assets/channel-DZP1_EO2.js +1 -0
  46. package/dist/web/assets/chunk-2Q5K7J3B-Cxxn21e3.js +1 -0
  47. package/dist/web/assets/{chunk-5VM5RSS4-BU5Ia_Zx.js → chunk-5VM5RSS4-BmHgdUXz.js} +1 -1
  48. package/dist/web/assets/chunk-F27PBJKO-CP_Ga5JG.js +1 -0
  49. package/dist/web/assets/{chunk-IMKFNOWR-DXVUP8VZ.js → chunk-IMKFNOWR-DCCMGBrG.js} +1 -1
  50. package/dist/web/assets/chunk-JWPE2WC7-Jf1gochR.js +1 -0
  51. package/dist/web/assets/chunk-POPQ4Y6H-DttO_02r.js +1 -0
  52. package/dist/web/assets/{chunk-SVP7TREG-BbmgDsVa.js → chunk-SVP7TREG-BvMBeF4B.js} +4 -4
  53. package/dist/web/assets/{chunk-TICWLB2K-D__yk3_8.js → chunk-TICWLB2K-BEDb9Qnt.js} +2 -2
  54. package/dist/web/assets/chunk-XXDRQBXY-CsfHMr9_.js +1 -0
  55. package/dist/web/assets/classDiagram-ZZMXUADV-CJY6LvNT.js +1 -0
  56. package/dist/web/assets/classDiagram-v2-VYDZK3BY-CJY6LvNT.js +1 -0
  57. package/dist/web/assets/cose-bilkent-JH36ORCC-DrtWlmbR.js +1 -0
  58. package/dist/web/assets/{cynefin-OW5HDTMX-CURzzcAU.js → cynefin-OW5HDTMX-D4hXpO9D.js} +1 -1
  59. package/dist/web/assets/cynefinDiagram-5FMLGOSQ-Cd_bq103.js +62 -0
  60. package/dist/web/assets/{dagre-GXQ25YYZ-CMP7VfLG.js → dagre-GXQ25YYZ-DWF1W6uI.js} +2 -2
  61. package/dist/web/assets/{diagram-S7CK7UJ4-DIrD-ND8.js → diagram-S7CK7UJ4-BAdX2XSr.js} +4 -4
  62. package/dist/web/assets/diagram-UQ7AKVKN-Crzux2nr.js +41 -0
  63. package/dist/web/assets/{diagram-VSXAHHWV-C668Qsg6.js → diagram-VSXAHHWV-DwrlCNqJ.js} +3 -3
  64. package/dist/web/assets/diagram-VX7I27RA-BOeX6Wvt.js +24 -0
  65. package/dist/web/assets/diagram-Z3DM3KII-hNSyc7-M.js +24 -0
  66. package/dist/web/assets/ebnfDiagram-PWID7BFC-BRqoglai.js +1 -0
  67. package/dist/web/assets/{erDiagram-RLTQ6QDP-DcDsk0Et.js → erDiagram-RLTQ6QDP-resERPoL.js} +2 -2
  68. package/dist/web/assets/{flowDiagram-HODETNUW-DiqmTcf8.js → flowDiagram-HODETNUW-269od26p.js} +7 -7
  69. package/dist/web/assets/folder-open-DQV_HFPJ.js +6 -0
  70. package/dist/web/assets/ganttDiagram-EL5Y4UJY-CCeV9WK6.js +292 -0
  71. package/dist/web/assets/gitGraphDiagram-WWUBYQGX-BN4ha9TV.js +106 -0
  72. package/dist/web/assets/highlighted-body-KPVGNVTW-DO7C4FwV.js +1 -0
  73. package/dist/web/assets/index-BiQylL9N.js +378 -0
  74. package/dist/web/assets/index-CaCVuTzo.css +1 -0
  75. package/dist/web/assets/infoDiagram-27XIBGKW-BRN-weEs.js +2 -0
  76. package/dist/web/assets/{ishikawaDiagram-5VMMS53U-sq0Y-reT.js → ishikawaDiagram-5VMMS53U-HS3tPzt7.js} +5 -5
  77. package/dist/web/assets/{journeyDiagram-3NMN7TZE-sZFnrITK.js → journeyDiagram-3NMN7TZE-Dc3Uhk6f.js} +2 -2
  78. package/dist/web/assets/{kanban-definition-UXKFOSKX-DFA61kHr.js → kanban-definition-UXKFOSKX-C7l1XX6r.js} +8 -8
  79. package/dist/web/assets/layout-DEgz8GgK.js +1 -0
  80. package/dist/web/assets/linear-DhmYDpoB.js +1 -0
  81. package/dist/web/assets/mermaid-HWGCJPDP-BSvASSLS.js +604 -0
  82. package/dist/web/assets/{mindmap-definition-YA3MSWOX-DIxw7PIJ.js → mindmap-definition-YA3MSWOX-D0dHafwi.js} +5 -5
  83. package/dist/web/assets/pegDiagram-XKGWAZYB-DxUE96Rq.js +1 -0
  84. package/dist/web/assets/pencil-CMmJBoOk.js +6 -0
  85. package/dist/web/assets/pieDiagram-E7YTZNPT-CS82gfYC.js +39 -0
  86. package/dist/web/assets/primitive-files-BwTyowra.js +1 -0
  87. package/dist/web/assets/public-api-BvD4z7ja.js +131 -0
  88. package/dist/web/assets/{quadrantDiagram-AXDQQJYC-seZjV8O_.js → quadrantDiagram-AXDQQJYC-BTdszDQL.js} +2 -2
  89. package/dist/web/assets/railroadDiagram-O6MQD6OU-Cp9wkvOx.js +1 -0
  90. package/dist/web/assets/refresh-cw-BFntit-s.js +6 -0
  91. package/dist/web/assets/{requirementDiagram-BXWQKSXE-dZqOaHAk.js → requirementDiagram-BXWQKSXE-BVP2xYtV.js} +4 -4
  92. package/dist/web/assets/sankeyDiagram-P5KCCOFB-D-X3TW62.js +40 -0
  93. package/dist/web/assets/save-UXRnToPZ.js +6 -0
  94. package/dist/web/assets/scroll-area-BoNnJDMN.js +1 -0
  95. package/dist/web/assets/{sequenceDiagram-WJ2MYXX4-BmHbHxOy.js → sequenceDiagram-WJ2MYXX4-7_HUy4Mr.js} +4 -4
  96. package/dist/web/assets/sizeCapture-INFHLROL-CTXMBoIC.js +1 -0
  97. package/dist/web/assets/stateDiagram-D77RDMKH-DIy25Pdw.js +1 -0
  98. package/dist/web/assets/stateDiagram-v2-MP3YSRHH-Fhuap5B_.js +1 -0
  99. package/dist/web/assets/swimlanes-42K2YHIH-DCMqF0Po.js +1 -0
  100. package/dist/web/assets/swimlanesDiagram-VR7AAH4N-wD6u-_Xx.js +8 -0
  101. package/dist/web/assets/{timeline-definition-24CTP7MA-x9B0Tgt0.js → timeline-definition-24CTP7MA-DQD5x4b2.js} +2 -2
  102. package/dist/web/assets/useJobs-DDAgZxMS.js +1 -0
  103. package/dist/web/assets/useMemories-CJnbuyKh.js +1 -0
  104. package/dist/web/assets/useProjectScope-nq9kbnAP.js +1 -0
  105. package/dist/web/assets/{vennDiagram-4TSXK5OY-DHRMXqJX.js → vennDiagram-4TSXK5OY-C7G0HRYM.js} +5 -5
  106. package/dist/web/assets/{wardleyDiagram-VM6X3IG4-D8X0bsKw.js → wardleyDiagram-VM6X3IG4-D0q7Irz9.js} +4 -4
  107. package/dist/web/assets/{xychartDiagram-S5SC5T6Z-Ch__ZmFS.js → xychartDiagram-S5SC5T6Z-DWdMDa4h.js} +3 -3
  108. package/dist/web/index.html +12 -3
  109. package/package.json +7 -3
  110. package/dist/web/assets/FileEditor-BL6Ktjgt.js +0 -1
  111. package/dist/web/assets/SourceEditor-DR6ZsCvb.js +0 -43
  112. package/dist/web/assets/abnfDiagram-VCTEODGH-BoMZOsal.js +0 -1
  113. package/dist/web/assets/arc-CP0H0HkE.js +0 -1
  114. package/dist/web/assets/architectureDiagram-5GKGNRK7-CLIC4R3M.js +0 -36
  115. package/dist/web/assets/channel-BdSvgmGU.js +0 -1
  116. package/dist/web/assets/chunk-2Q5K7J3B-DSKyLqgX.js +0 -1
  117. package/dist/web/assets/chunk-F27PBJKO-BO46jCzc.js +0 -1
  118. package/dist/web/assets/chunk-JWPE2WC7-DPovEURl.js +0 -1
  119. package/dist/web/assets/chunk-POPQ4Y6H-BAjXk_cY.js +0 -1
  120. package/dist/web/assets/chunk-XXDRQBXY-B2CkQoJH.js +0 -1
  121. package/dist/web/assets/classDiagram-ZZMXUADV-CIE_hUlo.js +0 -1
  122. package/dist/web/assets/classDiagram-v2-VYDZK3BY-CIE_hUlo.js +0 -1
  123. package/dist/web/assets/cose-bilkent-JH36ORCC-DBIetk9t.js +0 -1
  124. package/dist/web/assets/cynefinDiagram-5FMLGOSQ-CWaHfsZ-.js +0 -62
  125. package/dist/web/assets/diagram-UQ7AKVKN-Ck0KfTY6.js +0 -41
  126. package/dist/web/assets/diagram-VX7I27RA-C2aDctm_.js +0 -24
  127. package/dist/web/assets/diagram-Z3DM3KII-Bz5EjVft.js +0 -24
  128. package/dist/web/assets/ebnfDiagram-PWID7BFC-CwPUwbvM.js +0 -1
  129. package/dist/web/assets/ganttDiagram-EL5Y4UJY-C5yVxABI.js +0 -292
  130. package/dist/web/assets/gitGraphDiagram-WWUBYQGX-CskKB9_l.js +0 -106
  131. package/dist/web/assets/highlighted-body-KPVGNVTW-FCmuFog7.js +0 -1
  132. package/dist/web/assets/index-B71tZPcx.css +0 -1
  133. package/dist/web/assets/index-CLW6N7v0.js +0 -1199
  134. package/dist/web/assets/infoDiagram-27XIBGKW-DA3uyi09.js +0 -2
  135. package/dist/web/assets/layout-DWH3Uq0C.js +0 -1
  136. package/dist/web/assets/linear-CVvCYiAa.js +0 -1
  137. package/dist/web/assets/pegDiagram-XKGWAZYB-D3My9y4e.js +0 -1
  138. package/dist/web/assets/pieDiagram-E7YTZNPT-vnthudhw.js +0 -39
  139. package/dist/web/assets/railroadDiagram-O6MQD6OU-7x7EOXeC.js +0 -1
  140. package/dist/web/assets/sankeyDiagram-P5KCCOFB-dtJDUnaJ.js +0 -40
  141. package/dist/web/assets/sizeCapture-INFHLROL-_2CYTyhb.js +0 -1
  142. package/dist/web/assets/stateDiagram-D77RDMKH-ByjPSYC_.js +0 -1
  143. package/dist/web/assets/stateDiagram-v2-MP3YSRHH-BWLm_iOS.js +0 -1
  144. package/dist/web/assets/swimlanes-42K2YHIH-Bxbb2UGA.js +0 -1
  145. package/dist/web/assets/swimlanesDiagram-VR7AAH4N-DALKgwME.js +0 -8
package/README.md CHANGED
@@ -136,7 +136,7 @@ The web dashboard ships inside the `orc` binary and is served by the API process
136
136
  | `GET /api/*` | All REST routes |
137
137
  | `GET /openapi.json`, `GET /docs` | Swagger UI |
138
138
  | `GET /mcp` | MCP server (streamable HTTP) |
139
- | `GET /tasks/<id>`, `/flows/<name>`, … | `index.html` again - a navigation request matching no static file falls back to the SPA shell, so dashboard links are shareable |
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
141
  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
142
 
@@ -181,7 +181,9 @@ Or with [docker-compose.yml](docker-compose.yml):
181
181
  docker compose up -d
182
182
  ```
183
183
 
184
- The container defaults to the `claude` backend (direct Anthropic API via SDK — no host CLI needed). To delegate to an agent running on the host instead, set `ORC_AGENT_LOOP_DEFAULT_BACKEND=agentapi` and run [coder/agentapi](https://github.com/coder/agentapi) on the host:
184
+ The source Docker image includes Node, ACPX, Claude Code and Codex CLI, with versions pinned in the Dockerfile. Its default backend is `claude` through the Anthropic SDK. Tool installation alone does not supply authentication: provide `ANTHROPIC_API_KEY` for Claude, `OPENAI_API_KEY` or a container-local Codex login for `codex-cli`, and the credentials required by whichever agent ACPX launches. Mount your repository and use its **container path** as the project folder. Agent configuration/session files can persist in the Compose `orc-home` volume. Existing ORC policies still apply; native Codex rule interception is not certified by CLI/tool availability. These source changes do not update an already published image.
185
+
186
+ To delegate to an agent running on the host instead, set `ORC_AGENT_LOOP_DEFAULT_BACKEND=agentapi` and run [coder/agentapi](https://github.com/coder/agentapi) on the host:
185
187
 
186
188
  ```bash
187
189
  agentapi server --allowed-hosts '*' -- \
@@ -340,6 +342,12 @@ orc doctor --json # same, machine-readable
340
342
 
341
343
  The dashboard shows the same probe: the agent-backend field on a task is a picker that marks each backend ready or unavailable, and names the one a task with no backend of its own will use. `GET /api/backends` is the endpoint behind both.
342
344
 
345
+ Standalone executables embed the SDK adapter, but its native Claude executable is
346
+ external. Install Claude Code on `PATH` to use `claude` in a standalone build; an
347
+ API key alone does not supply that executable. The npm distribution uses the SDK's
348
+ installed optional executable. Windows npm shims require their `cli.js` and Node
349
+ or Bun; missing executable prerequisites are reported before launching a session.
350
+
343
351
  Enable the task loop in `~/.orc/config.json`:
344
352
 
345
353
  ```json
@@ -443,21 +451,18 @@ The graph itself is deterministic; only the nodes are agents. That means loops,
443
451
 
444
452
  ```bash
445
453
  orc flow list # what graphs are available
446
- orc flow show orc-plan-build-verify # nodes, edges, limits
447
- orc task add "Fix the flaky test" --flow orc-fix-verify
454
+ orc flow show orc-default # nodes, edges, limits
455
+ orc task add "Fix the flaky test" --flow orc-default --skill orc-bugfix
448
456
  orc flow status <taskId> # active nodes + the ledger of outcomes
449
457
  orc flow resume <taskId> --outcome approved # resolve a human gate
450
458
  orc flow halt <taskId> # stop it and kill live nodes
451
459
  ```
452
460
 
453
- | Built-in flow | Shape |
454
- | ----------------------- | ---------------------------------------------------------------------------- |
455
- | `orc-default` | build → review → done, looping back while `max_review_rounds` allows |
456
- | `orc-review-only` | A single review pass for a task you moved straight to `review` |
457
- | `orc-plan-build-verify` | planner → coder → reviewer, looping until acceptance criteria pass |
458
- | `orc-fix-verify` | bugfix → independent confirmation the fix holds and a regression test exists |
459
- | `orc-supervisor` | Executor keeping its context, plus a supervisor re-verifying from a clean one |
460
- | `orc-parallel-review` | Fan out to correctness / security / tests reviewers, join on all three |
461
+ | Built-in workflow | Use it for |
462
+ | --- | --- |
463
+ | `orc-default` | Development: understand, plan as needed, implement, verify and independently review; bounded rework. `required_review: false` explicitly skips agent review. |
464
+ | `orc-human-review` | The same development process plus human sign-off. Agent review and human approval are always required, even if `required_review` is false. |
465
+ | `orc-review-only` | Review existing work; approve, request changes, or pause when evidence is insufficient. |
461
466
 
462
467
  **Nodes** are `agent` (runs a session with a skill), `gate` (deterministic branching, fan-out, join points), `human` (waits for you), or `terminal` (ends the run and sets the task's final status). **Edges** carry declarative conditions — `outcome`, `visits`, `var`, `elapsed_secs`, composed with `all`/`any`/`not` — which are data, never evaluated code.
463
468
 
@@ -562,6 +567,21 @@ npx skills add niradler/orc --all -g
562
567
 
563
568
  Skill templates live in `skills/*/SKILL.md` (built-in) and `~/.orc/skills/` (user-defined). Agents discover them via `skill_list` and load with `skill_read`.
564
569
 
570
+ On the **Skills** page, each built-in has an **Agent discovery** toggle, plus
571
+ **Hide all built-ins** and **Show all built-ins** controls. Visibility applies
572
+ across the installation and defaults to visible. Hidden built-ins stay on the
573
+ Skills page for management and remain readable by name, including supporting
574
+ files; existing task flows continue to use them. User/imported skills and authored
575
+ global/project instruction overrides remain discoverable.
576
+
577
+ The policy is saved under `skills.hidden_builtins` in `~/.orc/config.json` and
578
+ read afresh for discovery, including by existing MCP processes. `GET /api/skills`
579
+ omits hidden built-ins; `include_hidden=true` returns the management catalog with
580
+ `discovery_hidden` metadata. `GET /api/skills/settings/visibility` reads the policy and
581
+ `PUT /api/skills/settings/visibility` replaces its `hidden_builtins` array using the usual
582
+ API authentication. This installation-wide preference ignores project config.
583
+ New built-ins default to visible until hidden explicitly.
584
+
565
585
  | Skill | Type | Purpose |
566
586
  | ------------------ | -------- | --------------------------------------------------------------------------- |
567
587
  | `orc-worker-base` | Base | Default worker behavior - ORC awareness, status updates, deliverable format |
@@ -596,9 +616,19 @@ orc skill validate ./my-workflow
596
616
  orc skill export my-workflow ./exported/my-workflow
597
617
  ```
598
618
 
619
+ Import public GitHub skills from **Skills → Import from GitHub**. Paste a repository URL, `owner/repo`, a GitHub skill-folder URL, or a `https://skills.sh/owner/repo/skill` link, discover the skills, then select which to import. ORC copies each complete folder at the displayed commit, including nested documentation, scripts and binary assets. Existing names are never overwritten by an import. Select up to 16 skills per import (64 MiB total).
620
+
621
+ ```bash
622
+ orc skill import vercel-labs/agent-skills --list
623
+ orc skill import vercel-labs/agent-skills --skill web-design-guidelines
624
+ orc skill sync web-design-guidelines
625
+ ```
626
+
627
+ Imported skills remain editable: open the skill, choose `SKILL.md` or a supporting text file, then **Edit** and **Save changes**. **Sync from GitHub** fetches the source again and compares each file against its last imported version. Local edits are kept when upstream has not changed that file. If both sides changed the same file, the whole sync pauses and lists conflicts. **Review override → Replace listed files** requires confirmation and replaces only those conflicts with upstream versions; unrelated local edits remain. If the local files or upstream commit changed since review, ORC requires a new sync check. Sync retains the previous folder under `~/.orc/skill-sync-backups/`; import provenance and upstream baselines live under `~/.orc/skill-imports/`. These backups are retained until manually removed. Private repositories and non-GitHub sources are not supported by this importer.
628
+
599
629
  The dashboard can import a skill folder or add supporting files individually, then open each file from the detail sheet. API `POST /api/skills` and MCP `skill_create` accept optional `files: [{ path, content, encoding? }]` alongside `name` and the full `SKILL.md` `content`. Encoding defaults to `utf8`. Bundles allow 512 supporting files, 8 MiB per file and 16 MiB total. Paths must stay inside the skill folder; symlinks are excluded and cannot be read. The legacy `references` inventory is retained for existing clients. Worker prompts include the skill's entry path and file inventory so relative links resolve from the skill directory.
600
630
 
601
- ### Shared agents and APM packages
631
+ ### Shared agents and portable packages
602
632
 
603
633
  ORC shares authored definitions across coding agents through one library. An agent profile describes the specialist; a backend selects the coding agent that runs it. Profiles use [APM's `.agent.md` format](https://microsoft.github.io/apm/producer/author-primitives/instructions-and-agents/): YAML frontmatter with a required `description`, optional `name`, `model`, `tools`, `color`, and `handoffs`, followed by Markdown instructions. Unknown agent fields are preserved. Standalone profiles live in `~/.orc/agents/`; project profiles in `.apm/agents/` override matching shared IDs.
604
634
 
@@ -621,7 +651,9 @@ Select a shared profile independently of its backend in an ORC flow:
621
651
 
622
652
  The same profile instructions and relative file locations reach every backend. Pinned models are supported by Claude SDK, Claude CLI, Codex CLI, and ACPX. Tool allowlists are enforced by Claude SDK and Claude CLI; other adapters reject profiles declaring tool restrictions. Unsupported model/tool settings fail before launch. Tool names and model IDs must be valid for the selected coding agent. Explicit session/flow model choices override the profile's model. Handoffs remain authored declarations; ORC flow edges control execution. Package instructions without `applyTo` are included automatically; scoped instructions retain their original glob strings or arrays in an on-demand index, which the coding agent applies when working on matching files.
623
653
 
624
- The dashboard's Agents page imports packages and creates/reads profiles. API `/api/agents` and `/api/agent-packages`, SDK clients, CLI, and MCP all access the same files. MCP tools are `agent_list`, `agent_read`, `agent_create`, `agent_package_list`, `agent_package_read`, and `agent_package_import`. Package agent IDs are namespaced as `<package>/<file-stem>`.
654
+ The dashboard's **Packages** page imports OpenAPM and portable Agent Plugins v1.0.0 folders, inspects/exports their files, and saves reusable agent setups. **Run with → Open in ORC terminal** prepares the selected packages through Microsoft APM or Vercel skills, then opens the coding agent. Deployment persists in the chosen project; normal upstream trust and authentication prompts remain. Whole portable plugins activate through APM/Copilot; skills-only plugins can use Vercel with Claude, Codex or Copilot. See [Reusable agent packages](docs/agent-packages.md) for requirements and supported combinations.
655
+
656
+ The **Agents** page creates/reads specialist profiles. API `/api/agents` and `/api/agent-packages`, SDK clients, CLI, and MCP all access the same files. MCP tools are `agent_list`, `agent_read`, `agent_create`, `agent_package_list`, `agent_package_read`, and `agent_package_import`. Package agent IDs are namespaced as `<package>/<file-stem>`.
625
657
 
626
658
  ## MCP tools
627
659
 
@@ -724,7 +756,7 @@ ORC merges config in priority order (later wins):
724
756
  | `ORC_API_HOST` | `127.0.0.1` | API listen host (set to `0.0.0.0` in Docker) |
725
757
  | `ORC_API_PORT` | `7700` | API listen port |
726
758
  | `ORC_API_SECRET` | - | Bearer token for auth |
727
- | `ORC_TERMINALS_ALLOW_WITHOUT_SECRET` | `false` | Allow dashboard Terminals with no API secret (loopback-bound API only) |
759
+ | `ORC_TERMINALS_ALLOW_WITHOUT_SECRET` | `false` | Legacy option; no longer needed. Terminals follow API open/authenticated mode |
728
760
  | `ORC_TELEGRAM_TOKEN` | - | Enables the Telegram gateway when set |
729
761
  | `AGENTAPI_URL` | `http://127.0.0.1:3284` | URL of host agentapi server (for `agentapi` backend) |
730
762
  | `ANTHROPIC_API_KEY` | - | Required for the `claude` backend (Anthropic SDK) |
@@ -820,8 +852,14 @@ See [AGENTS.md](./AGENTS.md) for the full development guide and coding conventio
820
852
 
821
853
  ## Learn more
822
854
 
855
+ - [Evolving Wiki](./docs/evolving-wiki.md) - cited retrieval, automatic session consolidation, evaluated skill promotion, and human revert
856
+ - [Agent Rules](./docs/agent-rules.md) - opt-in tool protection, revision history, deterministic job actions, and evidence-based skill evaluation
823
857
  - [Usage Guide](./docs/usage-guide.md) - best practices for memory, tasks, multi-agent workflows, and configuration
824
858
  - [Vision](./docs/vision.md) - why ORC exists and the problem it solves
825
859
  - [Roadmap](./docs/roadmap.md) - what shipped and what's next
826
860
  - [Agent Orchestration Design](./docs/agent-orchestration-design.md) - architecture spec for the task loop and multi-agent workflow
827
861
  - [Task Flows](./docs/task-flows.md) - flow graphs: nodes, conditional edges, bounded loops, fan-out and joins, and how to author your own
862
+
863
+ ### Knowledge learning
864
+
865
+ Session review and a daily digest compile verified notes into wiki lessons and edited skills. Reuse them through ordinary wiki/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.