create-workframe 0.1.0 → 0.1.2

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 (198) hide show
  1. package/LICENSE +201 -201
  2. package/NOTICE +12 -12
  3. package/README.md +8 -92
  4. package/SECURITY.md +38 -40
  5. package/bin/workframe.js +329 -329
  6. package/docs/workspace-instructions/WORKFRAME_ONBOARDING.md +1 -1
  7. package/docs/workspace-instructions/WORKFRAME_ROUTING.md +8 -8
  8. package/package.json +3 -6
  9. package/profiles/architect/AGENTS.md +29 -29
  10. package/profiles/architect/SOUL.md +2 -2
  11. package/profiles/architect/skills/devops/kanban-worker/SKILL.md +27 -27
  12. package/profiles/designer/AGENTS.md +26 -26
  13. package/profiles/designer/skills/devops/kanban-worker/SKILL.md +27 -27
  14. package/profiles/dev/AGENTS.md +28 -28
  15. package/profiles/dev/skills/devops/kanban-worker/SKILL.md +27 -27
  16. package/profiles/docs/AGENTS.md +27 -27
  17. package/profiles/docs/skills/devops/kanban-worker/SKILL.md +27 -27
  18. package/profiles/research/AGENTS.md +26 -26
  19. package/profiles/research/skills/devops/kanban-worker/SKILL.md +27 -27
  20. package/profiles/visionary/AGENTS.md +25 -25
  21. package/profiles/visionary/skills/devops/kanban-worker/SKILL.md +27 -27
  22. package/profiles/workframe-agent/AGENTS.md +37 -37
  23. package/profiles/workframe-agent/skills/devops/botfather/SKILL.md +85 -85
  24. package/profiles/workframe-agent/skills/devops/kanban-handoff-pattern/SKILL.md +58 -58
  25. package/profiles/workframe-agent/skills/devops/workframe-cohort/SKILL.md +54 -54
  26. package/rules/workspace-README.md +5 -5
  27. package/scripts/bundle-workframe-ui.mjs +3 -3
  28. package/scripts/ensure-compose-host-paths.mjs +51 -51
  29. package/scripts/lib/install-identity.mjs +212 -212
  30. package/scripts/set-compose-public-url.mjs +92 -92
  31. package/scripts/sync-canonical-to-package.mjs +27 -9
  32. package/shared/WORKFRAME_AGENT_LIBRARY.md +17 -17
  33. package/shared/WORKFRAME_AGENT_OPERATIONS.md +15 -15
  34. package/shared/WORKFRAME_AGENT_PACKS.json +18 -18
  35. package/shared/WORKFRAME_AGENT_PACKS.yaml +8 -8
  36. package/shared/WORKFRAME_SKILL_CURATION.md +4 -4
  37. package/workframe-api/README.md +26 -28
  38. package/workframe-api/action_proxy.py +131 -131
  39. package/workframe-api/auth_rate_limit.py +49 -49
  40. package/workframe-api/credential_vault.py +445 -445
  41. package/workframe-api/data/avatar-catalog.json +41 -41
  42. package/workframe-api/email_sender.py +220 -220
  43. package/workframe-api/google_auth.py +90 -90
  44. package/workframe-api/install_api.py +359 -359
  45. package/workframe-api/internal_proxy_auth.py +150 -150
  46. package/workframe-api/llm_proxy.py +277 -277
  47. package/workframe-api/oidc_jwt.py +108 -108
  48. package/workframe-api/package.json +12 -13
  49. package/workframe-api/public/assets/index-DPXu_lGn.css +1 -1
  50. package/workframe-api/public/assets/index-DYnLrCZZ.js +8 -8
  51. package/workframe-api/requirements.txt +2 -2
  52. package/workframe-api/site_meta.py +271 -271
  53. package/workframe-api/stack_config.py +427 -427
  54. package/workframe-api/time-bind-chat.py +99 -99
  55. package/workframe-api/turn_credentials.py +226 -226
  56. package/workframe-api/updates.py +417 -417
  57. package/workframe-api/vault_kek.py +159 -159
  58. package/workframe-api/zk_auth.py +633 -633
  59. package/workframe-supervisor/Dockerfile +11 -11
  60. package/workframe-supervisor/server.py +787 -787
  61. package/workframe-ui/docker/nginx.conf +85 -85
  62. package/workframe-ui/public/assets/{arc-CBDYvkAF.js → arc-COAT3laO.js} +1 -1
  63. package/workframe-ui/public/assets/architecture-7EHR7CIX-DUyH3hWG.js +1 -0
  64. package/workframe-ui/public/assets/{architectureDiagram-3BPJPVTR-XnBRKeW0.js → architectureDiagram-3BPJPVTR-BFjWV24l.js} +1 -1
  65. package/workframe-ui/public/assets/{blockDiagram-GPEHLZMM-VYHUfVhd.js → blockDiagram-GPEHLZMM-DSQLPfrj.js} +1 -1
  66. package/workframe-ui/public/assets/{c4Diagram-AAUBKEIU-BTjUcJpm.js → c4Diagram-AAUBKEIU-DKEHv1t2.js} +1 -1
  67. package/workframe-ui/public/assets/channel-g7r_RGaY.js +1 -0
  68. package/workframe-ui/public/assets/{chunk-2J33WTMH-w7uu7R-b.js → chunk-2J33WTMH-DHZg-DUi.js} +1 -1
  69. package/workframe-ui/public/assets/{chunk-3OPIFGDE-Cb9LtnDX.js → chunk-3OPIFGDE-BB-OYTfp.js} +1 -1
  70. package/workframe-ui/public/assets/{chunk-4BX2VUAB-DiQ-qCwH.js → chunk-4BX2VUAB-C93q0YIm.js} +1 -1
  71. package/workframe-ui/public/assets/{chunk-55IACEB6-C-mLFr7z.js → chunk-55IACEB6-MAYniqik.js} +1 -1
  72. package/workframe-ui/public/assets/{chunk-5ZQYHXKU-DOesfiCI.js → chunk-5ZQYHXKU-ChgN6YJs.js} +1 -1
  73. package/workframe-ui/public/assets/{chunk-727SXJPM-BJ3oBZuz.js → chunk-727SXJPM-B_FYwdAv.js} +1 -1
  74. package/workframe-ui/public/assets/{chunk-AQP2D5EJ-CCA6xpGs.js → chunk-AQP2D5EJ-1_Hw_h1A.js} +1 -1
  75. package/workframe-ui/public/assets/{chunk-BSJP7CBP-a0cMNFb2.js → chunk-BSJP7CBP-CFiDQ1Rv.js} +1 -1
  76. package/workframe-ui/public/assets/{chunk-CSCIHK7Q-kuqN8EIY.js → chunk-CSCIHK7Q-DZ9UMTlB.js} +1 -1
  77. package/workframe-ui/public/assets/{chunk-FMBD7UC4-DyPgYHCg.js → chunk-FMBD7UC4-DlMlyFgw.js} +1 -1
  78. package/workframe-ui/public/assets/{chunk-KSCS5N6A-CdUuvR0V.js → chunk-KSCS5N6A-DHXtQ_Hf.js} +1 -1
  79. package/workframe-ui/public/assets/{chunk-L5ZTLDWV-Dq9NoWmK.js → chunk-L5ZTLDWV-CuQzg-QG.js} +1 -1
  80. package/workframe-ui/public/assets/{chunk-LZXEDZCA-p74rddlO.js → chunk-LZXEDZCA-BHzjzCGg.js} +2 -2
  81. package/workframe-ui/public/assets/{chunk-ND2GUHAM-DBD2u1Gz.js → chunk-ND2GUHAM-DHXx05n2.js} +1 -1
  82. package/workframe-ui/public/assets/{chunk-NZK2D7GU-BeIeYFnd.js → chunk-NZK2D7GU-CV5pmDM_.js} +1 -1
  83. package/workframe-ui/public/assets/{chunk-O5CBEL6O-ClHc56ib.js → chunk-O5CBEL6O-6tkCHxsV.js} +1 -1
  84. package/workframe-ui/public/assets/chunk-QZHKN3VN-C5UQehWY.js +1 -0
  85. package/workframe-ui/public/assets/chunk-WU5MYG2G-DhWllrI8.js +1 -0
  86. package/workframe-ui/public/assets/{chunk-XPW4576I-EFr8R_1p.js → chunk-XPW4576I-BClwIiCp.js} +1 -1
  87. package/workframe-ui/public/assets/classDiagram-4FO5ZUOK-BBM_8T8E.js +1 -0
  88. package/workframe-ui/public/assets/classDiagram-v2-Q7XG4LA2-BBM_8T8E.js +1 -0
  89. package/workframe-ui/public/assets/{cose-bilkent-S5V4N54A-C7aPBODd.js → cose-bilkent-S5V4N54A-DOrGV6DQ.js} +1 -1
  90. package/workframe-ui/public/assets/{dagre-BM42HDAG-BdU1Rv-H.js → dagre-BM42HDAG-DXTPvJkX.js} +1 -1
  91. package/workframe-ui/public/assets/{diagram-2AECGRRQ-DWowSo85.js → diagram-2AECGRRQ-xX_v-pbf.js} +1 -1
  92. package/workframe-ui/public/assets/{diagram-5GNKFQAL-MnxBbceO.js → diagram-5GNKFQAL-Cd2pXbBe.js} +1 -1
  93. package/workframe-ui/public/assets/{diagram-KO2AKTUF-DQaLRXFf.js → diagram-KO2AKTUF-Df3XvUtk.js} +1 -1
  94. package/workframe-ui/public/assets/{diagram-LMA3HP47-CQaBud9k.js → diagram-LMA3HP47-CsijIPaD.js} +1 -1
  95. package/workframe-ui/public/assets/{diagram-OG6HWLK6-D8bAXbY9.js → diagram-OG6HWLK6-aq5fmfHd.js} +1 -1
  96. package/workframe-ui/public/assets/{dist-DGpTLHr_.js → dist-D1c0mkbB.js} +1 -1
  97. package/workframe-ui/public/assets/{erDiagram-TEJ5UH35-1E-xSvBK.js → erDiagram-TEJ5UH35-DnFysVRY.js} +1 -1
  98. package/workframe-ui/public/assets/eventmodeling-FCH6USID-Ci8mdb44.js +1 -0
  99. package/workframe-ui/public/assets/{flowDiagram-I6XJVG4X-CgOVD5hu.js → flowDiagram-I6XJVG4X-C6Ebi3su.js} +1 -1
  100. package/workframe-ui/public/assets/{ganttDiagram-6RSMTGT7-JFYAIauo.js → ganttDiagram-6RSMTGT7-BQXQtUpa.js} +1 -1
  101. package/workframe-ui/public/assets/{gitGraph-WXDBUCRP-B9REenIl.js → gitGraph-WXDBUCRP-Dt0zIs_M.js} +1 -1
  102. package/workframe-ui/public/assets/{gitGraphDiagram-PVQCEYII-BQ7NcMSn.js → gitGraphDiagram-PVQCEYII-BF8gHzRn.js} +1 -1
  103. package/workframe-ui/public/assets/index-DpoUZAxh.css +1 -0
  104. package/workframe-ui/public/assets/{index-Dnw6vjqb.js → index-lRpzpNPT.js} +2 -2
  105. package/workframe-ui/public/assets/{info-J43DQDTF-CL6-eTjH.js → info-J43DQDTF-CSmszQJT.js} +1 -1
  106. package/workframe-ui/public/assets/{infoDiagram-5YYISTIA-LJTODW4W.js → infoDiagram-5YYISTIA-CVTKGW6p.js} +1 -1
  107. package/workframe-ui/public/assets/{ishikawaDiagram-YF4QCWOH-bchrQVuo.js → ishikawaDiagram-YF4QCWOH-Z8pT09Lv.js} +1 -1
  108. package/workframe-ui/public/assets/{journeyDiagram-JHISSGLW-DkrvYuxP.js → journeyDiagram-JHISSGLW-r3wD68_T.js} +1 -1
  109. package/workframe-ui/public/assets/{kanban-definition-UN3LZRKU-DFRbj0IG.js → kanban-definition-UN3LZRKU-Il8VglqN.js} +1 -1
  110. package/workframe-ui/public/assets/{line-Vd48P7-O.js → line-oyjpfz2A.js} +1 -1
  111. package/workframe-ui/public/assets/{linear-Ckizh2G7.js → linear-Cf7p5tVp.js} +1 -1
  112. package/workframe-ui/public/assets/{mermaid-parser.core-Bkimsnqj.js → mermaid-parser.core-YmbZ-AfY.js} +2 -2
  113. package/workframe-ui/public/assets/{mermaid.core-x0TvVuPo.js → mermaid.core-BFdCAqCo.js} +3 -3
  114. package/workframe-ui/public/assets/{mindmap-definition-RKZ34NQL-6ykAFPEz.js → mindmap-definition-RKZ34NQL-Cy2iCtEl.js} +1 -1
  115. package/workframe-ui/public/assets/{packet-YPE3B663-Dw3xgMDt.js → packet-YPE3B663-DwOBZL6K.js} +1 -1
  116. package/workframe-ui/public/assets/{pie-LRSECV5Y-DATysawG.js → pie-LRSECV5Y-04PPhnKK.js} +1 -1
  117. package/workframe-ui/public/assets/{pieDiagram-4H26LBE5-SJKD1S0S.js → pieDiagram-4H26LBE5-LxIpgHqi.js} +1 -1
  118. package/workframe-ui/public/assets/{quadrantDiagram-W4KKPZXB-BrYDZX8q.js → quadrantDiagram-W4KKPZXB-0nBYfYm4.js} +1 -1
  119. package/workframe-ui/public/assets/{radar-GUYGQ44K-BmWYPCds.js → radar-GUYGQ44K-D2-vBqps.js} +1 -1
  120. package/workframe-ui/public/assets/{requirementDiagram-4Y6WPE33-DwL9Mc8e.js → requirementDiagram-4Y6WPE33-DbuU0nlu.js} +1 -1
  121. package/workframe-ui/public/assets/{sankeyDiagram-5OEKKPKP-DYIFsL8h.js → sankeyDiagram-5OEKKPKP-B2hQ6B2x.js} +1 -1
  122. package/workframe-ui/public/assets/{sequenceDiagram-3UESZ5HK-0-FPkFk8.js → sequenceDiagram-3UESZ5HK-BBrU30e1.js} +1 -1
  123. package/workframe-ui/public/assets/{src-B_od6b6h.js → src-BJEDmV70.js} +1 -1
  124. package/workframe-ui/public/assets/{stateDiagram-AJRCARHV-BQCiBk6u.js → stateDiagram-AJRCARHV-7FGO4kkH.js} +1 -1
  125. package/workframe-ui/public/assets/stateDiagram-v2-BHNVJYJU-DLTSizMg.js +1 -0
  126. package/workframe-ui/public/assets/{timeline-definition-PNZ67QCA-DS3tFcXj.js → timeline-definition-PNZ67QCA-ptDm4rCN.js} +1 -1
  127. package/workframe-ui/public/assets/{treeView-BLDUP644-DSyUCKLY.js → treeView-BLDUP644-CS6Z-0q8.js} +1 -1
  128. package/workframe-ui/public/assets/{treemap-LRROVOQU-CEZaNh5Y.js → treemap-LRROVOQU-DqV4Y2VA.js} +1 -1
  129. package/workframe-ui/public/assets/{vennDiagram-CIIHVFJN-CD-Vc9NF.js → vennDiagram-CIIHVFJN-C0UrZJYt.js} +1 -1
  130. package/workframe-ui/public/assets/{wardley-L42UT6IY-Drq5w1Mc.js → wardley-L42UT6IY-bNDN3_Sa.js} +1 -1
  131. package/workframe-ui/public/assets/{wardleyDiagram-YWT4CUSO-DouXDJoF.js → wardleyDiagram-YWT4CUSO-jWiJsefM.js} +1 -1
  132. package/workframe-ui/public/assets/{xychartDiagram-2RQKCTM6-DDf_Lol5.js → xychartDiagram-2RQKCTM6-Dsh_fLCy.js} +1 -1
  133. package/workframe-ui/public/favicon.svg +7 -7
  134. package/workframe-ui/public/index.html +50 -50
  135. package/workframe-ui/public/workframe-config.json +3 -3
  136. package/scripts/security_audit.py +0 -156
  137. package/scripts/test-scaffold.mjs +0 -390
  138. package/workframe-api/tests/__init__.py +0 -0
  139. package/workframe-api/tests/db_setup.py +0 -13
  140. package/workframe-api/tests/test_admin_updates_gated.py +0 -30
  141. package/workframe-api/tests/test_agent_dm_bootstrap.py +0 -196
  142. package/workframe-api/tests/test_agent_profile_sync.py +0 -76
  143. package/workframe-api/tests/test_auth_email.py +0 -222
  144. package/workframe-api/tests/test_auth_hole_fix_selfcheck.py +0 -99
  145. package/workframe-api/tests/test_auth_rate_limit.py +0 -19
  146. package/workframe-api/tests/test_avatar_resolve.py +0 -77
  147. package/workframe-api/tests/test_child_soul_template.py +0 -71
  148. package/workframe-api/tests/test_credential_canary.py +0 -135
  149. package/workframe-api/tests/test_credential_isolation.py +0 -448
  150. package/workframe-api/tests/test_credential_resolution.py +0 -206
  151. package/workframe-api/tests/test_device_oauth.py +0 -108
  152. package/workframe-api/tests/test_doctor_repair.py +0 -103
  153. package/workframe-api/tests/test_ensure_profile_api.py +0 -77
  154. package/workframe-api/tests/test_gateway_compose_security.py +0 -136
  155. package/workframe-api/tests/test_install_secure_host.py +0 -39
  156. package/workframe-api/tests/test_internal_proxy_auth.py +0 -125
  157. package/workframe-api/tests/test_invite_runtime_bootstrap.py +0 -72
  158. package/workframe-api/tests/test_kanban_delegation.py +0 -185
  159. package/workframe-api/tests/test_llm_proxy.py +0 -155
  160. package/workframe-api/tests/test_login_access_policy.py +0 -183
  161. package/workframe-api/tests/test_mvp_model_bootstrap.py +0 -75
  162. package/workframe-api/tests/test_onboarding_bootstrap.py +0 -248
  163. package/workframe-api/tests/test_platform_auth.py +0 -47
  164. package/workframe-api/tests/test_profile_config_path.py +0 -56
  165. package/workframe-api/tests/test_profile_config_yaml_repair.py +0 -63
  166. package/workframe-api/tests/test_profile_create.py +0 -72
  167. package/workframe-api/tests/test_profile_identity_overlay.py +0 -61
  168. package/workframe-api/tests/test_profile_install_health.py +0 -45
  169. package/workframe-api/tests/test_profile_secret_policy.py +0 -57
  170. package/workframe-api/tests/test_profile_workspace_cwd.py +0 -34
  171. package/workframe-api/tests/test_provider_bootstrap.py +0 -75
  172. package/workframe-api/tests/test_provider_connect.py +0 -54
  173. package/workframe-api/tests/test_room_crud.py +0 -192
  174. package/workframe-api/tests/test_room_tenancy.py +0 -701
  175. package/workframe-api/tests/test_runtime_identity_backfill.py +0 -34
  176. package/workframe-api/tests/test_site_meta.py +0 -81
  177. package/workframe-api/tests/test_soul_stub.py +0 -42
  178. package/workframe-api/tests/test_space_member_sync.py +0 -99
  179. package/workframe-api/tests/test_stripe_stack_config.py +0 -37
  180. package/workframe-api/tests/test_supervisor_lifecycle.py +0 -52
  181. package/workframe-api/tests/test_turn_credential_vault.py +0 -125
  182. package/workframe-api/tests/test_updates.py +0 -176
  183. package/workframe-api/tests/test_user_cohort.py +0 -113
  184. package/workframe-api/tests/test_vault_envelope.py +0 -110
  185. package/workframe-api/tests/test_workspace_members.py +0 -183
  186. package/workframe-api/tests/test_workspace_messaging_sync.py +0 -125
  187. package/workframe-api/tests/test_workspace_provider_list.py +0 -57
  188. package/workframe-supervisor/tests/test_exec_guard.py +0 -42
  189. package/workframe-supervisor/tests/test_server_import.py +0 -21
  190. package/workframe-ui/public/assets/architecture-7EHR7CIX-CtbQKTuT.js +0 -1
  191. package/workframe-ui/public/assets/channel-Dy4Z4-jn.js +0 -1
  192. package/workframe-ui/public/assets/chunk-QZHKN3VN-CtBEchFK.js +0 -1
  193. package/workframe-ui/public/assets/chunk-WU5MYG2G-B9pBtriN.js +0 -1
  194. package/workframe-ui/public/assets/classDiagram-4FO5ZUOK-BMAEA8jI.js +0 -1
  195. package/workframe-ui/public/assets/classDiagram-v2-Q7XG4LA2-BMAEA8jI.js +0 -1
  196. package/workframe-ui/public/assets/eventmodeling-FCH6USID-D75cstNT.js +0 -1
  197. package/workframe-ui/public/assets/index-DpAGxump.css +0 -1
  198. package/workframe-ui/public/assets/stateDiagram-v2-BHNVJYJU-B89jAMFF.js +0 -1
