@rryando/arcs 4.2.0 → 4.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cli/arcs-flash.d.ts +1 -1
- package/dist/cli/arcs-flash.d.ts.map +1 -1
- package/dist/cli/arcs-flash.js +3 -5
- package/dist/cli/arcs-flash.js.map +1 -1
- package/dist/cli/arcs-orchestrate.d.ts +1 -1
- package/dist/cli/arcs-orchestrate.d.ts.map +1 -1
- package/dist/cli/commands/index.d.ts +0 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +0 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/project.js +1 -30
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/proposal-doc.d.ts +2 -0
- package/dist/cli/commands/proposal-doc.d.ts.map +1 -0
- package/dist/cli/commands/proposal-doc.js +381 -0
- package/dist/cli/commands/proposal-doc.js.map +1 -0
- package/dist/cli/commands/web.js +4 -10
- package/dist/cli/commands/web.js.map +1 -1
- package/dist/cli/orchestrator-shared-blocks.d.ts +11 -10
- package/dist/cli/orchestrator-shared-blocks.d.ts.map +1 -1
- package/dist/cli/orchestrator-shared-blocks.js +21 -16
- package/dist/cli/orchestrator-shared-blocks.js.map +1 -1
- package/dist/utils/graphify-knowledge.d.ts +22 -0
- package/dist/utils/graphify-knowledge.d.ts.map +1 -0
- package/dist/utils/graphify-knowledge.js +47 -0
- package/dist/utils/graphify-knowledge.js.map +1 -0
- package/dist/utils/graphify.d.ts +104 -0
- package/dist/utils/graphify.d.ts.map +1 -0
- package/dist/utils/graphify.js +439 -0
- package/dist/utils/graphify.js.map +1 -0
- package/dist/utils/session-store.d.ts +24 -2
- package/dist/utils/session-store.d.ts.map +1 -1
- package/dist/utils/session-store.js +16 -7
- package/dist/utils/session-store.js.map +1 -1
- package/dist/utils/storage-utils.d.ts +1 -1
- package/dist/utils/storage-utils.d.ts.map +1 -1
- package/dist/utils/storage-utils.js +1 -1
- package/dist/utils/storage-utils.js.map +1 -1
- package/dist/web-client/assets/{GraphCanvas-BPDgvsyT.js → GraphCanvas-Dw6EcoDb.js} +1 -1
- package/dist/web-client/assets/{MarkdownEditor-D7TLp78z.js → MarkdownEditor-Cz5_44Ej.js} +1 -1
- package/dist/web-client/assets/{abnfDiagram-VRR7QNED-CyuP2N9t.js → abnfDiagram-VRR7QNED-CFJzLuew.js} +1 -1
- package/dist/web-client/assets/architecture-TIHT7OUA-CoHvhex9.js +1 -0
- package/dist/web-client/assets/{architectureDiagram-ZJ3FMSHR-DZ0ul9QX.js → architectureDiagram-ZJ3FMSHR-FRlSgnnW.js} +1 -1
- package/dist/web-client/assets/{blockDiagram-677ZJIJ3-LLGzlc9l.js → blockDiagram-677ZJIJ3-WUkkunPZ.js} +1 -1
- package/dist/web-client/assets/{c4Diagram-LMCZKHZV-CViu3CTc.js → c4Diagram-LMCZKHZV-BKeAsL6F.js} +1 -1
- package/dist/web-client/assets/channel-D8xMXC5_.js +1 -0
- package/dist/web-client/assets/{chunk-32BRIVSS-Bw_IuJCM.js → chunk-32BRIVSS-B0b9kUcF.js} +1 -1
- package/dist/web-client/assets/{chunk-52WLFC77-C29h440W.js → chunk-52WLFC77-i6Y-vfL3.js} +1 -1
- package/dist/web-client/assets/{chunk-C7G6YPKG-hhOrvw5w.js → chunk-C7G6YPKG-atYWm6iP.js} +1 -1
- package/dist/web-client/assets/{chunk-EX3LRPZG-COMzol-M.js → chunk-EX3LRPZG-CZD6y0UU.js} +1 -1
- package/dist/web-client/assets/{chunk-FWX5IMBZ-6vdX9EUn.js → chunk-FWX5IMBZ-CVErR-UZ.js} +2 -2
- package/dist/web-client/assets/{chunk-HOUHSVGY-DWDW6sxp.js → chunk-HOUHSVGY-BlHO2iQ3.js} +1 -1
- package/dist/web-client/assets/{chunk-ICXQ74PX-BdMYglo2.js → chunk-ICXQ74PX-Ar8kfXfa.js} +1 -1
- package/dist/web-client/assets/{chunk-MOJQB5TN-C0LAX_dC.js → chunk-MOJQB5TN-DKrK867P.js} +1 -1
- package/dist/web-client/assets/{chunk-OGEWGWER-CBx8MB7f.js → chunk-OGEWGWER-BmGykUeg.js} +1 -1
- package/dist/web-client/assets/{chunk-PUDLZKDR-DKssR1nf.js → chunk-PUDLZKDR-Bq23pnso.js} +1 -1
- package/dist/web-client/assets/{chunk-Q4XR5HBZ-B3kcxFE-.js → chunk-Q4XR5HBZ-g15qvFAN.js} +1 -1
- package/dist/web-client/assets/{chunk-V7JOEXUC-CAlymndy.js → chunk-V7JOEXUC-uyXA7S9r.js} +1 -1
- package/dist/web-client/assets/{chunk-VAUOI2AC-BowfsmTW.js → chunk-VAUOI2AC-WofZ-2M0.js} +1 -1
- package/dist/web-client/assets/{chunk-VR4S4FIN-BBOydgvt.js → chunk-VR4S4FIN-DtTkK86v.js} +1 -1
- package/dist/web-client/assets/{chunk-WYO6CB5R-DcymFbES.js → chunk-WYO6CB5R-zVyUwJq3.js} +1 -1
- package/dist/web-client/assets/{chunk-ZGVPDNZ5--uKFP-Lr.js → chunk-ZGVPDNZ5-CA1Oe3TK.js} +1 -1
- package/dist/web-client/assets/classDiagram-OUVF2IWQ-Doj1_hvZ.js +1 -0
- package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-Doj1_hvZ.js +1 -0
- package/dist/web-client/assets/{cynefin-VYW2F7L2-CjboUOMA.js → cynefin-VYW2F7L2-ivJY1h_9.js} +1 -1
- package/dist/web-client/assets/{cynefinDiagram-TSTJHNR4-BcxygBP7.js → cynefinDiagram-TSTJHNR4-D2DstShq.js} +1 -1
- package/dist/web-client/assets/{dagre-VKFMJZFB-D-tiERQE.js → dagre-VKFMJZFB-CwnMRy0K.js} +1 -1
- package/dist/web-client/assets/{diagram-FQU43EPY-ChPXczaS.js → diagram-FQU43EPY-BKJv6Cvw.js} +1 -1
- package/dist/web-client/assets/{diagram-G47NLZAW-CVL3Y91h.js → diagram-G47NLZAW-CwCXcgU5.js} +1 -1
- package/dist/web-client/assets/{diagram-NH7WQ7WH-DsaNA9Lh.js → diagram-NH7WQ7WH-CkghU1-6.js} +1 -1
- package/dist/web-client/assets/{diagram-OA4YK3LP-CXhrhdhU.js → diagram-OA4YK3LP-D3siQIGu.js} +1 -1
- package/dist/web-client/assets/{diagram-WEI45ONY-BTVPnk4E.js → diagram-WEI45ONY-CSs9xTBn.js} +1 -1
- package/dist/web-client/assets/{ebnfDiagram-CCIWWBDH-BAyrRBtM.js → ebnfDiagram-CCIWWBDH--i52vMiv.js} +1 -1
- package/dist/web-client/assets/{erDiagram-Q63AITRT-Qm24Wepm.js → erDiagram-Q63AITRT-q2hgOBY1.js} +1 -1
- package/dist/web-client/assets/eventmodeling-45OFAUF4-ESVuFkJJ.js +1 -0
- package/dist/web-client/assets/flowDiagram-23GEKE2U-DN9SdR9f.js +1 -0
- package/dist/web-client/assets/{ganttDiagram-NO4QXBWP-D8h7l3XJ.js → ganttDiagram-NO4QXBWP-BZ2rBbTe.js} +1 -1
- package/dist/web-client/assets/{gitGraph-TEB2WS4Q-DIBml1SB.js → gitGraph-TEB2WS4Q-OnJ8tHgt.js} +1 -1
- package/dist/web-client/assets/{gitGraphDiagram-IHSO6WYX-CtkYoXjn.js → gitGraphDiagram-IHSO6WYX-CPNExFAr.js} +1 -1
- package/dist/web-client/assets/{index-DOSH4Q9H.js → index-DCBn-YrR.js} +38 -38
- package/dist/web-client/assets/{info-DKCQHKI2-DLEUtV5Q.js → info-DKCQHKI2-DGuJbmdY.js} +1 -1
- package/dist/web-client/assets/{infoDiagram-FWYZ7A6U-BJQ7aQux.js → infoDiagram-FWYZ7A6U-ADIAn-P5.js} +1 -1
- package/dist/web-client/assets/{ishikawaDiagram-FXEZZL3T-BPM11FvG.js → ishikawaDiagram-FXEZZL3T-CUx-RGfg.js} +1 -1
- package/dist/web-client/assets/{journeyDiagram-5HDEW3XC-C0aX2z3c.js → journeyDiagram-5HDEW3XC-BH7-tBBy.js} +1 -1
- package/dist/web-client/assets/{kanban-definition-HUTT4EX6-C56F29Ib.js → kanban-definition-HUTT4EX6-BGEXBnI2.js} +1 -1
- package/dist/web-client/assets/{line-BLFHLF2N.js → line-CC-5ezU8.js} +1 -1
- package/dist/web-client/assets/{mermaid-parser.core-BLC8FhgU.js → mermaid-parser.core-Dw18Fjbq.js} +3 -3
- package/dist/web-client/assets/{mermaid.core-BBqkKuXt.js → mermaid.core-CMQBgE43.js} +3 -3
- package/dist/web-client/assets/{mindmap-definition-LN4V7U3C-aVZbsoPc.js → mindmap-definition-LN4V7U3C-CGtjw8tB.js} +1 -1
- package/dist/web-client/assets/{packet-7NZHBO7P-D4aqSQfB.js → packet-7NZHBO7P-w71Y4Hzd.js} +1 -1
- package/dist/web-client/assets/{pegDiagram-2B236MQR-DjfyNI0U.js → pegDiagram-2B236MQR-DWtfEm4T.js} +1 -1
- package/dist/web-client/assets/{pie-RZYD4A2V-ChCwYsYj.js → pie-RZYD4A2V-S9ztgnWs.js} +1 -1
- package/dist/web-client/assets/{pieDiagram-ENE6RG2P-BeHLKkXC.js → pieDiagram-ENE6RG2P-BWZQPN4m.js} +1 -1
- package/dist/web-client/assets/{quadrantDiagram-ABIIQ3AL-stga3gvq.js → quadrantDiagram-ABIIQ3AL-DINDwblH.js} +1 -1
- package/dist/web-client/assets/{radar-I7S5WNFK-DOGheiwT.js → radar-I7S5WNFK-BOGl9krB.js} +1 -1
- package/dist/web-client/assets/{railroad-3IZDKUUU-_JnU7M6L.js → railroad-3IZDKUUU-CR9kuYSZ.js} +1 -1
- package/dist/web-client/assets/railroad-abnf-AHOZXSZD-BvbCHrlR.js +1 -0
- package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-D869lbCL.js +1 -0
- package/dist/web-client/assets/railroad-peg-LSFZ7HO6-r4TXaJPI.js +1 -0
- package/dist/web-client/assets/{railroadDiagram-RFXS5EU6-C0CkMsOd.js → railroadDiagram-RFXS5EU6-byLCs9hp.js} +1 -1
- package/dist/web-client/assets/{requirementDiagram-TGXJPOKE-DuImwoRD.js → requirementDiagram-TGXJPOKE-Dn_FtbqW.js} +1 -1
- package/dist/web-client/assets/{sankeyDiagram-HTMAVEWB-kprq0XF9.js → sankeyDiagram-HTMAVEWB-DUjRrCeC.js} +1 -1
- package/dist/web-client/assets/{sequenceDiagram-DBY2YBRQ-DiXKJMF6.js → sequenceDiagram-DBY2YBRQ-BmBz8Wpq.js} +1 -1
- package/dist/web-client/assets/{stateDiagram-2N3HPSRC-D5qbVStE.js → stateDiagram-2N3HPSRC-BAYHjmqB.js} +1 -1
- package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-Bl-1K1zV.js +1 -0
- package/dist/web-client/assets/{swimlanes-5IMT3BWC-DCbw389c.js → swimlanes-5IMT3BWC-Bm942AR-.js} +1 -1
- package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-DHU7bsfA.js +8 -0
- package/dist/web-client/assets/{timeline-definition-FHXFAJF6-CQeaYN_9.js → timeline-definition-FHXFAJF6-CHAZHhQk.js} +1 -1
- package/dist/web-client/assets/{treeView-QDETBFTQ-Cf7Sq3qo.js → treeView-QDETBFTQ-DHHkLsSy.js} +1 -1
- package/dist/web-client/assets/{treemap-6X3UGDF4-BovzvoTU.js → treemap-6X3UGDF4-BUxZ8fhY.js} +1 -1
- package/dist/web-client/assets/{vennDiagram-L72KCM5P-CZsJy139.js → vennDiagram-L72KCM5P-BL9TRcUU.js} +1 -1
- package/dist/web-client/assets/{wardley-OPB4EBWU-DJ7MS6XZ.js → wardley-OPB4EBWU-CfJ5mO-y.js} +1 -1
- package/dist/web-client/assets/{wardleyDiagram-EHGQE667-rqhcmsbM.js → wardleyDiagram-EHGQE667-BlH1TSjy.js} +1 -1
- package/dist/web-client/assets/{xychartDiagram-FW5EYKEG-HuK4Seps.js → xychartDiagram-FW5EYKEG-BJN6wtrV.js} +1 -1
- package/dist/web-client/index.html +1 -1
- package/dist/web-server/app.d.ts.map +1 -1
- package/dist/web-server/app.js +1 -7
- package/dist/web-server/app.js.map +1 -1
- package/dist/web-server/claude-runner.d.ts +11 -4
- package/dist/web-server/claude-runner.d.ts.map +1 -1
- package/dist/web-server/claude-runner.js +10 -14
- package/dist/web-server/claude-runner.js.map +1 -1
- package/dist/web-server/index.d.ts.map +1 -1
- package/dist/web-server/index.js +4 -1
- package/dist/web-server/index.js.map +1 -1
- package/dist/web-server/opencode-client.d.ts +123 -0
- package/dist/web-server/opencode-client.d.ts.map +1 -0
- package/dist/web-server/opencode-client.js +514 -0
- package/dist/web-server/opencode-client.js.map +1 -0
- package/dist/web-server/prompt-assembly.d.ts.map +1 -1
- package/dist/web-server/prompt-assembly.js +1 -2
- package/dist/web-server/prompt-assembly.js.map +1 -1
- package/dist/web-server/routes/sessions.d.ts +9 -6
- package/dist/web-server/routes/sessions.d.ts.map +1 -1
- package/dist/web-server/routes/sessions.js +272 -205
- package/dist/web-server/routes/sessions.js.map +1 -1
- package/dist/web-server/run-driver.d.ts +113 -0
- package/dist/web-server/run-driver.d.ts.map +1 -0
- package/dist/web-server/run-driver.js +214 -0
- package/dist/web-server/run-driver.js.map +1 -0
- package/dist/web-server/run-event-log.d.ts +23 -1
- package/dist/web-server/run-event-log.d.ts.map +1 -1
- package/dist/web-server/run-event-log.js +29 -5
- package/dist/web-server/run-event-log.js.map +1 -1
- package/dist/web-server/web-auth.d.ts +3 -5
- package/dist/web-server/web-auth.d.ts.map +1 -1
- package/dist/web-server/web-auth.js +6 -11
- package/dist/web-server/web-auth.js.map +1 -1
- package/dist/web-server/web-token.d.ts +1 -2
- package/dist/web-server/web-token.d.ts.map +1 -1
- package/dist/web-server/web-token.js +1 -2
- package/dist/web-server/web-token.js.map +1 -1
- package/opencode/arcs/bundle-runtime.json +0 -3
- package/opencode/arcs/prompts/arcs-docs.txt +4 -4
- package/opencode/arcs/prompts/arcs-flash.txt +15 -21
- package/opencode/arcs/prompts/arcs-orchestrate-caveman.txt +17 -15
- package/opencode/arcs/prompts/arcs-orchestrate.txt +17 -15
- package/opencode/arcs/prompts/code-reviewer.txt +4 -4
- package/opencode/arcs/prompts/graph-explorer.txt +4 -4
- package/opencode/arcs/prompts/software-engineer.txt +2 -2
- package/opencode/arcs/prompts/tech-architect.txt +4 -4
- package/opencode/arcs/skills/brainstorming/SKILL.md +4 -4
- package/opencode/arcs/skills/enriching-codegraph-proposals/SKILL.md +1 -1
- package/opencode/arcs/skills/implementation/SKILL.md +6 -6
- package/opencode/arcs/skills/init-project/SKILL.md +4 -4
- package/opencode/arcs/skills/systematic-debugging/SKILL.md +2 -2
- package/opencode/arcs/skills/test-driven-development/SKILL.md +3 -3
- package/opencode/arcs/skills/to-diagram/SKILL.md +2 -2
- package/opencode/arcs/skills/writing-knowledge/SKILL.md +2 -2
- package/opencode/arcs/skills/writing-plans/SKILL.md +2 -2
- package/package.json +1 -1
- package/dist/web-client/assets/architecture-TIHT7OUA-Bdo2Yvm9.js +0 -1
- package/dist/web-client/assets/channel-DBNmizpo.js +0 -1
- package/dist/web-client/assets/classDiagram-OUVF2IWQ-CB3HiA1_.js +0 -1
- package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-CB3HiA1_.js +0 -1
- package/dist/web-client/assets/eventmodeling-45OFAUF4-DoTBIvl5.js +0 -1
- package/dist/web-client/assets/flowDiagram-23GEKE2U-BEH23L1A.js +0 -1
- package/dist/web-client/assets/railroad-abnf-AHOZXSZD-nhNub7LE.js +0 -1
- package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-BlQYe7Yf.js +0 -1
- package/dist/web-client/assets/railroad-peg-LSFZ7HO6-B3E8pRVN.js +0 -1
- package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-DWwTAG1r.js +0 -1
- package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-DabrCsjZ.js +0 -8
- package/opencode/arcs/skills/install-claude-code-hook/SKILL.md +0 -23
- package/scripts/claude-code-session-hook.mjs +0 -146
|
@@ -7,16 +7,16 @@ description: Initialize a repository as an ARCS project with useful minimal meta
|
|
|
7
7
|
|
|
8
8
|
## Method
|
|
9
9
|
|
|
10
|
-
An explicit request to init or track a project authorizes
|
|
10
|
+
An explicit request to init or track a project authorizes local ARCS initialization. Ask only for missing user-owned identity such as name, description, workspace path, or dependency choice.
|
|
11
11
|
|
|
12
12
|
1. Check slug conflicts with `arcs project list`.
|
|
13
13
|
2. Verify named dependency projects exist.
|
|
14
14
|
3. Run `arcs project init` with the requested metadata.
|
|
15
15
|
4. Add only requested or clearly useful overview/dependency documentation.
|
|
16
|
-
5. Validate the new project and report
|
|
16
|
+
5. Validate the new project and report slug and paths.
|
|
17
17
|
|
|
18
|
-
Codegraph is optional. When available, initialization may index the workspace and emit structural proposals. When absent, continue without it. If `pending_enrichment` is true, process useful proposals with `enriching-codegraph-proposals`;
|
|
18
|
+
Codegraph is optional. When available, initialization may index the workspace and emit structural proposals. When absent, continue without it. If `pending_enrichment` is true, process useful proposals with `enriching-codegraph-proposals`; no broad agent fan-out required.
|
|
19
19
|
|
|
20
|
-
Raw proposals are not knowledge. Inspect
|
|
20
|
+
Raw proposals are not knowledge. Inspect before keep, merge, drop, or promote decisions. Never infer destructive cleanup, deployment, publication, or Git permission from initialization.
|
|
21
21
|
|
|
22
22
|
If a write fails, stop and report partial state instead of layering more mutations on an uncertain project.
|
|
@@ -16,8 +16,8 @@ Observe → reproduce → isolate → regression test → fix → verify.
|
|
|
16
16
|
5. **Fix:** change the root cause with the smallest targeted patch.
|
|
17
17
|
6. **Verify:** show the reproduction and relevant checks pass.
|
|
18
18
|
|
|
19
|
-
If three failed fixes do not improve
|
|
19
|
+
If three failed fixes do not improve evidence, stop and question architecture or assumptions instead of stacking another guess.
|
|
20
20
|
|
|
21
|
-
Use ARCS knowledge only when a prior gotcha may save time. Capturing
|
|
21
|
+
Use ARCS knowledge only when a prior gotcha may save time. Capturing durable discovery is optional, not part of success.
|
|
22
22
|
|
|
23
23
|
Optional references provide concise techniques for tracing, waiting, and defense in depth. Do not run destructive Git operations unless the user requests them.
|
|
@@ -7,15 +7,15 @@ description: Use a focused red-green-refactor loop for observable behavior chang
|
|
|
7
7
|
|
|
8
8
|
## When
|
|
9
9
|
|
|
10
|
-
Use when a feature, bug fix, or behavior change benefits from executable proof.
|
|
10
|
+
Use when a feature, bug fix, or behavior change benefits from executable proof. Prose, metadata, generated output, or mechanical refactors may rely on existing contracts instead of adding a new test.
|
|
11
11
|
|
|
12
12
|
## Loop
|
|
13
13
|
|
|
14
|
-
For a behavior change, write one failing test
|
|
14
|
+
For a behavior change, write one failing test demonstrating the requirement, run to confirm expected failure, add minimal implementation, rerun until green, then refactor while preserving behavior.
|
|
15
15
|
|
|
16
16
|
1. **Failing test:** one behavior, clear name, real boundary.
|
|
17
17
|
2. **Minimal code:** only what makes the test pass.
|
|
18
18
|
3. **Refactor:** remove duplication and improve names without adding behavior.
|
|
19
19
|
4. **Verify:** run the relevant test and any proportionate integration check.
|
|
20
20
|
|
|
21
|
-
If a test passes immediately, verify
|
|
21
|
+
If a test passes immediately, verify it actually covers the new behavior. Avoid mocks that merely confirm implementation details. Use `testing-anti-patterns.md` or `tdd-rationalizations-and-examples.md` only when those details help.
|
|
@@ -9,7 +9,7 @@ description: Create or update a helper-managed Mermaid execution diagram
|
|
|
9
9
|
|
|
10
10
|
Task metadata is the source of truth. The `.diagram.mmd` file is derived data for execution order and status.
|
|
11
11
|
|
|
12
|
-
Use `manage-diagram.mjs` with
|
|
12
|
+
Use `manage-diagram.mjs` with supported `flowchart TD` format. Prefer ARCS CLI wrappers:
|
|
13
13
|
|
|
14
14
|
- `arcs diagram init <slug> <planId>`
|
|
15
15
|
- `arcs diagram inspect <slug> <planId>`
|
|
@@ -21,7 +21,7 @@ Use `manage-diagram.mjs` with the supported `flowchart TD` format. Prefer ARCS C
|
|
|
21
21
|
|
|
22
22
|
Each node uses stable `T001`-style IDs and records title, status, skill, work mode, scope, acceptance, verify command, and dependencies. Implementation tasks use `skill: implementation` with `work-mode: bounded|inspect`.
|
|
23
23
|
|
|
24
|
-
Dependencies come from task `dependsOn`; do not hand-maintain conflicting arrows. New plans begin in backlog. Use
|
|
24
|
+
Dependencies come from task `dependsOn`; do not hand-maintain conflicting arrows. New plans begin in backlog. Use standard `done`, `inProgress`, `blocked`, and `backlog` classes.
|
|
25
25
|
|
|
26
26
|
## Update
|
|
27
27
|
|
|
@@ -16,8 +16,8 @@ Capture a non-obvious fact that will save future work. Skip mechanical or instan
|
|
|
16
16
|
3. Write a specific title, useful summary, substantive body, keywords, and source files.
|
|
17
17
|
4. Search for an existing entry when duplication is plausible; prefer idempotent `upsert`.
|
|
18
18
|
|
|
19
|
-
Summary is the headline; body is the reasoning and operational detail; source files anchor
|
|
19
|
+
Summary is the headline; body is the reasoning and operational detail; source files anchor to current code.
|
|
20
20
|
|
|
21
|
-
When the user requested the knowledge write, execute
|
|
21
|
+
When the user requested the knowledge write, execute directly with `arcs knowledge upsert` and report the resulting ID. Otherwise return the proposed entry for confirmation only when the write would be surprising.
|
|
22
22
|
|
|
23
23
|
Validate that a future agent could act on the entry without re-deriving it.
|
|
@@ -7,7 +7,7 @@ description: Create and maintain concise ARCS plans, tasks, and execution diagra
|
|
|
7
7
|
|
|
8
8
|
## When
|
|
9
9
|
|
|
10
|
-
Use for broad, multi-step, architectural, or explicitly requested plans. A clear explicit
|
|
10
|
+
Use for broad, multi-step, architectural, or explicitly requested plans. A clear explicit request authorizes drafting and persisting the plan; do not ask for the same approval twice.
|
|
11
11
|
|
|
12
12
|
## Plan Shape
|
|
13
13
|
|
|
@@ -31,7 +31,7 @@ Use current CLI syntax from `arcs --commands --json`:
|
|
|
31
31
|
|
|
32
32
|
The diagram is derived from task metadata, which remains authoritative. Use `to-diagram` when diagram tooling details matter.
|
|
33
33
|
|
|
34
|
-
During execution, keep tasks and diagrams aligned without reopening approval. Ask only when
|
|
34
|
+
During execution, keep tasks and diagrams aligned without reopening approval. Ask only when goal, material scope, dependency strategy, or destructive/external effect changes.
|
|
35
35
|
|
|
36
36
|
An optional reviewer may check a risky or complex plan using `plan-document-reviewer-prompt.md`; ordinary plans do not require it.
|
|
37
37
|
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-DEvma7oi.js";import{M as e}from"./mermaid-parser.core-BLC8FhgU.js";export{e as createArchitectureServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{at as e,it as t}from"./chunk-WYO6CB5R-DcymFbES.js";var n=(n,r)=>e.lang.round(t.parse(n)[r]);export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-oBChb5qS.js";import"./chunk-WYO6CB5R-DcymFbES.js";import"./chunk-ICXQ74PX-BdMYglo2.js";import"./chunk-HOUHSVGY-DWDW6sxp.js";import"./chunk-Q4XR5HBZ-B3kcxFE-.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-OGEWGWER-CBx8MB7f.js";import"./chunk-32BRIVSS-Bw_IuJCM.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-VR4S4FIN-BBOydgvt.js";import"./chunk-C7G6YPKG-hhOrvw5w.js";import"./chunk-ZGVPDNZ5--uKFP-Lr.js";import"./chunk-52WLFC77-C29h440W.js";import"./chunk-FWX5IMBZ-6vdX9EUn.js";import{i as t,n,r,t as i}from"./chunk-V7JOEXUC-CAlymndy.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-oBChb5qS.js";import"./chunk-WYO6CB5R-DcymFbES.js";import"./chunk-ICXQ74PX-BdMYglo2.js";import"./chunk-HOUHSVGY-DWDW6sxp.js";import"./chunk-Q4XR5HBZ-B3kcxFE-.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-OGEWGWER-CBx8MB7f.js";import"./chunk-32BRIVSS-Bw_IuJCM.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-VR4S4FIN-BBOydgvt.js";import"./chunk-C7G6YPKG-hhOrvw5w.js";import"./chunk-ZGVPDNZ5--uKFP-Lr.js";import"./chunk-52WLFC77-C29h440W.js";import"./chunk-FWX5IMBZ-6vdX9EUn.js";import{i as t,n,r,t as i}from"./chunk-V7JOEXUC-CAlymndy.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-DEvma7oi.js";import{O as e}from"./mermaid-parser.core-BLC8FhgU.js";export{e as createEventModelingServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./src-oBChb5qS.js";import"./chunk-WYO6CB5R-DcymFbES.js";import"./chunk-ICXQ74PX-BdMYglo2.js";import"./chunk-HOUHSVGY-DWDW6sxp.js";import"./chunk-Q4XR5HBZ-B3kcxFE-.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-OGEWGWER-CBx8MB7f.js";import"./chunk-32BRIVSS-Bw_IuJCM.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-VR4S4FIN-BBOydgvt.js";import"./chunk-C7G6YPKG-hhOrvw5w.js";import"./chunk-ZGVPDNZ5--uKFP-Lr.js";import"./chunk-52WLFC77-C29h440W.js";import"./chunk-FWX5IMBZ-6vdX9EUn.js";import"./chunk-ZIRB5QZD-BpeS1aZ7.js";import{n as e}from"./chunk-PUDLZKDR-DKssR1nf.js";export{e as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-DEvma7oi.js";import{m as e}from"./mermaid-parser.core-BLC8FhgU.js";export{e as createRailroadAbnfServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-DEvma7oi.js";import{f as e}from"./mermaid-parser.core-BLC8FhgU.js";export{e as createRailroadEbnfServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-DEvma7oi.js";import{u as e}from"./mermaid-parser.core-BLC8FhgU.js";export{e as createRailroadPegServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-oBChb5qS.js";import"./chunk-WYO6CB5R-DcymFbES.js";import"./chunk-ICXQ74PX-BdMYglo2.js";import"./chunk-HOUHSVGY-DWDW6sxp.js";import"./chunk-Q4XR5HBZ-B3kcxFE-.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-OGEWGWER-CBx8MB7f.js";import"./chunk-32BRIVSS-Bw_IuJCM.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-VR4S4FIN-BBOydgvt.js";import"./chunk-C7G6YPKG-hhOrvw5w.js";import"./chunk-ZGVPDNZ5--uKFP-Lr.js";import"./chunk-52WLFC77-C29h440W.js";import"./chunk-FWX5IMBZ-6vdX9EUn.js";import{i as t,n,r,t as i}from"./chunk-EX3LRPZG-COMzol-M.js";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-oBChb5qS.js";import"./chunk-WYO6CB5R-DcymFbES.js";import"./chunk-ICXQ74PX-BdMYglo2.js";import"./chunk-HOUHSVGY-DWDW6sxp.js";import"./chunk-Q4XR5HBZ-B3kcxFE-.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-OGEWGWER-CBx8MB7f.js";import"./chunk-32BRIVSS-Bw_IuJCM.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-VR4S4FIN-BBOydgvt.js";import"./chunk-C7G6YPKG-hhOrvw5w.js";import"./chunk-ZGVPDNZ5--uKFP-Lr.js";import"./chunk-52WLFC77-C29h440W.js";import"./chunk-FWX5IMBZ-6vdX9EUn.js";import"./chunk-ZIRB5QZD-BpeS1aZ7.js";import{r as t,t as n}from"./chunk-PUDLZKDR-DKssR1nf.js";var r=n({defaultLayout:`swimlane`,styles:e(e=>`${t(e)}
|
|
2
|
-
.swimlane.cluster rect {
|
|
3
|
-
stroke: ${e.clusterBorder} !important;
|
|
4
|
-
}
|
|
5
|
-
[data-look="neo"].cluster rect {
|
|
6
|
-
filter: none;
|
|
7
|
-
}
|
|
8
|
-
`,`getStyles`)});export{r as diagram};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: install-claude-code-hook
|
|
3
|
-
description: Install the ARCS session-bridge hook into an existing Claude Code workspace
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Install Claude Code Hook
|
|
7
|
-
|
|
8
|
-
## Boundary
|
|
9
|
-
|
|
10
|
-
Claude Code only. If the current harness is not Claude Code, stop. The hook changes `.claude/settings.local.json`, so obtain explicit confirmation before using `--write`.
|
|
11
|
-
|
|
12
|
-
## Method
|
|
13
|
-
|
|
14
|
-
1. Run `arcs hooks status <slug> --json`.
|
|
15
|
-
2. If already installed for this slug, report a no-op.
|
|
16
|
-
3. Explain the file written, registered events, local token, and that a new Claude Code session is required.
|
|
17
|
-
4. If the hook points at another slug, warn that installation will repoint it and confirm that effect.
|
|
18
|
-
5. After explicit confirmation, run `arcs hooks install-claude-code <slug> --write --json` once.
|
|
19
|
-
6. Report `settingsPath`, events, and next-session requirement.
|
|
20
|
-
|
|
21
|
-
Do not hand-edit Claude settings. A malformed settings file is a stop condition: surface the CLI error and do not repair, reformat, or delete it. Do not rerun installation for reassurance because it may rotate the token.
|
|
22
|
-
|
|
23
|
-
Without confirmation, offer the snippet-only command without `--write`.
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* ARCS ↔ Claude Code session-bridge hook.
|
|
4
|
-
*
|
|
5
|
-
* Registered four times in settings.json (SessionStart, UserPromptSubmit,
|
|
6
|
-
* SessionEnd, Stop) and dispatches internally on the `hook_event_name` field
|
|
7
|
-
* Claude Code writes to stdin. Install with `arcs hooks install-claude-code
|
|
8
|
-
* <slug>`, which generates the token and prints the snippet to paste.
|
|
9
|
-
*
|
|
10
|
-
* One of the four can put text in front of the model: SessionStart mirrors
|
|
11
|
-
* ARCS's staged environment (project, workspace, DAG position) into the new
|
|
12
|
-
* session, emitting Claude Code's `hookSpecificOutput` envelope on stdout; the
|
|
13
|
-
* other three print nothing.
|
|
14
|
-
*
|
|
15
|
-
* HARD RULE: this script never blocks the session. Any failure — ARCS not
|
|
16
|
-
* running, token rejected, timeout, malformed JSON — is swallowed, nothing is
|
|
17
|
-
* printed, and the exit code stays 0. Exit code 2 (the "block" signal) is never
|
|
18
|
-
* produced. A broken bridge must be invisible, never an obstacle to the user's
|
|
19
|
-
* actual Claude Code session.
|
|
20
|
-
*
|
|
21
|
-
* Config comes from the environment, assigned inline in the settings.json
|
|
22
|
-
* command string:
|
|
23
|
-
* ARCS_HOOK_TOKEN per-project token (required)
|
|
24
|
-
* ARCS_HOOK_SLUG ARCS project slug (required)
|
|
25
|
-
* ARCS_HOOK_URL ARCS web server URL (default http://127.0.0.1:4173)
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
// DEFAULT_URL and EVENTS are literals on purpose: this file runs standalone out
|
|
29
|
-
// of the user's settings.json and importing ARCS would give the HARD RULE above
|
|
30
|
-
// a way to fail. `src/utils/hook-contract.ts` owns the same two values for the
|
|
31
|
-
// TypeScript side, and `test/hook-contract-parity.test.ts` parses THIS source
|
|
32
|
-
// and fails if the two ever diverge — so keep the shapes greppable: a
|
|
33
|
-
// double-quoted DEFAULT_URL, and a flat `new Set([...])` of string literals.
|
|
34
|
-
const DEFAULT_URL = "http://127.0.0.1:4173";
|
|
35
|
-
/** Short by design: a hung ARCS server must not stall prompt submission. */
|
|
36
|
-
const TIMEOUT_MS = 1500;
|
|
37
|
-
const EVENTS = new Set(["SessionStart", "UserPromptSubmit", "SessionEnd", "Stop"]);
|
|
38
|
-
/**
|
|
39
|
-
* Refusal bound on a context block the server sends, in characters.
|
|
40
|
-
*
|
|
41
|
-
* The server caps the SessionStart block at 2500 (`SESSION_START_STAGE_CAP` in
|
|
42
|
-
* `src/web-server/routes/hook-events.ts`); this is the CLIENT's own limit, so a
|
|
43
|
-
* misbehaving, mismatched or hostile ARCS cannot shove an unbounded body into
|
|
44
|
-
* the head of the user's live session. Over the bound the block is dropped
|
|
45
|
-
* whole rather than clipped — a clip would sever a wrapper's closing delimiter.
|
|
46
|
-
* `test/claude-code-hook-script.test.ts` parses this literal and fails if the
|
|
47
|
-
* server's cap ever climbs above it, so the two cannot silently cross.
|
|
48
|
-
*/
|
|
49
|
-
const MAX_CONTEXT_CHARS = 4000;
|
|
50
|
-
|
|
51
|
-
/** Never rejects: an unreadable stdin yields "" and the run turns into a no-op. */
|
|
52
|
-
function readStdin() {
|
|
53
|
-
return new Promise((resolveStdin) => {
|
|
54
|
-
let raw = "";
|
|
55
|
-
let settled = false;
|
|
56
|
-
const finish = () => {
|
|
57
|
-
if (settled) return;
|
|
58
|
-
settled = true;
|
|
59
|
-
clearTimeout(timer);
|
|
60
|
-
process.stdin.destroy();
|
|
61
|
-
resolveStdin(raw);
|
|
62
|
-
};
|
|
63
|
-
const timer = setTimeout(finish, TIMEOUT_MS);
|
|
64
|
-
|
|
65
|
-
process.stdin.setEncoding("utf-8");
|
|
66
|
-
process.stdin.on("data", (chunk) => {
|
|
67
|
-
raw += chunk;
|
|
68
|
-
});
|
|
69
|
-
process.stdin.on("end", finish);
|
|
70
|
-
process.stdin.on("error", finish);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
async function main() {
|
|
75
|
-
const raw = await readStdin();
|
|
76
|
-
if (!raw.trim()) return;
|
|
77
|
-
|
|
78
|
-
const event = JSON.parse(raw);
|
|
79
|
-
const eventName = event?.hook_event_name;
|
|
80
|
-
const sessionId = event?.session_id;
|
|
81
|
-
if (!EVENTS.has(eventName) || typeof sessionId !== "string" || !sessionId) return;
|
|
82
|
-
|
|
83
|
-
const token = process.env.ARCS_HOOK_TOKEN;
|
|
84
|
-
const slug = process.env.ARCS_HOOK_SLUG;
|
|
85
|
-
if (!token || !slug) return;
|
|
86
|
-
const baseUrl = (process.env.ARCS_HOOK_URL || DEFAULT_URL).replace(/\/+$/, "");
|
|
87
|
-
|
|
88
|
-
const response = await fetch(`${baseUrl}/api/hook/${encodeURIComponent(slug)}/event`, {
|
|
89
|
-
method: "POST",
|
|
90
|
-
headers: {
|
|
91
|
-
"content-type": "application/json",
|
|
92
|
-
authorization: `Bearer ${token}`,
|
|
93
|
-
},
|
|
94
|
-
body: JSON.stringify({
|
|
95
|
-
hook_event_name: eventName,
|
|
96
|
-
session_id: sessionId,
|
|
97
|
-
...(typeof event.cwd === "string" && { cwd: event.cwd }),
|
|
98
|
-
...(typeof event.source === "string" && { source: event.source }),
|
|
99
|
-
...(typeof event.reason === "string" && { reason: event.reason }),
|
|
100
|
-
...(typeof event.transcript_path === "string" && { transcript_path: event.transcript_path }),
|
|
101
|
-
}),
|
|
102
|
-
signal: AbortSignal.timeout(TIMEOUT_MS),
|
|
103
|
-
});
|
|
104
|
-
if (!response.ok) return;
|
|
105
|
-
|
|
106
|
-
// Only SessionStart can inject context: it mirrors ARCS's staged environment
|
|
107
|
-
// into the fresh session. UserPromptSubmit, SessionEnd and Stop are pure
|
|
108
|
-
// notifications and answer with empty stdout, so only SessionStart reads the
|
|
109
|
-
// response body at all.
|
|
110
|
-
if (eventName !== "SessionStart") return;
|
|
111
|
-
|
|
112
|
-
const envelope = await response.json();
|
|
113
|
-
|
|
114
|
-
const staged = envelope?.data?.stagedContext;
|
|
115
|
-
// Every rejection here is a silent no-op, never a repair: an absent field,
|
|
116
|
-
// a non-string, an empty string and an oversized body all mean "ARCS has
|
|
117
|
-
// nothing usable to stage", and the session proceeds exactly as if the
|
|
118
|
-
// bridge were not installed.
|
|
119
|
-
if (typeof staged !== "string" || staged === "" || staged.length > MAX_CONTEXT_CHARS) return;
|
|
120
|
-
|
|
121
|
-
process.stdout.write(
|
|
122
|
-
JSON.stringify({
|
|
123
|
-
hookSpecificOutput: {
|
|
124
|
-
hookEventName: "SessionStart",
|
|
125
|
-
additionalContext: staged,
|
|
126
|
-
},
|
|
127
|
-
}),
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// Belt and braces around the hard rule: even a bug in this file (or a stray
|
|
132
|
-
// async rejection) must not surface as a non-zero exit for the user.
|
|
133
|
-
process.on("uncaughtException", () => {
|
|
134
|
-
process.exitCode = 0;
|
|
135
|
-
});
|
|
136
|
-
process.on("unhandledRejection", () => {
|
|
137
|
-
process.exitCode = 0;
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
// No process.exit(): letting the event loop drain guarantees stdout is flushed
|
|
141
|
-
// before the process ends, and the default exit code is already 0.
|
|
142
|
-
main()
|
|
143
|
-
.catch(() => {})
|
|
144
|
-
.finally(() => {
|
|
145
|
-
process.exitCode = 0;
|
|
146
|
-
});
|