@eir-labs/coltrane 0.8.0 → 0.9.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.
Files changed (80) hide show
  1. package/agents/change-verifier.json +40 -0
  2. package/agents/code-implementer.json +42 -0
  3. package/agents/contract-definer.json +31 -0
  4. package/agents/defect-investigator.json +60 -0
  5. package/agents/grounder.json +38 -0
  6. package/agents/pr-publisher.json +48 -0
  7. package/agents/red-spec-drafter.json +46 -0
  8. package/agents/spec-publisher.json +48 -0
  9. package/agents/spec-reviewer.json +32 -0
  10. package/dist/src/bifrost_invoker.js +53 -52
  11. package/dist/src/bifrost_invoker.js.map +1 -1
  12. package/dist/src/change_set_branch.d.ts +131 -0
  13. package/dist/src/change_set_branch.js +179 -0
  14. package/dist/src/change_set_branch.js.map +1 -0
  15. package/dist/src/claude_invoker.d.ts +79 -2
  16. package/dist/src/claude_invoker.js +377 -36
  17. package/dist/src/claude_invoker.js.map +1 -1
  18. package/dist/src/cli.d.ts +1 -1
  19. package/dist/src/cli.js +26 -3
  20. package/dist/src/cli.js.map +1 -1
  21. package/dist/src/committed_work.d.ts +206 -0
  22. package/dist/src/committed_work.js +0 -0
  23. package/dist/src/committed_work.js.map +1 -0
  24. package/dist/src/composition.d.ts +11 -0
  25. package/dist/src/composition.js +3 -1
  26. package/dist/src/composition.js.map +1 -1
  27. package/dist/src/genome_schema.d.ts +803 -10
  28. package/dist/src/genome_schema.js +413 -7
  29. package/dist/src/genome_schema.js.map +1 -1
  30. package/dist/src/genome_store.d.ts +16 -1
  31. package/dist/src/genome_store.js +68 -0
  32. package/dist/src/genome_store.js.map +1 -1
  33. package/dist/src/gig_tracker.js +4 -0
  34. package/dist/src/gig_tracker.js.map +1 -1
  35. package/dist/src/hosted_tools.js +19 -0
  36. package/dist/src/hosted_tools.js.map +1 -1
  37. package/dist/src/institution_enforcement.d.ts +77 -0
  38. package/dist/src/institution_enforcement.js +442 -0
  39. package/dist/src/institution_enforcement.js.map +1 -0
  40. package/dist/src/institution_loader.d.ts +63 -0
  41. package/dist/src/institution_loader.js +239 -0
  42. package/dist/src/institution_loader.js.map +1 -0
  43. package/dist/src/loader.d.ts +4 -1
  44. package/dist/src/loader.js +19 -1
  45. package/dist/src/loader.js.map +1 -1
  46. package/dist/src/mcp.js +8 -1
  47. package/dist/src/mcp.js.map +1 -1
  48. package/dist/src/runtime.d.ts +66 -0
  49. package/dist/src/runtime.js +202 -2
  50. package/dist/src/runtime.js.map +1 -1
  51. package/dist/src/server.d.ts +7 -0
  52. package/dist/src/server.js +90 -1
  53. package/dist/src/server.js.map +1 -1
  54. package/dist/src/venue_realize.d.ts +90 -0
  55. package/dist/src/venue_realize.js +129 -0
  56. package/dist/src/venue_realize.js.map +1 -0
  57. package/dist/src/version.d.ts +1 -1
  58. package/dist/src/version.js +1 -1
  59. package/dist/src/worker.d.ts +45 -3
  60. package/dist/src/worker.js +67 -2
  61. package/dist/src/worker.js.map +1 -1
  62. package/domain_types/change-request.json +2 -1
  63. package/domain_types/class-sweep.json +34 -0
  64. package/domain_types/defect-class.json +25 -0
  65. package/domain_types/defect-location.json +28 -0
  66. package/domain_types/defect-report.json +28 -0
  67. package/domain_types/fix-spec.json +28 -0
  68. package/domain_types/fix-verification.json +28 -0
  69. package/domain_types/grounding-dossier.json +95 -0
  70. package/domain_types/pull-request.json +43 -0
  71. package/domain_types/red-spec.json +76 -0
  72. package/domain_types/reproduction.json +28 -0
  73. package/domain_types/root-cause.json +28 -0
  74. package/domain_types/subsystem-contract.json +106 -0
  75. package/institutions/coltrane.json +166 -0
  76. package/institutions/quartet.json +143 -26
  77. package/package.json +2 -1
  78. package/standards/defect-investigation-v1.json +156 -0
  79. package/standards/software-change-pr-v1.json +151 -0
  80. package/standards/spec-drafting-v1.json +125 -0