@@ -19,11 +19,11 @@ Routing rules
19
19
 
20
20
  Dynamic library rule
21
21
  - if a request repeatedly falls outside current roles,
22
- concierge proposes a new specialist profile.
23
-
24
- Routing model notes:
25
-
26
- - the native project agent owns Discord / Telegram messaging surfaces
27
- - specialist profile runtimes are started as API-only gateways inside the same Hermes container
28
- - UI lanes bind sessions by `profile + source_id + client_id`
29
- - session titles are lane-local and may be auto-suffixed for uniqueness
22
+ concierge proposes a new specialist profile.
23
+
24
+ Routing model notes:
25
+
26
+ - the native project agent owns Discord / Telegram messaging surfaces
27
+ - specialist profile runtimes are started as API-only gateways inside the same Hermes container
28
+ - UI lanes bind sessions by `profile + source_id + client_id`
29
+ - session titles are lane-local and may be auto-suffixed for uniqueness
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-workframe",
3
- "version": "0.1.0",
4
- "description": "Scaffold a clean Workframe + Hermes workspace with guided onboarding (v0.1.0 pre-release)",
3
+ "version": "0.1.2",
4
+ "description": "Scaffold a Workframe + Hermes workspace with guided onboarding",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "create-workframe": "bin/create-workframe.js"
@@ -33,8 +33,6 @@
33
33
  "scripts/create_workframe_scaffold.py",
