allye-opencode 1.5.1 → 1.6.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/dist/index.js +46 -28
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -41,15 +41,16 @@ The conversation itself is the primary signal, and it overrides everything else
|
|
|
41
41
|
All responses, questions, suggestions, and confirmations must be in the user's language. If the user switches language mid-conversation, follow them.
|
|
42
42
|
`.trim();
|
|
43
43
|
var ALLYE_INIT_PROTOCOL = `
|
|
44
|
-
## Allye
|
|
44
|
+
## Allye Context (adaptive)
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
2. **Check active team** \u2014 If the response shows the user belongs to multiple teams and no team is active, ask which team they want to work with and call \`team_switch\`. Do not proceed until a team is selected.
|
|
46
|
+
When Allye MCP is available and the work benefits from durable context, call \`initialize\` (action: \`init\`) to load user context, team info, and core documents.
|
|
47
|
+
If initialization fails or is unavailable, state the limitation and continue locally unless Allye is required.
|
|
48
|
+
If multiple teams exist without an active selection, ask before team-scoped operations; non-team-scoped work may continue.
|
|
50
49
|
`.trim();
|
|
51
50
|
var MEMORY_SEARCH_PROTOCOL = `
|
|
52
|
-
## Memory Search (
|
|
51
|
+
## Memory Search (proportional)
|
|
52
|
+
|
|
53
|
+
For consequential, multi-step, resumed, or team-scoped work, search relevant memories before acting. For short, low-risk, local work, memory search may be skipped. Never claim a search was performed when Allye is unavailable.
|
|
53
54
|
|
|
54
55
|
After initialization, search for relevant memories:
|
|
55
56
|
|
|
@@ -76,7 +77,9 @@ Relation types: \`similar | extends | caused_by | supersedes | contradicts | dep
|
|
|
76
77
|
If graph traversal times out (408): reduce depth, add relation_types filter.
|
|
77
78
|
`.trim();
|
|
78
79
|
var MEMORY_SAVE_PROTOCOL = `
|
|
79
|
-
## Memory Save (
|
|
80
|
+
## Memory Save (when useful)
|
|
81
|
+
|
|
82
|
+
For consequential sessions or durable decisions, save session state before ending. Skip trivial local work. If persistence is unavailable, report that continuity was not saved.
|
|
80
83
|
|
|
81
84
|
Before ending your work, save session state:
|
|
82
85
|
|
|
@@ -95,9 +98,9 @@ Also save memories mid-conversation when:
|
|
|
95
98
|
- A blocker is identified
|
|
96
99
|
`.trim();
|
|
97
100
|
var DYNAMIC_SKILL_LOADING = `
|
|
98
|
-
## Dynamic Skill Loading (
|
|
101
|
+
## Dynamic Skill Loading (when relevant)
|
|
99
102
|
|
|
100
|
-
Before starting
|
|
103
|
+
Before starting meaningful work, search for team-specific skills when Allye MCP is available and the task benefits from team standards:
|
|
101
104
|
|
|
102
105
|
1. Call \`skill_list\` with queries matching your task domain (e.g., "planning", "code review", "development standards", "story template", "task template")
|
|
103
106
|
2. For each relevant skill found, call \`skill_get\` to read its full content
|
|
@@ -118,12 +121,15 @@ This creates a virtuous cycle \u2014 the more the team uses Allye, the more stan
|
|
|
118
121
|
Skills may be in any language. Adapt accordingly.
|
|
119
122
|
`.trim();
|
|
120
123
|
var WORKFLOW_GATES = `
|
|
121
|
-
##
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
## Adaptive Checkpoints and Guardrails
|
|
125
|
+
|
|
126
|
+
Choose the smallest useful loop: intent \u2192 context \u2192 research (optional) \u2192 consent \u2192 action \u2192 verification \u2192 persistence (optional).
|
|
127
|
+
- Recommend tasks for meaningful, multi-step, shared, delegated, or review-heavy work; create them only after approval.
|
|
128
|
+
- For an explicitly approved no-task path, keep scope visible and verify proportionally.
|
|
129
|
+
- Ask before consequential mutations, status changes, publication, deployment, or broad scope.
|
|
130
|
+
- Surface ambiguity that changes scope, risk, or architecture; use reversible defaults for minor details.
|
|
131
|
+
- Use TDD when deterministic behavior can be specified first; otherwise test after implementation, but do not skip verification.
|
|
132
|
+
- Claim completion only from actual verification evidence, distinguishing implementation from review or deployment.
|
|
127
133
|
`.trim();
|
|
128
134
|
var TOOLS_QUICKREF = `
|
|
129
135
|
## Allye MCP Tools
|
|
@@ -206,9 +212,11 @@ Use this when the user talks about: requirements, business needs, product scope,
|
|
|
206
212
|
## Workflow Overview
|
|
207
213
|
|
|
208
214
|
\`\`\`
|
|
209
|
-
Understand
|
|
215
|
+
Understand intent \u2192 Search context when useful \u2192 Propose hierarchy when traceability helps \u2192 Get approval \u2192 Create items \u2192 Save decisions
|
|
210
216
|
\`\`\`
|
|
211
217
|
|
|
218
|
+
Product Planning is recommended for durable product scope, not a mandatory prerequisite for every local implementation. Never create items without explicit approval.
|
|
219
|
+
|
|
212
220
|
---
|
|
213
221
|
|
|
214
222
|
## Step 0: Check for a Discovery Doc
|
|
@@ -219,7 +227,7 @@ If you arrived via a \`discovery-to-planning\` handover (see the \`handover-prot
|
|
|
219
227
|
|
|
220
228
|
## Step 1: Understand the Business Context
|
|
221
229
|
|
|
222
|
-
Before creating anything, have a conversation with the user to understand:
|
|
230
|
+
Before proposing or creating anything, have a conversation with the user to understand:
|
|
223
231
|
|
|
224
232
|
1. **What problem are we solving?** \u2014 The business need or opportunity
|
|
225
233
|
2. **Who is it for?** \u2014 Target users or stakeholders
|
|
@@ -304,7 +312,7 @@ Epic: User Authentication System
|
|
|
304
312
|
\u2514\u2500\u2500 Story: User can log out from all devices
|
|
305
313
|
\`\`\`
|
|
306
314
|
|
|
307
|
-
Wait for the user to approve, modify, or add to this structure before proceeding.
|
|
315
|
+
Wait for the user to approve, modify, or add to this structure before proceeding. If the user explicitly chooses a no-work-item path for a small or local change, do not create a hierarchy; keep the scope and verification visible instead.
|
|
308
316
|
|
|
309
317
|
---
|
|
310
318
|
|
|
@@ -445,7 +453,7 @@ Before considering product planning complete, verify:
|
|
|
445
453
|
After items are approved and created, ask the user whether to generate a **\`planning-to-technical\`** handover (see the \`handover-protocol\` skill) for Technical Planning. Fill the template's \`Doc:\` line with the Discovery Doc reference if one exists upstream (or "Nenhum doc adicional" if not), and list every created **and** reused key \u2014 Technical Planning has no other way to know which items are which.`;
|
|
446
454
|
var TECHNICAL_PLANNING = `# Technical Planning Workflow
|
|
447
455
|
|
|
448
|
-
Turns
|
|
456
|
+
Turns an approved, meaningful story into actionable tasks through a **Discussion Phase** \u2014 surfacing gray areas, capturing decisions, and writing tasks with verifiable acceptance criteria and a runnable verification command. It is recommended for durable, multi-step, shared, or review-heavy work, not mandatory for every local change.
|
|
449
457
|
|
|
450
458
|
**Never assume \u2014 always ask.** The user knows the direction they want, sometimes only after researching further. Your job is to surface the gray areas and present real options, not to quietly pick one and present it as the plan.
|
|
451
459
|
|
|
@@ -461,6 +469,8 @@ Get story \u2192 Search context \u2192 Discussion Phase \u2192 Create tasks \u21
|
|
|
461
469
|
|
|
462
470
|
## 0. Scope: one feature, story by story
|
|
463
471
|
|
|
472
|
+
If the user explicitly chooses a no-task path, do not enter this workflow or create tasks. State the local scope, assumptions, and verification plan instead.
|
|
473
|
+
|
|
464
474
|
The steps below plan **one story at a time** \u2014 but the unit Technical Planning hands to the Orchestrator is the **feature**. When the target feature has multiple stories (a \`planning-to-technical\` handover usually lists several), work through every story under that feature in sequence, one at a time, running the full workflow (Steps 1\u20136) for each before starting the next.
|
|
465
475
|
|
|
466
476
|
**Emit only ONE \`technical-to-orchestration\` handover, at the very end \u2014 after the last story in the feature is planned, never after each individual story.** That handover must cover every story and every task, grouped by wave, which is only honest once all of the feature's stories have actually been planned. If the session ends before all stories are planned, save session state (Step 6) and resume in a fresh chat \u2014 don't emit a partial feature-level handover.
|
|
@@ -511,9 +521,9 @@ If tasks already exist, review them instead of creating new ones. The user may w
|
|
|
511
521
|
## Step 3: Discussion Phase
|
|
512
522
|
|
|
513
523
|
<EXTREMELY_IMPORTANT>
|
|
514
|
-
|
|
515
|
-
before creating any task.
|
|
516
|
-
|
|
524
|
+
For tracked work, complete the discussion phase \u2014 surfacing ambiguity before committing
|
|
525
|
+
to a plan \u2014 before creating any task. A user-approved no-task path may skip task creation,
|
|
526
|
+
but must still surface scope-changing ambiguity and define proportional verification.
|
|
517
527
|
</EXTREMELY_IMPORTANT>
|
|
518
528
|
|
|
519
529
|
### 3.1 Identify Gray Areas
|
|
@@ -528,7 +538,7 @@ Examples of gray areas:
|
|
|
528
538
|
- Should we optimize for read speed or write speed?
|
|
529
539
|
- How much backward compatibility do we need?
|
|
530
540
|
|
|
531
|
-
|
|
541
|
+
Whenever tracked work implies infrastructure, stack, or architecture choices, raise them explicitly as gray areas. For a small no-task change, use established defaults only when the choice is low-risk and reversible; otherwise ask before acting.
|
|
532
542
|
|
|
533
543
|
**Need more than a hunch to evaluate an option?** Dispatch the \`deep-search\` agent (web research) or the \`code-analyzer\` agent (analyze a public repo), both via the \`Agent\` tool \u2014 research is available here, not only in Sandbox. Bring findings back into the discussion before locking a decision.
|
|
534
544
|
|
|
@@ -790,10 +800,12 @@ Before considering technical planning complete, verify:
|
|
|
790
800
|
Once the last story in the feature is planned, emit a **\`technical-to-orchestration\`** handover (see the \`handover-protocol\` skill) for the Orchestrator. Spell out the full reading list \u2014 doc, epic, feature, every story, every task, grouped by wave \u2014 and every locked architecture decision, across all the stories planned in this cycle. The Orchestrator has no other context; a vague pointer here becomes its problem later.`;
|
|
791
801
|
var ORCHESTRATOR = `# Orchestrator
|
|
792
802
|
|
|
793
|
-
You
|
|
803
|
+
You coordinate delivery when the user chooses a durable, multi-step work-item workflow. You don't have to be invoked for every change, and you don't plan or implement when coordinating \u2014 Technical Planning and Executor playbooks remain available as needed. You coordinate: who owns what, what's in progress, whether a story is genuinely done, and when to bring in review. If the user chooses a local no-task path, stop coordinating rather than creating work items to justify this skill.
|
|
794
804
|
|
|
795
805
|
## 1. On start
|
|
796
806
|
|
|
807
|
+
If no approved work item or handover exists, do not invent one. Explain the available lightweight local path or ask whether the user wants to opt into tracked delivery.
|
|
808
|
+
|
|
797
809
|
If you arrived via a \`technical-to-orchestration\` handover (see \`handover-protocol\`), read it in full \u2014 it's your only context, there is no prior conversation to fall back on.
|
|
798
810
|
|
|
799
811
|
Then load the actual work. **The handover's list is an index to verify against, not a substitute for reading:**
|
|
@@ -942,8 +954,8 @@ Unclear assignee, no active sprint to assign into, conflicting or unexpected sta
|
|
|
942
954
|
Search at start (\xA71). Save session state before ending \u2014 current position in the feature (which story/wave), what's been dispatched, what's pending review, any escalations raised, correction-round count per task (so the 2-correction-max escalation rule survives a resumed session). If a correction round revealed something worth remembering beyond this session (a wrong assumption, a pattern), save it as its own memory in the appropriate sector, per the \`allye-memory-protocol\` skill \u2014 don't let it live only in this session's state snapshot.`;
|
|
943
955
|
var TECHNICAL_DEVELOPMENT = `# Technical Development Workflow
|
|
944
956
|
|
|
945
|
-
Implements
|
|
946
|
-
verify it actually works, and
|
|
957
|
+
Implements a scoped change with discipline: read the existing code first, drive it with TDD when applicable,
|
|
958
|
+
verify it actually works, and use Allye task tracking when a task exists or the user approves creating one. A small or explicitly approved no-task change still follows the same read, test, and verification discipline.
|
|
947
959
|
|
|
948
960
|
**Scope, if you arrived via a \`story-execution\` or \`correction\` handover (see \`handover-protocol\`):** read only the one story and its tasks named in the handover \u2014 nothing else. A \`correction\` handover carries only the failed findings, not the whole story again; fix exactly what it lists.
|
|
949
961
|
|
|
@@ -959,6 +971,8 @@ Get task \u2192 Search context \u2192 Move to in_progress \u2192 Read code \u219
|
|
|
959
971
|
|
|
960
972
|
## Step 1: Get the Task and Context
|
|
961
973
|
|
|
974
|
+
If a task or handover exists, fetch it and treat its acceptance criteria and locked decisions as authoritative. If no task exists, confirm that the user approved the no-task path, define the scope and verification command locally, and continue without inventing a work item.
|
|
975
|
+
|
|
962
976
|
Fetch the task you're about to implement:
|
|
963
977
|
|
|
964
978
|
\`\`\`
|
|
@@ -1009,6 +1023,8 @@ If there are multiple independent tasks (same wave), they can be done in any ord
|
|
|
1009
1023
|
|
|
1010
1024
|
## Step 3: Move Task to In Progress
|
|
1011
1025
|
|
|
1026
|
+
If a task exists, signal that work has started. If no task exists, record the local scope in the implementation plan and do not make a status call.
|
|
1027
|
+
|
|
1012
1028
|
Signal that work has started:
|
|
1013
1029
|
|
|
1014
1030
|
\`\`\`
|
|
@@ -1236,6 +1252,8 @@ Examples of things that need human action:
|
|
|
1236
1252
|
|
|
1237
1253
|
## Step 7: Move Task to Review
|
|
1238
1254
|
|
|
1255
|
+
For a tracked task, advance it to review only after the verification evidence is green. For an approved no-task change, report the same evidence directly and do not create or advance a status.
|
|
1256
|
+
|
|
1239
1257
|
<!-- adapted from superpowers:verification-before-completion (MIT) \u2014 evidence before assertions -->
|
|
1240
1258
|
**Evidence before assertions.** Don't advance a task because it looks right \u2014 run the tests, read the actual output, and confirm each acceptance criterion against that output before proceeding. "Should work" is not the same as "ran and passed."
|
|
1241
1259
|
|
|
@@ -1243,13 +1261,13 @@ The task's verification command is what supplies that evidence. Advancing a task
|
|
|
1243
1261
|
\`review\` without having run it green \u2014 or without having recorded a \`verification:
|
|
1244
1262
|
manual\` observation \u2014 is the assertion this rule exists to forbid.
|
|
1245
1263
|
|
|
1246
|
-
Once all acceptance criteria are verifiably met and tests pass:
|
|
1264
|
+
Once all acceptance criteria are verifiably met and tests pass for a tracked task:
|
|
1247
1265
|
|
|
1248
1266
|
\`\`\`
|
|
1249
1267
|
work_status_next(id: "{task uuid}")
|
|
1250
1268
|
\`\`\`
|
|
1251
1269
|
|
|
1252
|
-
This advances the task forward to the "review" status. **Do NOT call \`work_status_done\` here** \u2014 passing its own tests makes a task ready for review, not done.
|
|
1270
|
+
This advances the task forward to the "review" status. **Do NOT call \`work_status_done\` here** \u2014 passing its own tests makes a task ready for review, not done. For a no-task change, completion means the agreed scope and verification are reported; no status transition is implied.
|
|
1253
1271
|
|
|
1254
1272
|
---
|
|
1255
1273
|
|
package/package.json
CHANGED