@@ -0,0 +1,125 @@
1
+ {
2
+ "slug": "spec-drafting-v1",
3
+ "domain": "spec-drafting",
4
+ "agent_slugs": [
5
+ "grounder",
6
+ "contract-definer",
7
+ "red-spec-drafter",
8
+ "spec-reviewer",
9
+ "spec-publisher"
10
+ ],
11
+ "phases": [
12
+ {
13
+ "name": "ground",
14
+ "chairs": [
15
+ {
16
+ "role": "ground",
17
+ "agent_slug": "grounder",
18
+ "depends_on": [],
19
+ "input_contract": [],
20
+ "output_contract": [
21
+ "grounding-dossier"
22
+ ],
23
+ "required_skills": []
24
+ }
25
+ ],
26
+ "intent": "A lineage pass before anyone fixes a contract: our own codebase, tests, records and backlog designs (the callsites, what is declared-but-unenforced), plus internet prior art on how comparable systems build this subsystem AND, separately, how to verify a contract formally (property-based, deterministic algebra, model-based). Everything cited; nothing recalled. The synthesis is what makes the spec buildable rather than invented."
27
+ },
28
+ {
29
+ "name": "define-contract",
30
+ "chairs": [
31
+ {
32
+ "role": "define-contract",
33
+ "agent_slug": "contract-definer",
34
+ "depends_on": [
35
+ "ground"
36
+ ],
37
+ "input_contract": [
38
+ "grounding-dossier"
39
+ ],
40
+ "output_contract": [
41
+ "subsystem-contract"
42
+ ],
43
+ "required_skills": []
44
+ }
45
+ ],
46
+ "intent": "Fix what the subsystem MUST be: the complete set of obligations, the machine-statable invariants that must hold (each naming how it is checked), and the failure modes that must fail closed. Exhaustive, not sampled — an omitted invariant is a hole the tests cannot cover, and a hole is how a system does B while claiming A through Z."
47
+ },
48
+ {
49
+ "name": "draft-red-spec",
50
+ "chairs": [
51
+ {
52
+ "role": "draft-red-spec",
53
+ "agent_slug": "red-spec-drafter",
54
+ "depends_on": [
55
+ "ground",
56
+ "define-contract"
57
+ ],
58
+ "input_contract": [
59
+ "grounding-dossier",
60
+ "subsystem-contract"
61
+ ],
62
+ "output_contract": [
63
+ "red-spec"
64
+ ],
65
+ "required_skills": []
66
+ }
67
+ ],
68
+ "intent": "Write the spec AS red tests, directly into the working tree: for every contract invariant, a real running assertion against the real callsite, failing today because the enforcement is absent, using the verification method the grounding chose (property-based/axiomatic where universal). The files land on disk and the red-spec is the real captured diff; the coverage_map binds every invariant to its test; uncovered must be empty. Each test must be genuinely RED — it must FAIL on the missing enforcement, never pass regardless (a subset law that already holds on the un-wired path is a tautology, not a red test; assert the strict effect so it is green only once the enforcement exists). No implementation ships — only the falsifiable contract."
69
+ },
70
+ {
71
+ "name": "review",
72
+ "chairs": [
73
+ {
74
+ "role": "review",
75
+ "agent_slug": "spec-reviewer",
76
+ "depends_on": [
77
+ "define-contract",
78
+ "draft-red-spec"
79
+ ],
80
+ "input_contract": [
81
+ "subsystem-contract",
82
+ "red-spec"
83
+ ],
84
+ "output_contract": [
85
+ "change-verdict"
86
+ ],
87
+ "required_skills": []
88
+ }
89
+ ],
90
+ "intent": "The gate that stops a spec from lying: read the tests, not the coverage_map's word. Refuse on a single uncovered invariant, one tautological test that passes regardless of the implementation, or one pending placeholder. A passing review means every claim in the contract has a failing test that proves it. On a failing review the red-spec-drafter amends and is re-reviewed — the spec is not published until it genuinely holds."
91
+ },
92
+ {
93
+ "name": "publish-red-spec",
94
+ "chairs": [
95
+ {
96
+ "role": "publish-red-spec",
97
+ "agent_slug": "spec-publisher",
98
+ "depends_on": [
99
+ "draft-red-spec",
100
+ "review"
101
+ ],
102
+ "input_contract": [
103
+ "red-spec",
104
+ "change-verdict"
105
+ ],
106
+ "output_contract": [
107
+ "pull-request"
108
+ ],
109
+ "required_skills": []
110
+ }
111
+ ],
112
+ "intent": "Open the RED spec as one pull request for a human to approve. The red-spec-drafter has already written the failing tests into the working tree and the reviewer has judged the spec good; commit exactly what is on disk to a fresh non-main branch, push it, and open exactly one PR whose body states plainly that CI is red by design — the failing tests ARE the contract, and the implementation pipeline turns this same branch green. The gate is the spec-review verdict (the spec's quality), never the test run. A failed review is not published — it is surfaced as a caveat and the seat stops. The human approves the contract on GitHub before anyone builds against it."
113
+ }
114
+ ],
115
+ "input_types": [],
116
+ "output_types": [
117
+ "grounding-dossier",
118
+ "subsystem-contract",
119
+ "red-spec",
120
+ "change-verdict",
121
+ "pull-request"
122
+ ],
123
+ "max_examine_rounds": 3,
124
+ "description": "Draft a buildable spec for a subsystem/contract AND publish it as a RED pull request for human approval. A buildable spec is not prose — it is comprehensive RED tests: real running assertions, one or more per contract invariant, failing because the enforcement does not exist yet, with a coverage map that leaves nothing uncovered. Five seats, seam-separated so a spec cannot certify itself: the grounder runs a lineage pass; the contract-definer fixes the exhaustive contract; the red-spec-drafter WRITES a real red test for every invariant directly into the working tree; the reviewer refuses on a single uncovered invariant, one tautological test, or one pending placeholder; and the spec-publisher opens exactly one PR whose CI is red by design. max_examine_rounds wires the review→redraft loop: a failing review re-runs the red-spec-drafter with the review fed back — so a tautological or not-actually-red test is amended and re-reviewed, iterating until the spec genuinely holds or the rounds are spent, before anything is published. This is the deliberate human-approval handoff: a person approves the contract on GitHub, then the implementation pipeline (a separate standard) takes this same branch and turns it green."
125
+ }