amicus 3.2.3 → 4.0.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 (53) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +106 -0
  3. package/README.md +15 -3
  4. package/electron/main.js +4 -1
  5. package/package.json +3 -1
  6. package/schemas/abort.schema.json +17 -0
  7. package/schemas/alias-audit.schema.json +17 -0
  8. package/schemas/council-run.schema.json +38 -0
  9. package/schemas/council-stats.schema.json +28 -0
  10. package/schemas/council-tally.schema.json +70 -0
  11. package/schemas/council-validate.schema.json +22 -0
  12. package/schemas/council-verdict.schema.json +47 -0
  13. package/schemas/doctor.schema.json +29 -0
  14. package/schemas/error.schema.json +23 -0
  15. package/schemas/model-catalog.schema.json +19 -0
  16. package/schemas/run.schema.json +26 -0
  17. package/schemas/spend.schema.json +16 -0
  18. package/schemas/wave.schema.json +33 -0
  19. package/skills/second-opinion/SEAT-BRIEFS.md +5 -3
  20. package/skills/second-opinion/SKILL.md +8 -0
  21. package/src/cli-handlers-abort.js +29 -0
  22. package/src/cli-handlers-council-run.js +168 -0
  23. package/src/cli-handlers-council.js +8 -5
  24. package/src/cli-handlers-status.js +35 -4
  25. package/src/cli.js +9 -0
  26. package/src/council/anonymize.js +76 -0
  27. package/src/council/briefings-stage2.js +150 -0
  28. package/src/council/briefings.js +141 -0
  29. package/src/council/findings.js +13 -1
  30. package/src/council/ledger.js +13 -1
  31. package/src/council/parse-stage2.js +103 -0
  32. package/src/council/run-assemble.js +100 -0
  33. package/src/council/run-launch.js +99 -0
  34. package/src/council/run-stages.js +203 -0
  35. package/src/council/run-state.js +161 -0
  36. package/src/council/run.js +277 -0
  37. package/src/council/tally.js +3 -1
  38. package/src/council/verdict.js +9 -2
  39. package/src/headless.js +24 -25
  40. package/src/mcp-council-awareness.js +187 -0
  41. package/src/mcp-council-run.js +161 -0
  42. package/src/mcp-server.js +87 -28
  43. package/src/mcp-tools.js +50 -0
  44. package/src/prompt-builder.js +36 -19
  45. package/src/sidecar/fanout-leg.js +2 -2
  46. package/src/sidecar/fanout.js +1 -1
  47. package/src/sidecar/resume.js +7 -2
  48. package/src/utils/abort-result.js +1 -1
  49. package/src/utils/error-doc.js +2 -0
  50. package/src/utils/fold-marker.js +21 -0
  51. package/src/utils/route-error.js +26 -0
  52. package/src/utils/start-helpers.js +19 -10
  53. package/src/utils/untrusted-fence.js +8 -7
@@ -9,13 +9,14 @@
9
9
  * marked as data, not instructions.
10
10
  *
11
11
  * Applies to every prose channel a sidecar model's output reaches an agent
12
- * through: MCP amicus_read (summary, wave summary, conversation) and the
13
- * CLI's non-JSON stdout (read summary/conversation/wave-human, and the
14
- * foreground start/continue/resume summary echo). It must NOT be applied to
15
- * JSON contracts (--json stdout, amicus_council_tally/verdict) or metadata
16
- * (amicus_read mode=metadata) those are structured data a caller parses,
17
- * not prose read directly by an LLM, and wrapping them would break the
18
- * contract.
12
+ * through: MCP amicus_read (summary, wave summary, conversation), the CLI's
13
+ * non-JSON stdout (read summary/conversation/wave-human, and the foreground
14
+ * start/continue/resume summary echo), and since v4.0 (H9) — the council
15
+ * MCP tools' JSON returns (amicus_council_tally / amicus_council_stats /
16
+ * amicus_verdict), whose docs embed untrusted model-raised findings; the JSON
17
+ * stays intact inside the fence. It must NOT be applied to CLI --json stdout
18
+ * (the byte-parseable programmatic channel) or amicus_read mode=metadata —
19
+ * structured data a caller parses, where wrapping would break the contract.
19
20
  */
20
21
  'use strict';
21
22