opencode-swarm 7.106.0 → 7.107.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.
Files changed (40) hide show
  1. package/.opencode/skills/critic-gate/SKILL.md +19 -5
  2. package/.opencode/skills/plan/SKILL.md +18 -3
  3. package/.opencode/skills/resume/SKILL.md +4 -1
  4. package/.opencode/skills/writing-tests/SKILL.md +31 -0
  5. package/dist/agents/critic.d.ts +1 -1
  6. package/dist/agents/explorer.d.ts +2 -2
  7. package/dist/cli/curator-drift-6ad8mxxb.js +211 -0
  8. package/dist/cli/curator-llm-factory-gdhtm1hh.js +31 -0
  9. package/dist/cli/curator-np2ky29t.js +51 -0
  10. package/dist/cli/{evidence-summary-service-v9kmv783.js → evidence-summary-service-dh44gevz.js} +4 -3
  11. package/dist/cli/{explorer-rwfvbbx5.js → explorer-ksr3xq7n.js} +1 -1
  12. package/dist/cli/{guardrail-explain-fvjc90wa.js → guardrail-explain-414smfg4.js} +13 -11
  13. package/dist/cli/hive-promoter-y9r8d315.js +39 -0
  14. package/dist/cli/{index-ydgy7vg5.js → index-09xpycan.js} +31 -5
  15. package/dist/cli/index-357p0baj.js +719 -0
  16. package/dist/cli/{index-7dtekwvd.js → index-7v734syt.js} +1 -1
  17. package/dist/cli/{index-z4t3w4xf.js → index-87d4wsv9.js} +14 -12
  18. package/dist/cli/{index-vwyjkzgs.js → index-9wstcavp.js} +1 -1
  19. package/dist/cli/index-c8s9a3zh.js +73 -0
  20. package/dist/cli/{index-f4yjypa4.js → index-gt514nt1.js} +29028 -27099
  21. package/dist/cli/{index-k2rmw9sz.js → index-jjp5qrjv.js} +265 -843
  22. package/dist/cli/{index-e9n3xsk0.js → index-t4hbye3v.js} +1 -1
  23. package/dist/cli/index.js +12 -10
  24. package/dist/cli/{pending-delegations-dvprsdfy.js → pending-delegations-46xf2n2e.js} +2 -2
  25. package/dist/cli/{pr-subscriptions-zfxjtyzw.js → pr-subscriptions-3c34rnm1.js} +3 -3
  26. package/dist/cli/{skill-generator-99rrfwae.js → skill-generator-y6mmq8n5.js} +1 -1
  27. package/dist/commands/curate.d.ts +38 -1
  28. package/dist/commands/registry.d.ts +2 -2
  29. package/dist/commands/reset-session.d.ts +10 -0
  30. package/dist/hooks/curator-postmortem.d.ts +52 -3
  31. package/dist/hooks/curator.d.ts +2 -1
  32. package/dist/hooks/delegation-gate/worktree-isolation.d.ts +3 -1
  33. package/dist/hooks/guardrails/index.d.ts +3 -1
  34. package/dist/hooks/system-enhancer.d.ts +4 -0
  35. package/dist/index.js +458 -386
  36. package/dist/plan/manager.d.ts +15 -1
  37. package/dist/tools/update-task-status.d.ts +1 -0
  38. package/dist/utils/spec-hash.d.ts +36 -0
  39. package/package.json +1 -1
  40. package/dist/cli/{index-7ztmmqpt.js → index-mpe0yk9s.js} +3 -3
@@ -1,24 +1,26 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-7dtekwvd.js";
5
- import"./index-f4yjypa4.js";
6
- import"./index-fxtrk7y8.js";
7
- import"./index-ydgy7vg5.js";
8
- import"./index-vwyjkzgs.js";
9
- import"./index-f7nma02k.js";
4
+ } from "./index-7v734syt.js";
5
+ import"./index-gt514nt1.js";
10
6
  import"./index-esg1554h.js";
11
- import"./index-2560cctg.js";
12
- import"./index-k2rmw9sz.js";
7
+ import"./index-jjp5qrjv.js";
13
8
  import"./index-8w4d325g.js";
9
+ import"./index-fxtrk7y8.js";
10
+ import"./index-09xpycan.js";
11
+ import"./index-2560cctg.js";
12
+ import"./index-9wstcavp.js";
13
+ import"./index-f7nma02k.js";
14
+ import"./index-c8s9a3zh.js";
15
+ import"./index-357p0baj.js";
14
16
  import"./index-v4fcn4tr.js";
15
17
  import"./index-r8f89sm9.js";
16
18
  import"./index-9b7qp18e.js";
17
- import"./index-e9n3xsk0.js";
18
- import"./index-7ztmmqpt.js";
19
- import"./index-jtqkh8jf.js";
19
+ import"./index-t4hbye3v.js";
20
+ import"./index-mpe0yk9s.js";
20
21
  import"./index-5e4e2hvv.js";
21
22
  import"./index-p0arc26j.js";
23
+ import"./index-jtqkh8jf.js";
22
24
  import"./index-zgwm4ryv.js";
23
25
  import"./index-3naa2ajc.js";
24
26
  import"./index-293f68mj.js";
