@rryando/arcs 3.2.6 → 3.3.0
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 +30 -10
- package/dist/cli/arcs-orchestrate.d.ts +1 -1
- package/dist/cli/arcs-orchestrate.d.ts.map +1 -1
- package/dist/cli/arcs-orchestrate.js +252 -362
- package/dist/cli/arcs-orchestrate.js.map +1 -1
- package/dist/cli/config.d.ts +10 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +66 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +28 -1
- package/dist/cli/setup.js.map +1 -1
- package/opencode/arcs/manifest.json +37 -0
- package/opencode/arcs/prompts/arcs-docs.txt +32 -0
- package/opencode/arcs/prompts/arcs-orchestrate-caveman.txt +252 -362
- package/opencode/arcs/prompts/arcs-orchestrate.txt +252 -362
- package/opencode/arcs/prompts/code-reviewer.txt +20 -0
- package/opencode/arcs/prompts/docs-researcher.txt +20 -0
- package/opencode/arcs/prompts/graph-explorer.txt +15 -5
- package/opencode/arcs/prompts/oncall-ops.txt +23 -0
- package/opencode/arcs/prompts/qa-analyst.txt +22 -0
- package/opencode/arcs/prompts/software-engineer.txt +19 -13
- package/opencode/arcs/prompts/system-architect.txt +21 -0
- package/opencode/arcs/prompts/tech-architect.txt +21 -0
- package/package.json +1 -1
- package/scripts/deploy-claudecode-bundle.mjs +32 -1
|
@@ -53,3 +53,23 @@ Before reading code, understand context:
|
|
|
53
53
|
2. `arcs git-log <slug> --json` — understand commit intent
|
|
54
54
|
3. `arcs task get <slug> <taskId> --json` — read the task spec being implemented
|
|
55
55
|
4. Then review code against spec + conventions
|
|
56
|
+
|
|
57
|
+
## Output Format
|
|
58
|
+
|
|
59
|
+
Your output is consumed by the orchestrator (an LLM), not a human. Be structured and terse.
|
|
60
|
+
|
|
61
|
+
\`\`\`
|
|
62
|
+
VERDICT: <approve | request-changes | comment-only>
|
|
63
|
+
|
|
64
|
+
FINDINGS:
|
|
65
|
+
- [CRITICAL] <file:line> — <issue>
|
|
66
|
+
- [HIGH] <file:line> — <issue>
|
|
67
|
+
- [MEDIUM] <file:line> — <issue>
|
|
68
|
+
- [LOW] <file:line> — <issue>
|
|
69
|
+
|
|
70
|
+
TASKS: <none | suggested follow-up tasks for orchestrator>
|
|
71
|
+
|
|
72
|
+
YAGNI: <none | speculative code identified with file:line>
|
|
73
|
+
\`\`\`
|
|
74
|
+
|
|
75
|
+
No prose narrative. No "Overall this looks..." — go straight to VERDICT.
|
|
@@ -52,3 +52,23 @@ When creating entries, select the correct kind:
|
|
|
52
52
|
| `module` | Module-level descriptions (from graphify) | Individual files |
|
|
53
53
|
|
|
54
54
|
Always run `arcs knowledge list <slug> --json` before creating — check for existing entries to update rather than duplicate.
|
|
55
|
+
|
|
56
|
+
## Output Format
|
|
57
|
+
|
|
58
|
+
Your output is consumed by the orchestrator (an LLM), not a human. Be structured and terse.
|
|
59
|
+
|
|
60
|
+
\`\`\`
|
|
61
|
+
RESEARCH: <topic summary — one line>
|
|
62
|
+
|
|
63
|
+
FINDINGS:
|
|
64
|
+
- <finding with source citation>
|
|
65
|
+
|
|
66
|
+
EXISTING_DAG: <relevant entries already in DAG, or "none found">
|
|
67
|
+
|
|
68
|
+
PROPOSED_ENTRIES:
|
|
69
|
+
- kind:<kind> title:"<title>" summary:"<summary>"
|
|
70
|
+
|
|
71
|
+
GAPS: <none | what couldn't be answered and why>
|
|
72
|
+
\`\`\`
|
|
73
|
+
|
|
74
|
+
No prose narrative. No "I researched..." — go straight to RESEARCH.
|
|
@@ -107,8 +107,18 @@ All commands support `--json` for machine-readable output. Reads return `{ok, da
|
|
|
107
107
|
|
|
108
108
|
## Output Format
|
|
109
109
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
110
|
+
Your output is consumed by the orchestrator (an LLM), not a human. Be structured and terse.
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
ANSWER: <direct response — facts only, no filler>
|
|
114
|
+
|
|
115
|
+
EVIDENCE:
|
|
116
|
+
- <DAG entry ID or file:line citation>
|
|
117
|
+
- <DAG entry ID or file:line citation>
|
|
118
|
+
|
|
119
|
+
FALLBACK: <none | reason DAG was insufficient>
|
|
120
|
+
|
|
121
|
+
CAPTURES: <none | proposed arcs knowledge create commands>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Omit FALLBACK/CAPTURES if none. No prose preamble. No "I found that..." — go straight to ANSWER.
|
|
@@ -52,3 +52,26 @@ When investigating a bug, failure, or production incident:
|
|
|
52
52
|
6. `arcs knowledge create <slug> "<resolution method>" --kind=lesson --summary="..." --json` — capture the fix
|
|
53
53
|
|
|
54
54
|
**DAG is context-reference only during active incidents.** Don't waste investigation time updating task status — do that after resolution.
|
|
55
|
+
|
|
56
|
+
## Output Format
|
|
57
|
+
|
|
58
|
+
Your output is consumed by the orchestrator (an LLM), not a human. Be structured and terse.
|
|
59
|
+
|
|
60
|
+
\`\`\`
|
|
61
|
+
STATUS: <investigating | root-cause-found | resolved | blocked>
|
|
62
|
+
|
|
63
|
+
ROOT_CAUSE: <one-line description or "pending">
|
|
64
|
+
|
|
65
|
+
EVIDENCE:
|
|
66
|
+
- <file:line, log output, or command result>
|
|
67
|
+
|
|
68
|
+
FIX:
|
|
69
|
+
- <what was done or what needs to be done>
|
|
70
|
+
|
|
71
|
+
VERIFY:
|
|
72
|
+
- <command ran>: <pass/fail>
|
|
73
|
+
|
|
74
|
+
CAPTURES: <arcs knowledge create commands for gotcha/lesson>
|
|
75
|
+
\`\`\`
|
|
76
|
+
|
|
77
|
+
No prose narrative. No "After investigating..." — go straight to STATUS.
|
|
@@ -52,3 +52,25 @@ You are invoked BEFORE a feature lands — not after. Your job is to find proble
|
|
|
52
52
|
5. `arcs search <slug> "<feature keywords>" --lean --json` — find all related context
|
|
53
53
|
6. Cross-module grep: `rg "<symbol>" --type ts` — trace usage across boundaries
|
|
54
54
|
7. Report: severity-grouped findings with file:line evidence
|
|
55
|
+
|
|
56
|
+
## Output Format
|
|
57
|
+
|
|
58
|
+
Your output is consumed by the orchestrator (an LLM), not a human. Be structured and terse.
|
|
59
|
+
|
|
60
|
+
\`\`\`
|
|
61
|
+
AUDIT: <what was audited — scope in one line>
|
|
62
|
+
|
|
63
|
+
FINDINGS:
|
|
64
|
+
- [CRITICAL] <file:line> — <issue>
|
|
65
|
+
- [HIGH] <file:line> — <issue>
|
|
66
|
+
- [MEDIUM] <file:line> — <issue>
|
|
67
|
+
|
|
68
|
+
CONVENTIONS:
|
|
69
|
+
- <compliant | violations with file:line>
|
|
70
|
+
|
|
71
|
+
TASKS: <none | suggested tasks for orchestrator to create>
|
|
72
|
+
|
|
73
|
+
KNOWLEDGE: <none | proposed arcs knowledge create for patterns found>
|
|
74
|
+
\`\`\`
|
|
75
|
+
|
|
76
|
+
No prose narrative. No "I audited..." — go straight to AUDIT.
|
|
@@ -33,16 +33,22 @@ MANDATORY EXIT GATE: Before claiming any work is complete, you MUST run verifica
|
|
|
33
33
|
|
|
34
34
|
All commands support `--json` for machine-readable output. Reads return `{ok, data}`; failures return `{ok:false, code, message, hint?}`. **Routing:** success → stdout, errors → stderr — always capture both with `2>&1`.
|
|
35
35
|
|
|
36
|
-
##
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
## Output Format
|
|
37
|
+
|
|
38
|
+
Your output is consumed by the orchestrator (an LLM), not a human. Be structured and terse.
|
|
39
|
+
|
|
40
|
+
\`\`\`
|
|
41
|
+
STATUS: <done | blocked | partial>
|
|
42
|
+
|
|
43
|
+
CHANGES:
|
|
44
|
+
- <file:path> — <what changed, one line>
|
|
45
|
+
|
|
46
|
+
VERIFY:
|
|
47
|
+
- <command ran>: <pass/fail>
|
|
48
|
+
|
|
49
|
+
SCOPE_CHANGE: <none | tasks added/removed/deps changed — orchestrator handles diagram>
|
|
50
|
+
|
|
51
|
+
KNOWLEDGE: <none | reusable pattern/gotcha discovered — propose arcs knowledge create>
|
|
52
|
+
\`\`\`
|
|
53
|
+
|
|
54
|
+
No prose narrative. No "I implemented..." — go straight to STATUS.
|
|
@@ -51,6 +51,27 @@ When dispatched for structural design or migration planning:
|
|
|
51
51
|
|
|
52
52
|
Your scope is project TOPOLOGY — how projects relate, where boundaries should be, what migrates where. Single-project deep analysis belongs to tech-architect.
|
|
53
53
|
|
|
54
|
+
## Output Format
|
|
55
|
+
|
|
56
|
+
Your output is consumed by the orchestrator (an LLM), not a human. Be structured and terse.
|
|
57
|
+
|
|
58
|
+
\`\`\`
|
|
59
|
+
DELIVERABLE: <plan | design | knowledge entry | migration sequence>
|
|
60
|
+
|
|
61
|
+
DECISIONS:
|
|
62
|
+
- <decision with rationale, one line each>
|
|
63
|
+
|
|
64
|
+
BOUNDARIES:
|
|
65
|
+
- <module/project boundary defined or changed>
|
|
66
|
+
|
|
67
|
+
RISKS:
|
|
68
|
+
- <risk with severity and mitigation>
|
|
69
|
+
|
|
70
|
+
ARTIFACTS: <arcs commands executed or proposed>
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
No prose narrative. No "After analyzing..." — go straight to DELIVERABLE.
|
|
74
|
+
|
|
54
75
|
## Diagrams as Execution Maps
|
|
55
76
|
|
|
56
77
|
ARCS plan diagrams (`.diagram.mmd` files) serve dual purposes:
|
|
@@ -52,3 +52,24 @@ When dispatched for structural analysis:
|
|
|
52
52
|
7. `arcs knowledge create <slug> "<finding>" --kind=architecture --summary="..." --json` — record findings
|
|
53
53
|
|
|
54
54
|
Output: severity-ranked findings with evidence (file paths, metrics, dependency chains).
|
|
55
|
+
|
|
56
|
+
## Output Format
|
|
57
|
+
|
|
58
|
+
Your output is consumed by the orchestrator (an LLM), not a human. Be structured and terse.
|
|
59
|
+
|
|
60
|
+
\`\`\`
|
|
61
|
+
ANALYSIS: <one-line summary of what was analyzed>
|
|
62
|
+
|
|
63
|
+
FINDINGS:
|
|
64
|
+
- [CRITICAL|HIGH|MEDIUM] <finding> — evidence: <file:line or metric>
|
|
65
|
+
|
|
66
|
+
RECOMMENDATIONS:
|
|
67
|
+
- <action with rationale, one line each>
|
|
68
|
+
|
|
69
|
+
RISKS:
|
|
70
|
+
- <risk if recommendation is NOT followed>
|
|
71
|
+
|
|
72
|
+
ARTIFACTS: <arcs commands executed or proposed>
|
|
73
|
+
\`\`\`
|
|
74
|
+
|
|
75
|
+
No prose narrative. No "I examined..." — go straight to ANALYSIS.
|
package/package.json
CHANGED
|
@@ -67,6 +67,33 @@ const destination = scope === "project" ? projectRoot : configRoot;
|
|
|
67
67
|
const DEFAULT_AGENT = "arcs-orchestrate";
|
|
68
68
|
const SKILL_PREFIX = "arcs-";
|
|
69
69
|
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
// Model tier configuration
|
|
72
|
+
// ---------------------------------------------------------------------------
|
|
73
|
+
// Env vars: DEPLOY_MODEL_HEAVY, DEPLOY_MODEL_STANDARD, DEPLOY_MODEL_LIGHT
|
|
74
|
+
// Each defaults to "inherit" if unset.
|
|
75
|
+
const tierModels = {
|
|
76
|
+
heavy: process.env.DEPLOY_MODEL_HEAVY || "inherit",
|
|
77
|
+
standard: process.env.DEPLOY_MODEL_STANDARD || "inherit",
|
|
78
|
+
light: process.env.DEPLOY_MODEL_LIGHT || "inherit",
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
/** Maps each agent stem to a tier. Falls back to "standard". */
|
|
82
|
+
const agentTierMap = {
|
|
83
|
+
"software-engineer": "heavy",
|
|
84
|
+
"docs-researcher": "heavy",
|
|
85
|
+
"arcs-docs": "heavy",
|
|
86
|
+
"oncall-ops": "heavy",
|
|
87
|
+
"system-architect": "heavy",
|
|
88
|
+
general: "heavy",
|
|
89
|
+
"arcs-orchestrate": "standard",
|
|
90
|
+
"arcs-orchestrate-caveman": "standard",
|
|
91
|
+
"devil-advocate": "standard",
|
|
92
|
+
"code-reviewer": "light",
|
|
93
|
+
"tech-architect": "light",
|
|
94
|
+
"qa-analyst": "light",
|
|
95
|
+
};
|
|
96
|
+
|
|
70
97
|
const agentMetadata = {
|
|
71
98
|
"software-engineer": {
|
|
72
99
|
name: "Software Engineer",
|
|
@@ -191,6 +218,9 @@ function buildAgentSources() {
|
|
|
191
218
|
model: "inherit",
|
|
192
219
|
};
|
|
193
220
|
|
|
221
|
+
const tier = agentTierMap[stem] || "standard";
|
|
222
|
+
const model = tierModels[tier];
|
|
223
|
+
|
|
194
224
|
const toolsArray = meta.tools.split(",").map((t) => t.trim());
|
|
195
225
|
const toolsYaml = `[${toolsArray.map((t) => `"${t}"`).join(", ")}]`;
|
|
196
226
|
|
|
@@ -198,7 +228,7 @@ function buildAgentSources() {
|
|
|
198
228
|
"---",
|
|
199
229
|
`name: ${meta.name}`,
|
|
200
230
|
`description: ${meta.description}`,
|
|
201
|
-
`model: ${
|
|
231
|
+
`model: ${model}`,
|
|
202
232
|
`tools: ${toolsYaml}`,
|
|
203
233
|
"---",
|
|
204
234
|
"",
|
|
@@ -396,6 +426,7 @@ function main() {
|
|
|
396
426
|
dryRun,
|
|
397
427
|
source: bundleRoot,
|
|
398
428
|
destination,
|
|
429
|
+
modelConfig: tierModels,
|
|
399
430
|
filesAdded,
|
|
400
431
|
filesChanged,
|
|
401
432
|
filesRemoved,
|