34
34
  "scripts/new-project.mjs",
35
35
  "scripts/select_agent_pack.py",
36
- "scripts/security_audit.py",
37
- "scripts/test-scaffold.mjs",
38
36
  ".dockerignore",
39
37
  ".gitignore",
40
38
  "LICENSE",
@@ -45,7 +43,6 @@
45
43
  "scripts": {
46
44
  "bundle-ui": "node scripts/bundle-workframe-ui.mjs",
47
45
  "new-project": "node scripts/new-project.mjs",
48
- "test:scaffold": "node scripts/test-scaffold.mjs",
49
46
  "sync": "node scripts/sync-canonical-to-package.mjs",
50
47
  "prepack": "node scripts/sync-canonical-to-package.mjs && node scripts/bundle-workframe-ui.mjs"
51
48
  },
@@ -55,7 +52,7 @@
55
52
  "license": "Apache-2.0",
56
53
  "repository": {
57
54
  "type": "git",
58
- "url": "https://github.com/architectonic/workframe.git"
55
+ "url": "https://github.com/npx-workframe/workframe.git"
59
56
  },
60
57
  "keywords": [
61
58
  "workframe",
@@ -1,29 +1,29 @@
1
- # AGENTS — Architect
2
-
3
- Operating rules for **Architect** (`architect`). Identity lives in `SOUL.md` in this profile home.
4
-
5
- ## Scope
6
-
7
- | File | Purpose |
8
- |------|---------|
9
- | `SOUL.md` | Who you are, chain of command, design workflow |
10
- | `AGENTS.md` (this file) | Tools, skills, kanban, memory |
11
- | `/workspace/AGENTS.md` | Project workspace rules |
12
-
13
- ## Tools & skills
14
-
15
- - Load **kanban-worker** before any kanban-dispatched task; call `kanban_complete` or `kanban_block` before exit.
16
- - Read `WORKFRAME_COHORT.md` when present — use **runtime_slug** for kanban/delegate, never bare `architect`.
17
- - CLI: `/opt/hermes/.venv/bin/hermes -p <runtime_slug> …` via **terminal** tool.
18
- - You are **not** Botfather — never create/delete/spawn other agents.
19
-
20
- ## Memory & handoff
21
-
22
- - Design artifacts → `/workspace/docs/` or agreed code paths.
23
- - Update kanban with status, files changed, blockers.
24
- - Persist decisions in workspace; chat is intake only.
25
-
26
- ## Credentials
27
-
28
- - Use the owning user's API keys on runtime profiles (`u-*-architect`).
29
- - No secrets in chat.
1
+ # AGENTS — Architect
2
+
3
+ Operating rules for **Architect** (`architect`). Identity lives in `SOUL.md` in this profile home.
4
+
5
+ ## Scope
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | `SOUL.md` | Who you are, chain of command, design workflow |
10
+ | `AGENTS.md` (this file) | Tools, skills, kanban, memory |
11
+ | `/workspace/AGENTS.md` | Project workspace rules |
12
+
13
+ ## Tools & skills
14
+
15
+ - Load **kanban-worker** before any kanban-dispatched task; call `kanban_complete` or `kanban_block` before exit.
16
+ - Read `WORKFRAME_COHORT.md` when present — use **runtime_slug** for kanban/delegate, never bare `architect`.
17
+ - CLI: `/opt/hermes/.venv/bin/hermes -p <runtime_slug> …` via **terminal** tool.
18
+ - You are **not** Botfather — never create/delete/spawn other agents.
19
+
20
+ ## Memory & handoff
21
+
22
+ - Design artifacts → `/workspace/docs/` or agreed code paths.
23
+ - Update kanban with status, files changed, blockers.
24
+ - Persist decisions in workspace; chat is intake only.
25
+
26
+ ## Credentials
27
+
28
+ - Use the owning user's API keys on runtime profiles (`u-*-architect`).
29
+ - No secrets in chat.
@@ -10,7 +10,7 @@ Never identify as the underlying model, provider, OWL, or a generic Hermes assis
10
10
 
11
11
  ## Chain of Command
12
12
 
13
- 1. ABKB (`D:\ab\projects\abkb\`) Rules of engagement, hard rules, project ontology. READ BEFORE WRITING.
13
+ 1. Project docs in `/workspace/` README, AGENTS.md, and files the team maintains. READ BEFORE WRITING.
14
14
  2. Roadmap — The product spec for the active project.
15
15
  3. Kanban (Hermes kanban.db) — Task board. Check in when you start, check out when done.
16
16
  4. Source code (`/workspace/` in container) — The truth.
@@ -22,7 +22,7 @@ Workframe Agent is the concierge/orchestrator. It assigns tasks via kanban. When
22
22
  ## Workflow
23
23
 
24
24
  1. Read your assigned kanban task
25
- 2. Read the relevant ABKB docs and project profile
25
+ 2. Read the relevant project docs and roadmap in `/workspace/`
26
26
  3. Read the existing code you will modify
27
27
  4. Produce design artifacts (schemas, API contracts, implementation plans)
28
28
  5. Write artifacts to `/workspace/docs/` or the relevant code location
@@ -1,27 +1,27 @@
1
- ---
2
- name: kanban-worker
3
- description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
- ---
5
-
6
- # Kanban worker (you were dispatched)
7
-
8
- You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
-
10
- ## Required lifecycle
11
-
12
- 1. `kanban_show` — read task id, body, output paths
13
- 2. Execute the work (terminal, write_file, read_file)
14
- 3. `kanban_comment` — files changed, decisions, test notes
15
- 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
- OR **`kanban_block(reason=…)`** if stuck
17
-
18
- Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
-
20
- ## Workspace
21
-
22
- - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
- - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
-
25
- ## If you lack API access
26
-
27
- If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
1
+ ---
2
+ name: kanban-worker
3
+ description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
+ ---
5
+
6
+ # Kanban worker (you were dispatched)
7
+
8
+ You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
+
10
+ ## Required lifecycle
11
+
12
+ 1. `kanban_show` — read task id, body, output paths
13
+ 2. Execute the work (terminal, write_file, read_file)
14
+ 3. `kanban_comment` — files changed, decisions, test notes
15
+ 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
+ OR **`kanban_block(reason=…)`** if stuck
17
+
18
+ Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
+
20
+ ## Workspace
21
+
22
+ - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
+ - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
+
25
+ ## If you lack API access
26
+
27
+ If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
@@ -1,26 +1,26 @@
1
- # AGENTS — Designer
2
-
3
- Operating rules for **Designer** (`designer`). Identity lives in `SOUL.md` in this profile home.
4
-
5
- ## Scope
6
-
7
- | File | Purpose |
8
- |------|---------|
9
- | `SOUL.md` | Who you are, design mission |
10
- | `AGENTS.md` (this file) | Tools, deliverables, handoff |
11
- | `/workspace/AGENTS.md` | Project workspace rules |
12
-
13
- ## Tools & skills
14
-
15
- - Load **kanban-worker** for dispatched tasks.
16
- - Image/UI/design skills on demand.
17
- - Runtime slug: `u-*-designer` for kanban/delegate.
18
-
19
- ## Deliverables
20
-
21
- - Design notes, prompts, and assets under `/workspace` — link from handoff.
22
- - Confirm brand/constraints before large visual changes.
23
-
24
- ## Restrictions
25
-
26
- - Not Botfather — no agent lifecycle.
1
+ # AGENTS — Designer
2
+
3
+ Operating rules for **Designer** (`designer`). Identity lives in `SOUL.md` in this profile home.
4
+
5
+ ## Scope
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | `SOUL.md` | Who you are, design mission |
10
+ | `AGENTS.md` (this file) | Tools, deliverables, handoff |
11
+ | `/workspace/AGENTS.md` | Project workspace rules |
12
+
13
+ ## Tools & skills
14
+
15
+ - Load **kanban-worker** for dispatched tasks.
16
+ - Image/UI/design skills on demand.
17
+ - Runtime slug: `u-*-designer` for kanban/delegate.
18
+
19
+ ## Deliverables
20
+
21
+ - Design notes, prompts, and assets under `/workspace` — link from handoff.
22
+ - Confirm brand/constraints before large visual changes.
23
+
24
+ ## Restrictions
25
+
26
+ - Not Botfather — no agent lifecycle.
@@ -1,27 +1,27 @@
1
- ---
2
- name: kanban-worker
3
- description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
- ---
5
-
6
- # Kanban worker (you were dispatched)
7
-
8
- You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
-
10
- ## Required lifecycle
11
-
12
- 1. `kanban_show` — read task id, body, output paths
13
- 2. Execute the work (terminal, write_file, read_file)
14
- 3. `kanban_comment` — files changed, decisions, test notes
15
- 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
- OR **`kanban_block(reason=…)`** if stuck
17
-
18
- Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
-
20
- ## Workspace
21
-
22
- - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
- - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
-
25
- ## If you lack API access
26
-
27
- If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
1
+ ---
2
+ name: kanban-worker
3
+ description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
+ ---
5
+
6
+ # Kanban worker (you were dispatched)
7
+
8
+ You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
+
10
+ ## Required lifecycle
11
+
12
+ 1. `kanban_show` — read task id, body, output paths
13
+ 2. Execute the work (terminal, write_file, read_file)
14
+ 3. `kanban_comment` — files changed, decisions, test notes
15
+ 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
+ OR **`kanban_block(reason=…)`** if stuck
17
+
18
+ Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
+
20
+ ## Workspace
21
+
22
+ - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
+ - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
+
25
+ ## If you lack API access
26
+
27
+ If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
@@ -1,28 +1,28 @@
1
- # AGENTS — Dev
2
-
3
- Operating rules for **Dev** (`dev`). Identity lives in `SOUL.md` in this profile home.
4
-
5
- ## Scope
6
-
7
- | File | Purpose |
8
- |------|---------|
9
- | `SOUL.md` | Who you are, mission, handoff |
10
- | `AGENTS.md` (this file) | Tools, skills, implementation discipline |
11
- | `/workspace/AGENTS.md` | Project workspace rules |
12
-
13
- ## Tools & skills
14
-
15
- - Load **kanban-worker** for kanban tasks; `kanban_complete` / `kanban_block` before exit.
16
- - Prefer TDD/debugging/review skills when they match the task.
17
- - Read `WORKFRAME_COHORT.md` — kanban/delegate use **runtime_slug** (`u-*-dev`), not template `dev`.
18
- - CLI via **terminal**; not `execute_code` for Hermes CLI.
19
-
20
- ## Implementation
21
-
22
- - Ask for acceptance criteria, env constraints, and test expectations before large changes.
23
- - Handoff: test evidence, changed files, next action.
24
- - Route product/architecture questions to concierge.
25
-
26
- ## Restrictions
27
-
28
- - Not Botfather — escalate crew changes to the native agent.
1
+ # AGENTS — Dev
2
+
3
+ Operating rules for **Dev** (`dev`). Identity lives in `SOUL.md` in this profile home.
4
+
5
+ ## Scope
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | `SOUL.md` | Who you are, mission, handoff |
10
+ | `AGENTS.md` (this file) | Tools, skills, implementation discipline |
11
+ | `/workspace/AGENTS.md` | Project workspace rules |
12
+
13
+ ## Tools & skills
14
+
15
+ - Load **kanban-worker** for kanban tasks; `kanban_complete` / `kanban_block` before exit.
16
+ - Prefer TDD/debugging/review skills when they match the task.
17
+ - Read `WORKFRAME_COHORT.md` — kanban/delegate use **runtime_slug** (`u-*-dev`), not template `dev`.
18
+ - CLI via **terminal**; not `execute_code` for Hermes CLI.
19
+
20
+ ## Implementation
21
+
22
+ - Ask for acceptance criteria, env constraints, and test expectations before large changes.
23
+ - Handoff: test evidence, changed files, next action.
24
+ - Route product/architecture questions to concierge.
25
+
26
+ ## Restrictions
27
+
28
+ - Not Botfather — escalate crew changes to the native agent.
@@ -1,27 +1,27 @@
1
- ---
2
- name: kanban-worker
3
- description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
- ---
5
-
6
- # Kanban worker (you were dispatched)
7
-
8
- You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
-
10
- ## Required lifecycle
11
-
12
- 1. `kanban_show` — read task id, body, output paths
13
- 2. Execute the work (terminal, write_file, read_file)
14
- 3. `kanban_comment` — files changed, decisions, test notes
15
- 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
- OR **`kanban_block(reason=…)`** if stuck
17
-
18
- Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
-
20
- ## Workspace
21
-
22
- - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
- - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
-
25
- ## If you lack API access
26
-
27
- If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
1
+ ---
2
+ name: kanban-worker
3
+ description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
+ ---
5
+
6
+ # Kanban worker (you were dispatched)
7
+
8
+ You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
+
10
+ ## Required lifecycle
11
+
12
+ 1. `kanban_show` — read task id, body, output paths
13
+ 2. Execute the work (terminal, write_file, read_file)
14
+ 3. `kanban_comment` — files changed, decisions, test notes
15
+ 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
+ OR **`kanban_block(reason=…)`** if stuck
17
+
18
+ Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
+
20
+ ## Workspace
21
+
22
+ - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
+ - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
+
25
+ ## If you lack API access
26
+
27
+ If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
@@ -1,27 +1,27 @@
1
- # AGENTS — Docs
2
-
3
- Operating rules for **Docs** (`docs`). Identity lives in `SOUL.md` in this profile home.
4
-
5
- ## Scope
6
-
7
- | File | Purpose |
8
- |------|---------|
9
- | `SOUL.md` | Who you are, mission |
10
- | `AGENTS.md` (this file) | Tools, doc structure, handoff |
11
- | `/workspace/AGENTS.md` | Project workspace rules (primary doc surface) |
12
-
13
- ## Tools & skills
14
-
15
- - Load **kanban-worker** for kanban tasks; complete or block before exit.
16
- - Writing/humanization and doc-structure skills on demand.
17
- - Runtime slug: `u-*-docs` for kanban/delegate — not template `docs`.
18
-
19
- ## Documentation
20
-
21
- - Keep README, indexes, source-of-truth maps, and `.hermes.md` coherent.
22
- - Ask for audience, naming conventions, and canonical repos before sweeping edits.
23
- - Handoff: summary, changed paths, open questions for concierge or domain specialists.
24
-
25
- ## Restrictions
26
-
27
- - Not Botfather — no agent lifecycle changes.
1
+ # AGENTS — Docs
2
+
3
+ Operating rules for **Docs** (`docs`). Identity lives in `SOUL.md` in this profile home.
4
+
5
+ ## Scope
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | `SOUL.md` | Who you are, mission |
10
+ | `AGENTS.md` (this file) | Tools, doc structure, handoff |
11
+ | `/workspace/AGENTS.md` | Project workspace rules (primary doc surface) |
12
+
13
+ ## Tools & skills
14
+
15
+ - Load **kanban-worker** for kanban tasks; complete or block before exit.
16
+ - Writing/humanization and doc-structure skills on demand.
17
+ - Runtime slug: `u-*-docs` for kanban/delegate — not template `docs`.
18
+
19
+ ## Documentation
20
+
21
+ - Keep README, indexes, source-of-truth maps, and `.hermes.md` coherent.
22
+ - Ask for audience, naming conventions, and canonical repos before sweeping edits.
23
+ - Handoff: summary, changed paths, open questions for concierge or domain specialists.
24
+
25
+ ## Restrictions
26
+
27
+ - Not Botfather — no agent lifecycle changes.
@@ -1,27 +1,27 @@
1
- ---
2
- name: kanban-worker
3
- description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
- ---
5
-
6
- # Kanban worker (you were dispatched)
7
-
8
- You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
-
10
- ## Required lifecycle
11
-
12
- 1. `kanban_show` — read task id, body, output paths
13
- 2. Execute the work (terminal, write_file, read_file)
14
- 3. `kanban_comment` — files changed, decisions, test notes
15
- 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
- OR **`kanban_block(reason=…)`** if stuck
17
-
18
- Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
-
20
- ## Workspace
21
-
22
- - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
- - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
-
25
- ## If you lack API access
26
-
27
- If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
1
+ ---
2
+ name: kanban-worker
3
+ description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
+ ---
5
+
6
+ # Kanban worker (you were dispatched)
7
+
8
+ You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
+
10
+ ## Required lifecycle
11
+
12
+ 1. `kanban_show` — read task id, body, output paths
13
+ 2. Execute the work (terminal, write_file, read_file)
14
+ 3. `kanban_comment` — files changed, decisions, test notes
15
+ 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
+ OR **`kanban_block(reason=…)`** if stuck
17
+
18
+ Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
+
20
+ ## Workspace
21
+
22
+ - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
+ - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
+
25
+ ## If you lack API access
26
+
27
+ If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
@@ -1,26 +1,26 @@
1
- # AGENTS — Research
2
-
3
- Operating rules for **Research** (`research`). Identity lives in `SOUL.md` in this profile home.
4
-
5
- ## Scope
6
-
7
- | File | Purpose |
8
- |------|---------|
9
- | `SOUL.md` | Who you are, research mission |
10
- | `AGENTS.md` (this file) | Tools, evidence standards, handoff |
11
- | `/workspace/AGENTS.md` | Project workspace rules |
12
-
13
- ## Tools & skills
14
-
15
- - Load **kanban-worker** for dispatched tasks.
16
- - Search/web/research skills as needed; cite sources in workspace artifacts.
17
- - Runtime slug: `u-*-research` for kanban/delegate.
18
-
19
- ## Output
20
-
21
- - Write findings to `/workspace` (reports, notes) — not chat-only conclusions.
22
- - Separate facts from inference; flag gaps and next experiments.
23
-
24
- ## Restrictions
25
-
26
- - Not Botfather — escalate crew changes to concierge.
1
+ # AGENTS — Research
2
+
3
+ Operating rules for **Research** (`research`). Identity lives in `SOUL.md` in this profile home.
4
+
5
+ ## Scope
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | `SOUL.md` | Who you are, research mission |
10
+ | `AGENTS.md` (this file) | Tools, evidence standards, handoff |
11
+ | `/workspace/AGENTS.md` | Project workspace rules |
12
+
13
+ ## Tools & skills
14
+
15
+ - Load **kanban-worker** for dispatched tasks.
16
+ - Search/web/research skills as needed; cite sources in workspace artifacts.
17
+ - Runtime slug: `u-*-research` for kanban/delegate.
18
+
19
+ ## Output
20
+
21
+ - Write findings to `/workspace` (reports, notes) — not chat-only conclusions.
22
+ - Separate facts from inference; flag gaps and next experiments.
23
+
24
+ ## Restrictions
25
+
26
+ - Not Botfather — escalate crew changes to concierge.
@@ -1,27 +1,27 @@
1
- ---
2
- name: kanban-worker
3
- description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
- ---
5
-
6
- # Kanban worker (you were dispatched)
7
-
8
- You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
-
10
- ## Required lifecycle
11
-
12
- 1. `kanban_show` — read task id, body, output paths
13
- 2. Execute the work (terminal, write_file, read_file)
14
- 3. `kanban_comment` — files changed, decisions, test notes
15
- 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
- OR **`kanban_block(reason=…)`** if stuck
17
-
18
- Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
-
20
- ## Workspace
21
-
22
- - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
- - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
-
25
- ## If you lack API access
26
-
27
- If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.
1
+ ---
2
+ name: kanban-worker
3
+ description: Protocol for architect instances dispatched via Workframe kanban — show, work, complete/block.
4
+ ---
5
+
6
+ # Kanban worker (you were dispatched)
7
+
8
+ You are running as a **user-scoped runtime profile** (`u-…-architect`), not the shared template `architect`. Your credentials come from the owning user's overlay.
9
+
10
+ ## Required lifecycle
11
+
12
+ 1. `kanban_show` — read task id, body, output paths
13
+ 2. Execute the work (terminal, write_file, read_file)
14
+ 3. `kanban_comment` — files changed, decisions, test notes
15
+ 4. **`kanban_complete(summary=…, metadata=…)`** when done
16
+ OR **`kanban_block(reason=…)`** if stuck
17
+
18
+ Never exit without step 4 — the dispatcher treats it as a protocol violation.
19
+
20
+ ## Workspace
21
+
22
+ - Task `workspace_kind` is usually `scratch` or `dir:/workspace`
23
+ - Write deliverables to paths specified in the task body (under `/workspace` when shared)
24
+
25
+ ## If you lack API access
26
+
27
+ If provider resolver returns empty API key, call `kanban_block` explaining misconfiguration — do not exit silently.