@@ -0,0 +1,39 @@
1
+ // @bun
2
+ import {
3
+ checkHivePromotions,
4
+ createHivePromoterHook,
5
+ isHiveEligible,
6
+ promoteFromSwarm,
7
+ promoteToHive
8
+ } from "./index-gt514nt1.js";
9
+ import"./index-esg1554h.js";
10
+ import"./index-jjp5qrjv.js";
11
+ import"./index-8w4d325g.js";
12
+ import"./index-fxtrk7y8.js";
13
+ import"./index-09xpycan.js";
14
+ import"./index-2560cctg.js";
15
+ import"./index-9wstcavp.js";
16
+ import"./index-f7nma02k.js";
17
+ import"./index-c8s9a3zh.js";
18
+ import"./index-357p0baj.js";
19
+ import"./index-v4fcn4tr.js";
20
+ import"./index-r8f89sm9.js";
21
+ import"./index-9b7qp18e.js";
22
+ import"./index-t4hbye3v.js";
23
+ import"./index-mpe0yk9s.js";
24
+ import"./index-5e4e2hvv.js";
25
+ import"./index-p0arc26j.js";
26
+ import"./index-jtqkh8jf.js";
27
+ import"./index-zgwm4ryv.js";
28
+ import"./index-3naa2ajc.js";
29
+ import"./index-293f68mj.js";
30
+ import"./index-b9v501fr.js";
31
+ import"./index-vn263hqt.js";
32
+ import"./index-a76rekgs.js";
33
+ export {
34
+ promoteToHive,
35
+ promoteFromSwarm,
36
+ isHiveEligible,
37
+ createHivePromoterHook,
38
+ checkHivePromotions
39
+ };
@@ -301,6 +301,17 @@ Use the UUID from KNOWLEDGE_ENTRIES when observing about existing entries. Use "
301
301
  EXTENDED_DIGEST:
302
302
  [the full running digest with this phase appended]
303
303
 
304
+ OPTIONAL_STRUCTURED_BLOCKS:
305
+ When you have evidence for knowledge application outcomes, append this exact fenced JSON block:
306
+ \`\`\`json knowledge_application_findings
307
+ [{"knowledge_id":"<uuid>","expected_behavior":"...","observed_behavior":"...","verdict":"applied|ignored|violated|not_applicable","evidence_refs":[".swarm/evidence/..."]}]
308
+ \`\`\`
309
+ When you find skill candidates, append this exact fenced JSON block:
310
+ \`\`\`json skill_candidates
311
+ [{"slug":"short-kebab-slug","title":"...","source_knowledge_ids":["<uuid>"],"trigger":"...","required_procedure":["..."],"forbidden_shortcuts":["..."],"target_agents":["architect"],"reviewer_checks":["..."],"confidence":0.8,"reason":"..."}]
312
+ \`\`\`
313
+ Omit a block when you have no valid entries for it. Malformed or differently named blocks are ignored.
314
+
304
315
  ## ACTIONABILITY ENRICHMENT (V3 compatibility label; overrides the format above when triggered)
305
316
  When the input asks you to "Convert this prose lesson into an actionable knowledge directive", ignore the PHASE_DIGEST output format entirely and output ONLY a single JSON object \u2014 no fences, no commentary, no digest.
306
317
  MANDATORY fields (the directive is rejected without them):
@@ -350,19 +361,34 @@ IMPROVEMENT_AGENDA:
350
361
  2. ...
351
362
 
352
363
  CURATION_RECOMMENDATIONS:
353
- - merge: [entry_a UUID] + [entry_b UUID] \u2014 [reason]
354
- - promote_to_hive: [entry UUID] \u2014 [evidence of cross-phase confirmation]
355
- - flag_stale: [entry UUID] \u2014 [never applied in N phases]
356
- - rewrite: [entry UUID] \u2014 [what's verbose/outdated]
364
+ - promote: [entry UUID] - [evidence of cross-phase confirmation]
365
+ - archive: [entry UUID] - [never applied in N phases]
366
+ - rewrite: [entry UUID] - [replacement lesson text, max 280 chars]
367
+ - flag_contradiction: [entry UUID] - [observable conflict]
368
+ - promote: new - [new concise lesson text]
357
369
 
358
370
  QUEUE_TRIAGE:
359
- - [proposal_id]: APPLY|REJECT \u2014 [one-line reasoning]
371
+ - [proposal_id]: APPLY|REJECT - [one-line reasoning]
360
372
 
361
373
  LEARNING_METRICS:
362
374
  [3-line summary of trends if data available, or "metrics data not provided"]
363
375
 
364
376
  SUMMARY:
365
377
  [3-line executive summary for architect briefing]
378
+
379
+ REQUIRED_ACTION_BLOCK:
380
+ Append exactly one fenced JSON block after SUMMARY. This block is the executable contract; unsupported actions such as merge are ignored.
381
+ \`\`\`json postmortem_actions
382
+ {
383
+ "summary": "3-line executive summary for architect briefing",
384
+ "curation_recommendations": [
385
+ {"action": "promote", "entry_id": "<uuid or omit for new>", "lesson": "concise lesson text", "reason": "evidence-backed reason", "category": "process", "confidence": 0.8}
386
+ ],
387
+ "queue_triage": [
388
+ {"proposal_id": "proposal-slug", "action": "apply", "reason": "one-line reason"}
389
+ ]
390
+ }
391
+ \`\`\`
366
392
  `;
367
393
  var CURATOR_CONSOLIDATION_PROMPT = `## IDENTITY
368
394
  You are Curator in CONSOLIDATION mode. You distill clusters of raw episodic memory into a small set of durable semantic facts.