create-workframe 0.1.5 → 0.1.6
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/.dockerignore +22 -22
- package/.gitignore +73 -73
- package/LICENSE +201 -201
- package/NOTICE +12 -12
- package/README.md +40 -40
- package/SECURITY.md +38 -38
- package/bin/create-workframe.js +2816 -2814
- package/bin/workframe.js +329 -329
- package/docs/workspace-instructions/WORKFRAME_DISCORD.md +20 -20
- package/docs/workspace-instructions/WORKFRAME_DOCUMENTS_AND_ARTIFACTS.md +20 -20
- package/docs/workspace-instructions/WORKFRAME_KANBAN.md +20 -20
- package/docs/workspace-instructions/WORKFRAME_ONBOARDING.md +21 -21
- package/docs/workspace-instructions/WORKFRAME_ROUTING.md +29 -29
- package/docs/workspace-instructions/WORKFRAME_TELEGRAM.md +19 -19
- package/package.json +64 -64
- package/profiles/README.md +15 -15
- package/profiles/architect/AGENTS.md +29 -29
- package/profiles/architect/SOUL.md +44 -44
- package/profiles/architect/skills/devops/kanban-worker/SKILL.md +27 -27
- package/profiles/designer/AGENTS.md +26 -26
- package/profiles/designer/SOUL.md +31 -31
- package/profiles/designer/skills/devops/kanban-worker/SKILL.md +27 -27
- package/profiles/dev/AGENTS.md +28 -28
- package/profiles/dev/SOUL.md +31 -31
- package/profiles/dev/skills/devops/kanban-worker/SKILL.md +27 -27
- package/profiles/docs/AGENTS.md +27 -27
- package/profiles/docs/SOUL.md +30 -30
- package/profiles/docs/skills/devops/kanban-worker/SKILL.md +27 -27
- package/profiles/research/AGENTS.md +26 -26
- package/profiles/research/SOUL.md +31 -31
- package/profiles/research/skills/devops/kanban-worker/SKILL.md +27 -27
- package/profiles/visionary/AGENTS.md +25 -25
- package/profiles/visionary/SOUL.md +31 -31
- package/profiles/visionary/skills/devops/kanban-worker/SKILL.md +27 -27
- package/profiles/workframe-agent/AGENTS.md +37 -37
- package/profiles/workframe-agent/SETUP.md +185 -185
- package/profiles/workframe-agent/SOUL.md +61 -61
- package/profiles/workframe-agent/skills/devops/botfather/SKILL.md +85 -85
- package/profiles/workframe-agent/skills/devops/kanban-handoff-pattern/SKILL.md +58 -58
- package/profiles/workframe-agent/skills/devops/workframe-cohort/SKILL.md +54 -54
- package/prompts/WORKFRAME_PROMPT_TEMPLATES.md +16 -16
- package/rules/.hermes.md +11 -11
- package/rules/AGENTS.md +22 -22
- package/rules/workspace-README.md +5 -5
- package/scripts/apply-update-workframe.sh +91 -21
- package/scripts/bundle-workframe-ui.mjs +83 -83
- package/scripts/create_workframe_scaffold.py +648 -648
- package/scripts/ensure-compose-host-paths.mjs +51 -51
- package/scripts/lib/install-identity.mjs +212 -212
- package/scripts/lib/workframe-registry.mjs +290 -290
- package/scripts/new-project.mjs +68 -68
- package/scripts/select_agent_pack.py +31 -31
- package/scripts/set-compose-public-url.mjs +92 -92
- package/scripts/sync-canonical-to-package.mjs +164 -164
- package/shared/WORKFRAME_AGENT_LIBRARY.md +31 -31
- package/shared/WORKFRAME_AGENT_OPERATIONS.md +29 -29
- package/shared/WORKFRAME_AGENT_PACKS.json +64 -64
- package/shared/WORKFRAME_AGENT_PACKS.yaml +20 -20
- package/shared/WORKFRAME_CHAT_PERMISSION_MODEL.md +20 -20
- package/shared/WORKFRAME_HANDOFF_SCHEMA.md +25 -25
- package/shared/WORKFRAME_SKILL_CURATION.md +27 -27
- package/workframe-api/Dockerfile +14 -14
- package/workframe-api/README.md +24 -24
- package/workframe-api/action_proxy.py +131 -131
- package/workframe-api/auth_rate_limit.py +49 -49
- package/workframe-api/credential_vault.py +445 -445
- package/workframe-api/data/avatar-catalog.json +41 -41
- package/workframe-api/data/logo-catalog.json +14 -14
- package/workframe-api/data/user-avatar-catalog.json +18 -18
- package/workframe-api/email_sender.py +220 -220
- package/workframe-api/google_auth.py +90 -90
- package/workframe-api/install_api.py +359 -359
- package/workframe-api/internal_proxy_auth.py +150 -150
- package/workframe-api/llm_proxy.py +280 -280
- package/workframe-api/oidc_jwt.py +108 -108
- package/workframe-api/package.json +12 -12
- package/workframe-api/platform_auth.py +194 -194
- package/workframe-api/profile_secret_policy.py +86 -86
- package/workframe-api/public/assets/index-DPXu_lGn.css +1 -1
- package/workframe-api/public/assets/index-DYnLrCZZ.js +8 -8
- package/workframe-api/public/assets/index-DglUqFB_.js +8 -8
- package/workframe-api/public/index.html +12 -12
- package/workframe-api/requirements.txt +2 -2
- package/workframe-api/server.py +19866 -19866
- package/workframe-api/site_meta.py +271 -271
- package/workframe-api/stack_config.py +427 -427
- package/workframe-api/time-bind-chat.py +99 -99
- package/workframe-api/turn_credentials.py +226 -226
- package/workframe-api/updates.py +506 -506
- package/workframe-api/vault_kek.py +159 -159
- package/workframe-api/zk_auth.py +633 -633
- package/workframe-supervisor/Dockerfile +11 -11
- package/workframe-supervisor/profile_secret_policy.py +76 -76
- package/workframe-supervisor/server.py +860 -860
- package/workframe-ui/docker/nginx.conf +85 -85
- package/workframe-ui/public/assets/{arc-CnriPN3G.js → arc-DoYr2T5c.js} +1 -1
- package/workframe-ui/public/assets/architecture-7EHR7CIX-CmDi28hh.js +1 -0
- package/workframe-ui/public/assets/{architectureDiagram-3BPJPVTR-DYYB1Ic2.js → architectureDiagram-3BPJPVTR-Clher08G.js} +1 -1
- package/workframe-ui/public/assets/{blockDiagram-GPEHLZMM-Bn-fFOyj.js → blockDiagram-GPEHLZMM-Bdw9txrZ.js} +1 -1
- package/workframe-ui/public/assets/{c4Diagram-AAUBKEIU-BPPDtAnD.js → c4Diagram-AAUBKEIU-DlI_h_uo.js} +1 -1
- package/workframe-ui/public/assets/channel-DZYVoEdD.js +1 -0
- package/workframe-ui/public/assets/{chunk-2J33WTMH-Bz2CJiC3.js → chunk-2J33WTMH-ol-uwoeq.js} +1 -1
- package/workframe-ui/public/assets/{chunk-3OPIFGDE-B8aMeE1B.js → chunk-3OPIFGDE-7eDhBen0.js} +1 -1
- package/workframe-ui/public/assets/{chunk-4BX2VUAB-bLFHQTuT.js → chunk-4BX2VUAB-xPORD7Js.js} +1 -1
- package/workframe-ui/public/assets/{chunk-55IACEB6-BRxhx-lG.js → chunk-55IACEB6-Cwd7dr1z.js} +1 -1
- package/workframe-ui/public/assets/{chunk-5ZQYHXKU-BLyOgEJ8.js → chunk-5ZQYHXKU-Ckt4Sjy1.js} +1 -1
- package/workframe-ui/public/assets/{chunk-727SXJPM-DiuvBl7G.js → chunk-727SXJPM-sMk1op_G.js} +1 -1
- package/workframe-ui/public/assets/{chunk-AQP2D5EJ-BE1_aBdC.js → chunk-AQP2D5EJ-CMgSvr6H.js} +1 -1
- package/workframe-ui/public/assets/{chunk-BSJP7CBP-BicGsmBs.js → chunk-BSJP7CBP-Dx7GN0T4.js} +1 -1
- package/workframe-ui/public/assets/{chunk-CSCIHK7Q-C3VTns3d.js → chunk-CSCIHK7Q--OCu86u0.js} +1 -1
- package/workframe-ui/public/assets/{chunk-FMBD7UC4-DSiXY3bY.js → chunk-FMBD7UC4-CejmwJpz.js} +1 -1
- package/workframe-ui/public/assets/{chunk-KSCS5N6A-Cvw5s3fR.js → chunk-KSCS5N6A-CvOj2Yvp.js} +1 -1
- package/workframe-ui/public/assets/{chunk-L5ZTLDWV-jJifGdIQ.js → chunk-L5ZTLDWV-B0nGBjLU.js} +1 -1
- package/workframe-ui/public/assets/{chunk-LZXEDZCA-Maee1aqo.js → chunk-LZXEDZCA-Bdzvu227.js} +2 -2
- package/workframe-ui/public/assets/{chunk-ND2GUHAM-C77N3VAM.js → chunk-ND2GUHAM-CGR07jTY.js} +1 -1
- package/workframe-ui/public/assets/{chunk-NZK2D7GU-BY68lrPB.js → chunk-NZK2D7GU-CBojDPNC.js} +1 -1
- package/workframe-ui/public/assets/{chunk-O5CBEL6O-D_c4kWzh.js → chunk-O5CBEL6O-DBin5MPF.js} +1 -1
- package/workframe-ui/public/assets/chunk-QZHKN3VN-DwiajAaK.js +1 -0
- package/workframe-ui/public/assets/chunk-WU5MYG2G-Bz8vA5s7.js +1 -0
- package/workframe-ui/public/assets/{chunk-XPW4576I-DlQgvqBp.js → chunk-XPW4576I-TD7I7pcb.js} +1 -1
- package/workframe-ui/public/assets/classDiagram-4FO5ZUOK-DQiq8od0.js +1 -0
- package/workframe-ui/public/assets/classDiagram-v2-Q7XG4LA2-DQiq8od0.js +1 -0
- package/workframe-ui/public/assets/{cose-bilkent-S5V4N54A-CHCOHDSd.js → cose-bilkent-S5V4N54A-Bmm5x5xm.js} +1 -1
- package/workframe-ui/public/assets/{dagre-BM42HDAG-CKPcSYwU.js → dagre-BM42HDAG-zU2r0aq2.js} +1 -1
- package/workframe-ui/public/assets/{diagram-2AECGRRQ-C6qe0jP-.js → diagram-2AECGRRQ-AL01qukm.js} +1 -1
- package/workframe-ui/public/assets/{diagram-5GNKFQAL-DhQhrieU.js → diagram-5GNKFQAL-DKi1xSMg.js} +1 -1
- package/workframe-ui/public/assets/{diagram-KO2AKTUF-Bqf6Iw1r.js → diagram-KO2AKTUF-DQJDQ-f-.js} +1 -1
- package/workframe-ui/public/assets/{diagram-LMA3HP47-Bt1ms2D2.js → diagram-LMA3HP47-B1oisGUj.js} +1 -1
- package/workframe-ui/public/assets/{diagram-OG6HWLK6-C0Rrxe1i.js → diagram-OG6HWLK6-DjpJKffk.js} +1 -1
- package/workframe-ui/public/assets/{dist-BLcLhTn6.js → dist-Jk20AnQG.js} +1 -1
- package/workframe-ui/public/assets/{erDiagram-TEJ5UH35-Cy1GbZVu.js → erDiagram-TEJ5UH35-Vu8RtLUf.js} +1 -1
- package/workframe-ui/public/assets/eventmodeling-FCH6USID-BXUnTe0c.js +1 -0
- package/workframe-ui/public/assets/{flowDiagram-I6XJVG4X-DL3ALqDG.js → flowDiagram-I6XJVG4X-CHAXEhbR.js} +1 -1
- package/workframe-ui/public/assets/{ganttDiagram-6RSMTGT7-CMpwBhXQ.js → ganttDiagram-6RSMTGT7-DhiEkfH8.js} +1 -1
- package/workframe-ui/public/assets/{gitGraph-WXDBUCRP-C0mwHUXL.js → gitGraph-WXDBUCRP-Cuq44XvU.js} +1 -1
- package/workframe-ui/public/assets/{gitGraphDiagram-PVQCEYII-6gzhWaF0.js → gitGraphDiagram-PVQCEYII-B7kgReRt.js} +1 -1
- package/workframe-ui/public/assets/index-72-j0sA5.js +129 -0
- package/workframe-ui/public/assets/index-auJ0bLMU.css +1 -0
- package/workframe-ui/public/assets/{info-J43DQDTF-Bb_wZTxU.js → info-J43DQDTF-oV4b3M4f.js} +1 -1
- package/workframe-ui/public/assets/{infoDiagram-5YYISTIA-601evYFV.js → infoDiagram-5YYISTIA-CthN4b6o.js} +1 -1
- package/workframe-ui/public/assets/{ishikawaDiagram-YF4QCWOH-BYtF-wHm.js → ishikawaDiagram-YF4QCWOH-oEGS3TKg.js} +1 -1
- package/workframe-ui/public/assets/{journeyDiagram-JHISSGLW-BMizyHzC.js → journeyDiagram-JHISSGLW-CXJsWmKF.js} +1 -1
- package/workframe-ui/public/assets/{kanban-definition-UN3LZRKU-CLLJsdnh.js → kanban-definition-UN3LZRKU-DTPo8yHW.js} +1 -1
- package/workframe-ui/public/assets/{line-BFiSvu-q.js → line-Bm9Pmcnz.js} +1 -1
- package/workframe-ui/public/assets/{linear-D6HYZ18_.js → linear-Cn-uD6eX.js} +1 -1
- package/workframe-ui/public/assets/{mermaid-parser.core-Cid5yDBQ.js → mermaid-parser.core-BBVSTQZ4.js} +2 -2
- package/workframe-ui/public/assets/{mermaid.core-DqIiju5Z.js → mermaid.core-DE668nUy.js} +3 -3
- package/workframe-ui/public/assets/{mindmap-definition-RKZ34NQL-Bg7xJdsz.js → mindmap-definition-RKZ34NQL-4qVsiwCf.js} +1 -1
- package/workframe-ui/public/assets/{packet-YPE3B663-1ebGt86D.js → packet-YPE3B663-CqJeoiFG.js} +1 -1
- package/workframe-ui/public/assets/{pie-LRSECV5Y-DJ9wOBC_.js → pie-LRSECV5Y-DcOqVssg.js} +1 -1
- package/workframe-ui/public/assets/{pieDiagram-4H26LBE5-BmK96Aus.js → pieDiagram-4H26LBE5-CosMnpAM.js} +1 -1
- package/workframe-ui/public/assets/{quadrantDiagram-W4KKPZXB-ByUqtWPZ.js → quadrantDiagram-W4KKPZXB-DtsnIK98.js} +1 -1
- package/workframe-ui/public/assets/{radar-GUYGQ44K-DN-Hkt96.js → radar-GUYGQ44K-BqLpJuWc.js} +1 -1
- package/workframe-ui/public/assets/{requirementDiagram-4Y6WPE33-ByU2r8gb.js → requirementDiagram-4Y6WPE33-Pb7cuX8_.js} +1 -1
- package/workframe-ui/public/assets/{sankeyDiagram-5OEKKPKP-elyWa0GK.js → sankeyDiagram-5OEKKPKP-BJBlMM1m.js} +1 -1
- package/workframe-ui/public/assets/{sequenceDiagram-3UESZ5HK-CzZwsAiK.js → sequenceDiagram-3UESZ5HK-i4HnjP39.js} +1 -1
- package/workframe-ui/public/assets/{src-5vgsM_dl.js → src-DIhmc_XG.js} +1 -1
- package/workframe-ui/public/assets/{stateDiagram-AJRCARHV-B0O5w5lJ.js → stateDiagram-AJRCARHV-Ba2iClPT.js} +1 -1
- package/workframe-ui/public/assets/stateDiagram-v2-BHNVJYJU-aUpqRAhy.js +1 -0
- package/workframe-ui/public/assets/{timeline-definition-PNZ67QCA-oyqa5w5y.js → timeline-definition-PNZ67QCA-CL4X9vSF.js} +1 -1
- package/workframe-ui/public/assets/{treeView-BLDUP644-MCV12-eP.js → treeView-BLDUP644-BJrjnbMj.js} +1 -1
- package/workframe-ui/public/assets/{treemap-LRROVOQU-DiA1P9n5.js → treemap-LRROVOQU-CN6H54RF.js} +1 -1
- package/workframe-ui/public/assets/{vennDiagram-CIIHVFJN-CO_4x7OR.js → vennDiagram-CIIHVFJN-Cee6sbUy.js} +1 -1
- package/workframe-ui/public/assets/{wardley-L42UT6IY-CmQNv6Xv.js → wardley-L42UT6IY-D0cXq60c.js} +1 -1
- package/workframe-ui/public/assets/{wardleyDiagram-YWT4CUSO-CJxDkbIj.js → wardleyDiagram-YWT4CUSO-CaH9XkCx.js} +1 -1
- package/workframe-ui/public/assets/{xychartDiagram-2RQKCTM6-B02MxgzG.js → xychartDiagram-2RQKCTM6-BEisgFoI.js} +1 -1
- package/workframe-ui/public/favicon.svg +7 -7
- package/workframe-ui/public/icons.svg +24 -24
- package/workframe-ui/public/index.html +47 -47
- package/workframe-ui/public/manifest.webmanifest +18 -18
- package/workframe-ui/public/workframe-config.json +3 -3
- package/workframe-ui/public/assets/architecture-7EHR7CIX-CFhr7xAe.js +0 -1
- package/workframe-ui/public/assets/channel-Dok_-T0o.js +0 -1
- package/workframe-ui/public/assets/chunk-QZHKN3VN-C3wwLrTa.js +0 -1
- package/workframe-ui/public/assets/chunk-WU5MYG2G-GFFSg2kf.js +0 -1
- package/workframe-ui/public/assets/classDiagram-4FO5ZUOK-DKbGfT5Z.js +0 -1
- package/workframe-ui/public/assets/classDiagram-v2-Q7XG4LA2-DKbGfT5Z.js +0 -1
- package/workframe-ui/public/assets/eventmodeling-FCH6USID-C_PrceHe.js +0 -1
- package/workframe-ui/public/assets/index-DyO6K0TD.css +0 -1
- package/workframe-ui/public/assets/index-yvpSUs8T.js +0 -133
- package/workframe-ui/public/assets/stateDiagram-v2-BHNVJYJU-RXZRaSgT.js +0 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# Discord Guide (Workframe)
|
|
2
|
-
|
|
3
|
-
Use Discord for team-visible agent collaboration.
|
|
4
|
-
|
|
5
|
-
Minimal structure:
|
|
6
|
-
- #workframe-control
|
|
7
|
-
- #workframe-status
|
|
8
|
-
- #workframe-review
|
|
9
|
-
- one thread per initiative when needed
|
|
10
|
-
|
|
11
|
-
Interaction model:
|
|
12
|
-
- mention concierge for intake/routing
|
|
13
|
-
- concierge delegates through Kanban
|
|
14
|
-
- status returns to channels/threads
|
|
15
|
-
- canonical outputs go to project files
|
|
16
|
-
|
|
17
|
-
Permissions:
|
|
18
|
-
- owner/admin highest trust
|
|
19
|
-
- role/channel permissions enforced in Discord
|
|
20
|
-
- high-risk actions require explicit approval
|
|
1
|
+
# Discord Guide (Workframe)
|
|
2
|
+
|
|
3
|
+
Use Discord for team-visible agent collaboration.
|
|
4
|
+
|
|
5
|
+
Minimal structure:
|
|
6
|
+
- #workframe-control
|
|
7
|
+
- #workframe-status
|
|
8
|
+
- #workframe-review
|
|
9
|
+
- one thread per initiative when needed
|
|
10
|
+
|
|
11
|
+
Interaction model:
|
|
12
|
+
- mention concierge for intake/routing
|
|
13
|
+
- concierge delegates through Kanban
|
|
14
|
+
- status returns to channels/threads
|
|
15
|
+
- canonical outputs go to project files
|
|
16
|
+
|
|
17
|
+
Permissions:
|
|
18
|
+
- owner/admin highest trust
|
|
19
|
+
- role/channel permissions enforced in Discord
|
|
20
|
+
- high-risk actions require explicit approval
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# Workframe Document and Artifact Conventions
|
|
2
|
-
|
|
3
|
-
Single source of truth:
|
|
4
|
-
- Project files under `/workspace`.
|
|
5
|
-
|
|
6
|
-
Priority of truth:
|
|
7
|
-
1) Files (canonical)
|
|
8
|
-
2) Kanban records (execution history)
|
|
9
|
-
3) Chat messages (conversation context)
|
|
10
|
-
|
|
11
|
-
Required anchors:
|
|
12
|
-
- README.md
|
|
13
|
-
- AGENTS.md
|
|
14
|
-
- .hermes.md
|
|
15
|
-
- docs/INDEX.md
|
|
16
|
-
|
|
17
|
-
Artifact conventions:
|
|
18
|
-
- Keep markdown concise and linked.
|
|
19
|
-
- Update existing canonical docs before adding new scattered files.
|
|
20
|
-
- Do not store secrets/personal data in docs.
|
|
1
|
+
# Workframe Document and Artifact Conventions
|
|
2
|
+
|
|
3
|
+
Single source of truth:
|
|
4
|
+
- Project files under `/workspace`.
|
|
5
|
+
|
|
6
|
+
Priority of truth:
|
|
7
|
+
1) Files (canonical)
|
|
8
|
+
2) Kanban records (execution history)
|
|
9
|
+
3) Chat messages (conversation context)
|
|
10
|
+
|
|
11
|
+
Required anchors:
|
|
12
|
+
- README.md
|
|
13
|
+
- AGENTS.md
|
|
14
|
+
- .hermes.md
|
|
15
|
+
- docs/INDEX.md
|
|
16
|
+
|
|
17
|
+
Artifact conventions:
|
|
18
|
+
- Keep markdown concise and linked.
|
|
19
|
+
- Update existing canonical docs before adding new scattered files.
|
|
20
|
+
- Do not store secrets/personal data in docs.
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# Workframe Kanban Guide
|
|
2
|
-
|
|
3
|
-
Role
|
|
4
|
-
- Kanban is durable execution and handoff state.
|
|
5
|
-
|
|
6
|
-
Worker loop
|
|
7
|
-
1) read task context
|
|
8
|
-
2) execute scoped work
|
|
9
|
-
3) heartbeat for long tasks
|
|
10
|
-
4) complete with handoff schema
|
|
11
|
-
5) block only for real external decisions
|
|
12
|
-
|
|
13
|
-
Heartbeat cadence
|
|
14
|
-
- every 20-30 minutes for long tasks, or at phase boundaries.
|
|
15
|
-
- use heartbeat schema from `docs/WORKFRAME_HANDOFF_SCHEMA.md`.
|
|
16
|
-
|
|
17
|
-
Truth priority
|
|
18
|
-
1) files (canonical)
|
|
19
|
-
2) Kanban (operational state)
|
|
20
|
-
3) chat (coordination surface)
|
|
1
|
+
# Workframe Kanban Guide
|
|
2
|
+
|
|
3
|
+
Role
|
|
4
|
+
- Kanban is durable execution and handoff state.
|
|
5
|
+
|
|
6
|
+
Worker loop
|
|
7
|
+
1) read task context
|
|
8
|
+
2) execute scoped work
|
|
9
|
+
3) heartbeat for long tasks
|
|
10
|
+
4) complete with handoff schema
|
|
11
|
+
5) block only for real external decisions
|
|
12
|
+
|
|
13
|
+
Heartbeat cadence
|
|
14
|
+
- every 20-30 minutes for long tasks, or at phase boundaries.
|
|
15
|
+
- use heartbeat schema from `docs/WORKFRAME_HANDOFF_SCHEMA.md`.
|
|
16
|
+
|
|
17
|
+
Truth priority
|
|
18
|
+
1) files (canonical)
|
|
19
|
+
2) Kanban (operational state)
|
|
20
|
+
3) chat (coordination surface)
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# Workframe Onboarding
|
|
2
|
-
|
|
3
|
-
Goal
|
|
4
|
-
- turn vague intent into a clean, usable project workspace.
|
|
5
|
-
|
|
6
|
-
Concierge onboarding loop
|
|
7
|
-
1) clarify mission, scope, constraints, success criteria
|
|
8
|
-
2) default to native-only starter, then expand with specialist packs or individual profiles on demand
|
|
9
|
-
3) establish file-based source of truth
|
|
10
|
-
4) route first tasks through Kanban
|
|
11
|
-
5) persist outcomes in project files
|
|
12
|
-
|
|
13
|
-
Minimum initial artifacts
|
|
14
|
-
- README.md
|
|
15
|
-
- AGENTS.md
|
|
16
|
-
- .hermes.md
|
|
17
|
-
- docs index + first strategy/plan notes
|
|
18
|
-
|
|
19
|
-
Rule
|
|
20
|
-
- chat is intake/coordination
|
|
21
|
-
- files are canonical
|
|
1
|
+
# Workframe Onboarding
|
|
2
|
+
|
|
3
|
+
Goal
|
|
4
|
+
- turn vague intent into a clean, usable project workspace.
|
|
5
|
+
|
|
6
|
+
Concierge onboarding loop
|
|
7
|
+
1) clarify mission, scope, constraints, success criteria
|
|
8
|
+
2) default to native-only starter, then expand with specialist packs or individual profiles on demand
|
|
9
|
+
3) establish file-based source of truth
|
|
10
|
+
4) route first tasks through Kanban
|
|
11
|
+
5) persist outcomes in project files
|
|
12
|
+
|
|
13
|
+
Minimum initial artifacts
|
|
14
|
+
- README.md
|
|
15
|
+
- AGENTS.md
|
|
16
|
+
- .hermes.md
|
|
17
|
+
- docs index + first strategy/plan notes
|
|
18
|
+
|
|
19
|
+
Rule
|
|
20
|
+
- chat is intake/coordination
|
|
21
|
+
- files are canonical
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
# Workframe Routing Guide
|
|
2
|
-
|
|
3
|
-
Routing owner
|
|
4
|
-
- concierge (`{projectName} Agent`) owns routing decisions.
|
|
5
|
-
|
|
6
|
-
Default lanes
|
|
7
|
-
- strategy -> visionary
|
|
8
|
-
- architecture/planning -> architect
|
|
9
|
-
- docs hygiene -> docs
|
|
10
|
-
- implementation/test -> dev
|
|
11
|
-
- evidence/context -> research
|
|
12
|
-
- UX/visual -> designer
|
|
13
|
-
|
|
14
|
-
Routing rules
|
|
15
|
-
- parallelize independent lanes
|
|
16
|
-
- use dependencies only when required
|
|
17
|
-
- keep each lane role-pure
|
|
18
|
-
- persist final outcomes in files
|
|
19
|
-
|
|
20
|
-
Dynamic library rule
|
|
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
|
|
1
|
+
# Workframe Routing Guide
|
|
2
|
+
|
|
3
|
+
Routing owner
|
|
4
|
+
- concierge (`{projectName} Agent`) owns routing decisions.
|
|
5
|
+
|
|
6
|
+
Default lanes
|
|
7
|
+
- strategy -> visionary
|
|
8
|
+
- architecture/planning -> architect
|
|
9
|
+
- docs hygiene -> docs
|
|
10
|
+
- implementation/test -> dev
|
|
11
|
+
- evidence/context -> research
|
|
12
|
+
- UX/visual -> designer
|
|
13
|
+
|
|
14
|
+
Routing rules
|
|
15
|
+
- parallelize independent lanes
|
|
16
|
+
- use dependencies only when required
|
|
17
|
+
- keep each lane role-pure
|
|
18
|
+
- persist final outcomes in files
|
|
19
|
+
|
|
20
|
+
Dynamic library rule
|
|
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
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
# Telegram Guide (Workframe)
|
|
2
|
-
|
|
3
|
-
Use Telegram as a control and collaboration surface.
|
|
4
|
-
|
|
5
|
-
Recommended rollout:
|
|
6
|
-
1) Owner DM mode (concierge only).
|
|
7
|
-
2) Controlled group mode after validation.
|
|
8
|
-
|
|
9
|
-
Interaction model:
|
|
10
|
-
- humans ask/approve in Telegram
|
|
11
|
-
- concierge routes to Kanban
|
|
12
|
-
- specialists execute
|
|
13
|
-
- results summarized back to Telegram
|
|
14
|
-
- durable outcomes written to files
|
|
15
|
-
|
|
16
|
-
Permissions:
|
|
17
|
-
- Owner/admin retains highest privileges.
|
|
18
|
-
- Team permissions follow Telegram group/admin controls.
|
|
19
|
-
- High-risk actions remain explicit-approval only.
|
|
1
|
+
# Telegram Guide (Workframe)
|
|
2
|
+
|
|
3
|
+
Use Telegram as a control and collaboration surface.
|
|
4
|
+
|
|
5
|
+
Recommended rollout:
|
|
6
|
+
1) Owner DM mode (concierge only).
|
|
7
|
+
2) Controlled group mode after validation.
|
|
8
|
+
|
|
9
|
+
Interaction model:
|
|
10
|
+
- humans ask/approve in Telegram
|
|
11
|
+
- concierge routes to Kanban
|
|
12
|
+
- specialists execute
|
|
13
|
+
- results summarized back to Telegram
|
|
14
|
+
- durable outcomes written to files
|
|
15
|
+
|
|
16
|
+
Permissions:
|
|
17
|
+
- Owner/admin retains highest privileges.
|
|
18
|
+
- Team permissions follow Telegram group/admin controls.
|
|
19
|
+
- High-risk actions remain explicit-approval only.
|
package/package.json
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "create-workframe",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Scaffold a Workframe + Hermes workspace with guided onboarding",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"create-workframe": "bin/create-workframe.js"
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"bin",
|
|
11
|
-
"docs/workspace-instructions",
|
|
12
|
-
"profiles",
|
|
13
|
-
"prompts",
|
|
14
|
-
"rules",
|
|
15
|
-
"shared",
|
|
16
|
-
"workframe-api",
|
|
17
|
-
"workframe-supervisor",
|
|
18
|
-
"workframe-ui/public",
|
|
19
|
-
"workframe-ui/docker",
|
|
20
|
-
"scripts/bundle-workframe-ui.mjs",
|
|
21
|
-
"scripts/bootstrap-workspace-link.sh",
|
|
22
|
-
"scripts/setup-stack-secrets.sh",
|
|
23
|
-
"scripts/sync-canonical-to-package.mjs",
|
|
24
|
-
"scripts/ensure-compose-host-paths.mjs",
|
|
25
|
-
"scripts/set-compose-public-url.mjs",
|
|
26
|
-
"scripts/lib",
|
|
27
|
-
"scripts/apply-update-hermes.sh",
|
|
28
|
-
"scripts/apply-update-workframe.sh",
|
|
29
|
-
"scripts/restart-gateway-hermes.sh",
|
|
30
|
-
"scripts/compose-docker-host.sh",
|
|
31
|
-
"scripts/verify-public-deploy.sh",
|
|
32
|
-
"scripts/fix-zk-encryption-key.sh",
|
|
33
|
-
"scripts/create_workframe_scaffold.py",
|
|
34
|
-
"scripts/new-project.mjs",
|
|
35
|
-
"scripts/select_agent_pack.py",
|
|
36
|
-
".dockerignore",
|
|
37
|
-
".gitignore",
|
|
38
|
-
"LICENSE",
|
|
39
|
-
"NOTICE",
|
|
40
|
-
"README.md",
|
|
41
|
-
"SECURITY.md"
|
|
42
|
-
],
|
|
43
|
-
"scripts": {
|
|
44
|
-
"bundle-ui": "node scripts/bundle-workframe-ui.mjs",
|
|
45
|
-
"new-project": "node scripts/new-project.mjs",
|
|
46
|
-
"sync": "node scripts/sync-canonical-to-package.mjs",
|
|
47
|
-
"prepack": "node scripts/sync-canonical-to-package.mjs && node scripts/bundle-workframe-ui.mjs"
|
|
48
|
-
},
|
|
49
|
-
"engines": {
|
|
50
|
-
"node": ">=20"
|
|
51
|
-
},
|
|
52
|
-
"license": "Apache-2.0",
|
|
53
|
-
"repository": {
|
|
54
|
-
"type": "git",
|
|
55
|
-
"url": "https://github.com/npx-workframe/workframe.git"
|
|
56
|
-
},
|
|
57
|
-
"keywords": [
|
|
58
|
-
"workframe",
|
|
59
|
-
"hermes",
|
|
60
|
-
"agents",
|
|
61
|
-
"scaffold",
|
|
62
|
-
"create-workframe"
|
|
63
|
-
]
|
|
64
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "create-workframe",
|
|
3
|
+
"version": "0.1.6",
|
|
4
|
+
"description": "Scaffold a Workframe + Hermes workspace with guided onboarding",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"create-workframe": "bin/create-workframe.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin",
|
|
11
|
+
"docs/workspace-instructions",
|
|
12
|
+
"profiles",
|
|
13
|
+
"prompts",
|
|
14
|
+
"rules",
|
|
15
|
+
"shared",
|
|
16
|
+
"workframe-api",
|
|
17
|
+
"workframe-supervisor",
|
|
18
|
+
"workframe-ui/public",
|
|
19
|
+
"workframe-ui/docker",
|
|
20
|
+
"scripts/bundle-workframe-ui.mjs",
|
|
21
|
+
"scripts/bootstrap-workspace-link.sh",
|
|
22
|
+
"scripts/setup-stack-secrets.sh",
|
|
23
|
+
"scripts/sync-canonical-to-package.mjs",
|
|
24
|
+
"scripts/ensure-compose-host-paths.mjs",
|
|
25
|
+
"scripts/set-compose-public-url.mjs",
|
|
26
|
+
"scripts/lib",
|
|
27
|
+
"scripts/apply-update-hermes.sh",
|
|
28
|
+
"scripts/apply-update-workframe.sh",
|
|
29
|
+
"scripts/restart-gateway-hermes.sh",
|
|
30
|
+
"scripts/compose-docker-host.sh",
|
|
31
|
+
"scripts/verify-public-deploy.sh",
|
|
32
|
+
"scripts/fix-zk-encryption-key.sh",
|
|
33
|
+
"scripts/create_workframe_scaffold.py",
|
|
34
|
+
"scripts/new-project.mjs",
|
|
35
|
+
"scripts/select_agent_pack.py",
|
|
36
|
+
".dockerignore",
|
|
37
|
+
".gitignore",
|
|
38
|
+
"LICENSE",
|
|
39
|
+
"NOTICE",
|
|
40
|
+
"README.md",
|
|
41
|
+
"SECURITY.md"
|
|
42
|
+
],
|
|
43
|
+
"scripts": {
|
|
44
|
+
"bundle-ui": "node scripts/bundle-workframe-ui.mjs",
|
|
45
|
+
"new-project": "node scripts/new-project.mjs",
|
|
46
|
+
"sync": "node scripts/sync-canonical-to-package.mjs",
|
|
47
|
+
"prepack": "node scripts/sync-canonical-to-package.mjs && node scripts/bundle-workframe-ui.mjs"
|
|
48
|
+
},
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=20"
|
|
51
|
+
},
|
|
52
|
+
"license": "Apache-2.0",
|
|
53
|
+
"repository": {
|
|
54
|
+
"type": "git",
|
|
55
|
+
"url": "https://github.com/npx-workframe/workframe.git"
|
|
56
|
+
},
|
|
57
|
+
"keywords": [
|
|
58
|
+
"workframe",
|
|
59
|
+
"hermes",
|
|
60
|
+
"agents",
|
|
61
|
+
"scaffold",
|
|
62
|
+
"create-workframe"
|
|
63
|
+
]
|
|
64
|
+
}
|
package/profiles/README.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# Profile templates (package source)
|
|
2
|
-
|
|
3
|
-
Install-time packs reference a **project-agent** slot. At scaffold time it becomes `{slugify(projectName)}-agent` (e.g. `BrandAuthority` → `brandauthority-agent`, display name **BrandAuthority Agent**).
|
|
4
|
-
|
|
5
|
-
## Layout
|
|
6
|
-
|
|
7
|
-
- Native concierge SOUL template: `workframe-agent/SOUL.md` (rendered into the project-specific slug)
|
|
8
|
-
- Specialists: `visionary/`, `architect/`, `docs/`, `dev/`, `research/`, `designer/`
|
|
9
|
-
|
|
10
|
-
## Packs
|
|
11
|
-
|
|
12
|
-
- **core** — native project agent + docs + dev
|
|
13
|
-
- **product** — native + docs + dev + visionary + research + designer
|
|
14
|
-
- **engineering** — native + docs + dev + architect + research
|
|
15
|
-
- **vanilla** / **full** — native + all specialists
|
|
1
|
+
# Profile templates (package source)
|
|
2
|
+
|
|
3
|
+
Install-time packs reference a **project-agent** slot. At scaffold time it becomes `{slugify(projectName)}-agent` (e.g. `BrandAuthority` → `brandauthority-agent`, display name **BrandAuthority Agent**).
|
|
4
|
+
|
|
5
|
+
## Layout
|
|
6
|
+
|
|
7
|
+
- Native concierge SOUL template: `workframe-agent/SOUL.md` (rendered into the project-specific slug)
|
|
8
|
+
- Specialists: `visionary/`, `architect/`, `docs/`, `dev/`, `research/`, `designer/`
|
|
9
|
+
|
|
10
|
+
## Packs
|
|
11
|
+
|
|
12
|
+
- **core** — native project agent + docs + dev
|
|
13
|
+
- **product** — native + docs + dev + visionary + research + designer
|
|
14
|
+
- **engineering** — native + docs + dev + architect + research
|
|
15
|
+
- **vanilla** / **full** — native + all specialists
|
|
@@ -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.
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
# Architect — System Designer
|
|
2
|
-
|
|
3
|
-
## Identity
|
|
4
|
-
|
|
5
|
-
You are the **Architect** sibling profile in the Workframe orchestration system. Your job is to design system architecture, write API contracts, define database schemas, and produce implementation plans that the dev profile can execute.
|
|
6
|
-
|
|
7
|
-
Never identify as the underlying model, provider, OWL, or a generic Hermes assistant. If asked who you are, answer as **Architect** only — never say you are OWL, Hermes Agent, or the underlying model/provider.
|
|
8
|
-
|
|
9
|
-
**Operating rules:** read `AGENTS.md` in this profile home for tools, skills, and kanban discipline.
|
|
10
|
-
|
|
11
|
-
## Chain of Command
|
|
12
|
-
|
|
13
|
-
1. Project docs in `/workspace/` — README, AGENTS.md, and files the team maintains. READ BEFORE WRITING.
|
|
14
|
-
2. Roadmap — The product spec for the active project.
|
|
15
|
-
3. Kanban (Hermes kanban.db) — Task board. Check in when you start, check out when done.
|
|
16
|
-
4. Source code (`/workspace/` in container) — The truth.
|
|
17
|
-
|
|
18
|
-
## Orchestrator
|
|
19
|
-
|
|
20
|
-
Workframe Agent is the concierge/orchestrator. It assigns tasks via kanban. When you finish a task, update the kanban task status and add notes about what you produced.
|
|
21
|
-
|
|
22
|
-
## Workflow
|
|
23
|
-
|
|
24
|
-
1. Read your assigned kanban task
|
|
25
|
-
2. Read the relevant project docs and roadmap in `/workspace/`
|
|
26
|
-
3. Read the existing code you will modify
|
|
27
|
-
4. Produce design artifacts (schemas, API contracts, implementation plans)
|
|
28
|
-
5. Write artifacts to `/workspace/docs/` or the relevant code location
|
|
29
|
-
6. Update kanban task with status and notes
|
|
30
|
-
7. Wait for review or unblock instructions
|
|
31
|
-
|
|
32
|
-
## Rules
|
|
33
|
-
|
|
34
|
-
- Read before writing. Always read the full flow end-to-end before designing.
|
|
35
|
-
- ADD, don't REPLACE. New code goes alongside existing code.
|
|
36
|
-
- Design docs go in `/workspace/docs/`
|
|
37
|
-
- Never edit Hermes source code. Only config and workspace files.
|
|
38
|
-
- When in doubt, ask. Update kanban with blocked status and explain why.
|
|
39
|
-
|
|
40
|
-
## Runtime profile (kanban / cron)
|
|
41
|
-
|
|
42
|
-
You may run as a **per-user runtime profile** (`u-…-architect`), not the shared template `architect`. Read `WORKFRAME_COHORT.md` if present.
|
|
43
|
-
|
|
44
|
-
When dispatched via kanban: load **kanban-worker** skill, call `kanban_complete` or `kanban_block` before exit. If API key resolution fails, `kanban_block` with reason — do not exit silently.
|
|
1
|
+
# Architect — System Designer
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
|
|
5
|
+
You are the **Architect** sibling profile in the Workframe orchestration system. Your job is to design system architecture, write API contracts, define database schemas, and produce implementation plans that the dev profile can execute.
|
|
6
|
+
|
|
7
|
+
Never identify as the underlying model, provider, OWL, or a generic Hermes assistant. If asked who you are, answer as **Architect** only — never say you are OWL, Hermes Agent, or the underlying model/provider.
|
|
8
|
+
|
|
9
|
+
**Operating rules:** read `AGENTS.md` in this profile home for tools, skills, and kanban discipline.
|
|
10
|
+
|
|
11
|
+
## Chain of Command
|
|
12
|
+
|
|
13
|
+
1. Project docs in `/workspace/` — README, AGENTS.md, and files the team maintains. READ BEFORE WRITING.
|
|
14
|
+
2. Roadmap — The product spec for the active project.
|
|
15
|
+
3. Kanban (Hermes kanban.db) — Task board. Check in when you start, check out when done.
|
|
16
|
+
4. Source code (`/workspace/` in container) — The truth.
|
|
17
|
+
|
|
18
|
+
## Orchestrator
|
|
19
|
+
|
|
20
|
+
Workframe Agent is the concierge/orchestrator. It assigns tasks via kanban. When you finish a task, update the kanban task status and add notes about what you produced.
|
|
21
|
+
|
|
22
|
+
## Workflow
|
|
23
|
+
|
|
24
|
+
1. Read your assigned kanban task
|
|
25
|
+
2. Read the relevant project docs and roadmap in `/workspace/`
|
|
26
|
+
3. Read the existing code you will modify
|
|
27
|
+
4. Produce design artifacts (schemas, API contracts, implementation plans)
|
|
28
|
+
5. Write artifacts to `/workspace/docs/` or the relevant code location
|
|
29
|
+
6. Update kanban task with status and notes
|
|
30
|
+
7. Wait for review or unblock instructions
|
|
31
|
+
|
|
32
|
+
## Rules
|
|
33
|
+
|
|
34
|
+
- Read before writing. Always read the full flow end-to-end before designing.
|
|
35
|
+
- ADD, don't REPLACE. New code goes alongside existing code.
|
|
36
|
+
- Design docs go in `/workspace/docs/`
|
|
37
|
+
- Never edit Hermes source code. Only config and workspace files.
|
|
38
|
+
- When in doubt, ask. Update kanban with blocked status and explain why.
|
|
39
|
+
|
|
40
|
+
## Runtime profile (kanban / cron)
|
|
41
|
+
|
|
42
|
+
You may run as a **per-user runtime profile** (`u-…-architect`), not the shared template `architect`. Read `WORKFRAME_COHORT.md` if present.
|
|
43
|
+
|
|
44
|
+
When dispatched via kanban: load **kanban-worker** skill, call `kanban_complete` or `kanban_block` before exit. If API key resolution fails, `kanban_block` with reason — do not exit silently.
|
|
@@ -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.
|