@eir-labs/coltrane 0.4.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 (279) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +85 -0
  3. package/agents/anticipation-mapper.json +34 -0
  4. package/agents/claim-amender.json +34 -0
  5. package/agents/claim-architect.json +34 -0
  6. package/agents/claim-rewriter.json +32 -0
  7. package/agents/delivery-finalizer.json +40 -0
  8. package/agents/diamond-cutter.json +33 -0
  9. package/agents/disclosure-analyst.json +26 -0
  10. package/agents/domain-explorer.json +37 -0
  11. package/agents/e2e-runner.json +34 -0
  12. package/agents/e2e-suite-judge.json +26 -0
  13. package/agents/event-clusterer.json +29 -0
  14. package/agents/novelty-searcher.json +40 -0
  15. package/agents/patent-browser-scout.json +49 -0
  16. package/agents/patent-examiner.json +36 -0
  17. package/agents/phase_agents/claim-rewriter.md +44 -0
  18. package/agents/phase_agents/delivery-finalizer.md +30 -0
  19. package/agents/phase_agents/diamond-cutter.md +47 -0
  20. package/agents/phase_agents/domain-explorer.md +27 -0
  21. package/agents/phase_agents/novelty-searcher.md +50 -0
  22. package/agents/phase_agents/problem-definer.md +32 -0
  23. package/agents/phase_agents/solution-developer.md +26 -0
  24. package/agents/phase_agents/verdict-judger.md +70 -0
  25. package/agents/players/audience-modeler.md +40 -0
  26. package/agents/players/chain-audit-keeper.md +41 -0
  27. package/agents/players/illumination-reviewer.md +42 -0
  28. package/agents/players/methodology-cadence-keeper.md +42 -0
  29. package/agents/players/substrate-edge-keeper.md +45 -0
  30. package/agents/prior-art-scout.json +45 -0
  31. package/agents/problem-definer.json +35 -0
  32. package/agents/seeds/steve_seed_a.json +12 -0
  33. package/agents/seeds/steve_seed_b.json +12 -0
  34. package/agents/seeds/steve_seed_c.json +12 -0
  35. package/agents/seeds/steve_seed_d.json +12 -0
  36. package/agents/sensor.json +22 -0
  37. package/agents/solution-developer.json +35 -0
  38. package/agents/source-walker.json +38 -0
  39. package/agents/spec-drafter.json +31 -0
  40. package/agents/sub_thread_soft_judge.json +26 -0
  41. package/agents/sub_thread_trace_sensor.json +22 -0
  42. package/agents/summarizer.json +25 -0
  43. package/agents/synthesis-writer.json +29 -0
  44. package/agents/triage-judge.json +39 -0
  45. package/agents/user_flow_judge.json +26 -0
  46. package/agents/user_flow_sensor.json +22 -0
  47. package/agents/verdict-judger.json +39 -0
  48. package/core_types/artifact.json +17 -0
  49. package/core_types/interpretation.json +16 -0
  50. package/core_types/judgment.json +16 -0
  51. package/core_types/plan.json +16 -0
  52. package/core_types/signal.json +16 -0
  53. package/core_types/verdict.json +27 -0
  54. package/dist/src/access_grant.d.ts +46 -0
  55. package/dist/src/access_grant.js +76 -0
  56. package/dist/src/access_grant.js.map +1 -0
  57. package/dist/src/acoustics.d.ts +9 -0
  58. package/dist/src/acoustics.js +65 -0
  59. package/dist/src/acoustics.js.map +1 -0
  60. package/dist/src/agent_profile.d.ts +36 -0
  61. package/dist/src/agent_profile.js +57 -0
  62. package/dist/src/agent_profile.js.map +1 -0
  63. package/dist/src/bifrost_invoker.d.ts +33 -0
  64. package/dist/src/bifrost_invoker.js +85 -0
  65. package/dist/src/bifrost_invoker.js.map +1 -0
  66. package/dist/src/canonical_core_types.d.ts +2 -0
  67. package/dist/src/canonical_core_types.js +111 -0
  68. package/dist/src/canonical_core_types.js.map +1 -0
  69. package/dist/src/canonical_form.d.ts +55 -0
  70. package/dist/src/canonical_form.js +93 -0
  71. package/dist/src/canonical_form.js.map +1 -0
  72. package/dist/src/charter.d.ts +37 -0
  73. package/dist/src/charter.js +86 -0
  74. package/dist/src/charter.js.map +1 -0
  75. package/dist/src/circle_of_fifths.d.ts +27 -0
  76. package/dist/src/circle_of_fifths.js +78 -0
  77. package/dist/src/circle_of_fifths.js.map +1 -0
  78. package/dist/src/claude_invoker.d.ts +102 -0
  79. package/dist/src/claude_invoker.js +760 -0
  80. package/dist/src/claude_invoker.js.map +1 -0
  81. package/dist/src/coltrane_profile.d.ts +87 -0
  82. package/dist/src/coltrane_profile.js +132 -0
  83. package/dist/src/coltrane_profile.js.map +1 -0
  84. package/dist/src/composition.d.ts +57 -0
  85. package/dist/src/composition.js +447 -0
  86. package/dist/src/composition.js.map +1 -0
  87. package/dist/src/core_types.d.ts +6 -0
  88. package/dist/src/core_types.js +25 -0
  89. package/dist/src/core_types.js.map +1 -0
  90. package/dist/src/document_factory.d.ts +89 -0
  91. package/dist/src/document_factory.js +176 -0
  92. package/dist/src/document_factory.js.map +1 -0
  93. package/dist/src/genome_schema.d.ts +512 -0
  94. package/dist/src/genome_schema.js +168 -0
  95. package/dist/src/genome_schema.js.map +1 -0
  96. package/dist/src/genome_writer.d.ts +67 -0
  97. package/dist/src/genome_writer.js +179 -0
  98. package/dist/src/genome_writer.js.map +1 -0
  99. package/dist/src/gig_song.d.ts +29 -0
  100. package/dist/src/gig_song.js +56 -0
  101. package/dist/src/gig_song.js.map +1 -0
  102. package/dist/src/gig_tracker.d.ts +54 -0
  103. package/dist/src/gig_tracker.js +109 -0
  104. package/dist/src/gig_tracker.js.map +1 -0
  105. package/dist/src/harmonic_validation.d.ts +11 -0
  106. package/dist/src/harmonic_validation.js +35 -0
  107. package/dist/src/harmonic_validation.js.map +1 -0
  108. package/dist/src/hooks.d.ts +27 -0
  109. package/dist/src/hooks.js +2 -0
  110. package/dist/src/hooks.js.map +1 -0
  111. package/dist/src/index.d.ts +36 -0
  112. package/dist/src/index.js +37 -0
  113. package/dist/src/index.js.map +1 -0
  114. package/dist/src/jsong.d.ts +47 -0
  115. package/dist/src/jsong.js +130 -0
  116. package/dist/src/jsong.js.map +1 -0
  117. package/dist/src/judges/user_flow_judge.d.ts +89 -0
  118. package/dist/src/judges/user_flow_judge.js +200 -0
  119. package/dist/src/judges/user_flow_judge.js.map +1 -0
  120. package/dist/src/learner.d.ts +37 -0
  121. package/dist/src/learner.js +30 -0
  122. package/dist/src/learner.js.map +1 -0
  123. package/dist/src/ledger.d.ts +225 -0
  124. package/dist/src/ledger.js +306 -0
  125. package/dist/src/ledger.js.map +1 -0
  126. package/dist/src/loader.d.ts +87 -0
  127. package/dist/src/loader.js +504 -0
  128. package/dist/src/loader.js.map +1 -0
  129. package/dist/src/mcp.d.ts +23 -0
  130. package/dist/src/mcp.js +125 -0
  131. package/dist/src/mcp.js.map +1 -0
  132. package/dist/src/modulation_path.d.ts +42 -0
  133. package/dist/src/modulation_path.js +60 -0
  134. package/dist/src/modulation_path.js.map +1 -0
  135. package/dist/src/output_validation.d.ts +19 -0
  136. package/dist/src/output_validation.js +51 -0
  137. package/dist/src/output_validation.js.map +1 -0
  138. package/dist/src/outputs.d.ts +125 -0
  139. package/dist/src/outputs.js +452 -0
  140. package/dist/src/outputs.js.map +1 -0
  141. package/dist/src/overtones.d.ts +42 -0
  142. package/dist/src/overtones.js +98 -0
  143. package/dist/src/overtones.js.map +1 -0
  144. package/dist/src/player_to_claude_code.d.ts +17 -0
  145. package/dist/src/player_to_claude_code.js +141 -0
  146. package/dist/src/player_to_claude_code.js.map +1 -0
  147. package/dist/src/playwright_cage.d.ts +28 -0
  148. package/dist/src/playwright_cage.js +47 -0
  149. package/dist/src/playwright_cage.js.map +1 -0
  150. package/dist/src/polyphony.d.ts +46 -0
  151. package/dist/src/polyphony.js +91 -0
  152. package/dist/src/polyphony.js.map +1 -0
  153. package/dist/src/portfolio.d.ts +52 -0
  154. package/dist/src/portfolio.js +186 -0
  155. package/dist/src/portfolio.js.map +1 -0
  156. package/dist/src/pricing.d.ts +23 -0
  157. package/dist/src/pricing.js +16 -0
  158. package/dist/src/pricing.js.map +1 -0
  159. package/dist/src/registry.d.ts +46 -0
  160. package/dist/src/registry.js +199 -0
  161. package/dist/src/registry.js.map +1 -0
  162. package/dist/src/runtime.d.ts +304 -0
  163. package/dist/src/runtime.js +1099 -0
  164. package/dist/src/runtime.js.map +1 -0
  165. package/dist/src/server.d.ts +88 -0
  166. package/dist/src/server.js +1692 -0
  167. package/dist/src/server.js.map +1 -0
  168. package/dist/src/server_entry.d.ts +2 -0
  169. package/dist/src/server_entry.js +40 -0
  170. package/dist/src/server_entry.js.map +1 -0
  171. package/dist/src/server_relay.d.ts +82 -0
  172. package/dist/src/server_relay.js +341 -0
  173. package/dist/src/server_relay.js.map +1 -0
  174. package/dist/src/simulate.d.ts +60 -0
  175. package/dist/src/simulate.js +72 -0
  176. package/dist/src/simulate.js.map +1 -0
  177. package/dist/src/skill_runner.mjs +34 -0
  178. package/dist/src/skill_subprocess.d.ts +65 -0
  179. package/dist/src/skill_subprocess.js +132 -0
  180. package/dist/src/skill_subprocess.js.map +1 -0
  181. package/dist/src/skills.d.ts +85 -0
  182. package/dist/src/skills.js +258 -0
  183. package/dist/src/skills.js.map +1 -0
  184. package/dist/src/subthread_recorder.d.ts +68 -0
  185. package/dist/src/subthread_recorder.js +166 -0
  186. package/dist/src/subthread_recorder.js.map +1 -0
  187. package/dist/src/tensor_read.d.ts +38 -0
  188. package/dist/src/tensor_read.js +60 -0
  189. package/dist/src/tensor_read.js.map +1 -0
  190. package/dist/src/test_honest_broker.d.ts +34 -0
  191. package/dist/src/test_honest_broker.js +155 -0
  192. package/dist/src/test_honest_broker.js.map +1 -0
  193. package/dist/src/test_topology.d.ts +22 -0
  194. package/dist/src/test_topology.js +137 -0
  195. package/dist/src/test_topology.js.map +1 -0
  196. package/dist/src/tones.d.ts +20 -0
  197. package/dist/src/tones.js +81 -0
  198. package/dist/src/tones.js.map +1 -0
  199. package/dist/src/tool_providers.d.ts +45 -0
  200. package/dist/src/tool_providers.js +104 -0
  201. package/dist/src/tool_providers.js.map +1 -0
  202. package/dist/src/type_versioning.d.ts +23 -0
  203. package/dist/src/type_versioning.js +31 -0
  204. package/dist/src/type_versioning.js.map +1 -0
  205. package/dist/src/version.d.ts +28 -0
  206. package/dist/src/version.js +86 -0
  207. package/dist/src/version.js.map +1 -0
  208. package/domain_types/claim-draft.json +34 -0
  209. package/domain_types/coverage-report.json +31 -0
  210. package/domain_types/draft-agent-profile.json +31 -0
  211. package/domain_types/draft-domain-type.json +28 -0
  212. package/domain_types/draft-standard.json +46 -0
  213. package/domain_types/e2e-observation.json +32 -0
  214. package/domain_types/e2e-report.json +30 -0
  215. package/domain_types/e2e-target.json +26 -0
  216. package/domain_types/e2e-verdict.json +26 -0
  217. package/domain_types/examine-round-record.json +40 -0
  218. package/domain_types/examiner-rejection.json +28 -0
  219. package/domain_types/failure-modes.json +31 -0
  220. package/domain_types/invention-analysis.json +34 -0
  221. package/domain_types/invention-spec.json +34 -0
  222. package/domain_types/novelty-analysis.json +28 -0
  223. package/domain_types/novelty-verdict.json +35 -0
  224. package/domain_types/parsed-conversation-trace.json +38 -0
  225. package/domain_types/pattern-extraction.json +62 -0
  226. package/domain_types/prior-art-hit.json +50 -0
  227. package/domain_types/project-charter.json +71 -0
  228. package/domain_types/provisional-draft.json +34 -0
  229. package/domain_types/raw-note.json +19 -0
  230. package/domain_types/repo-survey.json +28 -0
  231. package/domain_types/seeding-verdict.json +70 -0
  232. package/domain_types/soft-verdict.json +55 -0
  233. package/domain_types/summary.json +19 -0
  234. package/domain_types/triage-verdict.json +59 -0
  235. package/domain_types/user-flow-transcript.json +43 -0
  236. package/domain_types/user-flow-verdict.json +60 -0
  237. package/domain_types/verdict-record.json +39 -0
  238. package/package.json +82 -0
  239. package/skills/citation-verify/fixtures/basic.json +14 -0
  240. package/skills/citation-verify/meta.json +10 -0
  241. package/skills/citation-verify/skill.mjs +26 -0
  242. package/skills/claim-element-decompose/fixtures/basic.json +11 -0
  243. package/skills/claim-element-decompose/meta.json +10 -0
  244. package/skills/claim-element-decompose/skill.mjs +14 -0
  245. package/skills/diamond-cutting-discipline/fixtures/basic.json +13 -0
  246. package/skills/diamond-cutting-discipline/meta.json +19 -0
  247. package/skills/diamond-cutting-discipline/skill.md +46 -0
  248. package/skills/element-mapping-matrix/fixtures/basic.json +13 -0
  249. package/skills/element-mapping-matrix/meta.json +10 -0
  250. package/skills/element-mapping-matrix/skill.mjs +20 -0
  251. package/skills/number-adder/fixtures/basic.json +9 -0
  252. package/skills/number-adder/meta.json +10 -0
  253. package/skills/number-adder/skill.mjs +12 -0
  254. package/skills/patent-fetch/fixtures/parse.json +18 -0
  255. package/skills/patent-fetch/meta.json +11 -0
  256. package/skills/patent-fetch/skill.mjs +34 -0
  257. package/skills/query-expand/fixtures/basic.json +14 -0
  258. package/skills/query-expand/meta.json +10 -0
  259. package/skills/query-expand/skill.mjs +29 -0
  260. package/skills/run-vitest-band/fixtures/basic.json +9 -0
  261. package/skills/run-vitest-band/meta.json +18 -0
  262. package/skills/run-vitest-band/skill.mjs +22 -0
  263. package/skills/statutory-checklist/fixtures/basic.json +16 -0
  264. package/skills/statutory-checklist/meta.json +10 -0
  265. package/skills/statutory-checklist/skill.mjs +25 -0
  266. package/skills/summarize-tight/fixtures/basic.json +13 -0
  267. package/skills/summarize-tight/meta.json +20 -0
  268. package/skills/summarize-tight/skill.md +1 -0
  269. package/skills/verdict-gate/fixtures/basic.json +9 -0
  270. package/skills/verdict-gate/meta.json +10 -0
  271. package/skills/verdict-gate/skill.mjs +82 -0
  272. package/standards/e2e-suite-v0.json +44 -0
  273. package/standards/patent-triage-v0.json +98 -0
  274. package/standards/patent-triage-v1.json +84 -0
  275. package/standards/seed-from-local-repos-v0.json +115 -0
  276. package/standards/sub_thread_invocation.json +50 -0
  277. package/standards/summarize.json +40 -0
  278. package/standards/synthesis-walk-v0.json +108 -0
  279. package/standards/user_flow_correctness.json +57 -0
@@ -0,0 +1,28 @@
1
+ {
2
+ "slug": "novelty-analysis",
3
+ "version": 1,
4
+ "extends": "Interpretation",
5
+ "domain": "patent-triage",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "matrix": {
11
+ "type": "array"
12
+ },
13
+ "coverage_fraction": {
14
+ "type": "number"
15
+ },
16
+ "obviousness_combinations": {
17
+ "type": "array"
18
+ },
19
+ "caveat": {
20
+ "type": "string"
21
+ }
22
+ }
23
+ },
24
+ "required_fields": [
25
+ "matrix",
26
+ "claims"
27
+ ]
28
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "slug": "novelty-verdict",
3
+ "version": 1,
4
+ "extends": "Judgment",
5
+ "domain": "patent-triage",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "invention_id": {
11
+ "type": "string"
12
+ },
13
+ "nearest_prior_art": {
14
+ "type": "array"
15
+ },
16
+ "coverage_fraction": {
17
+ "type": "number"
18
+ },
19
+ "verdict": {
20
+ "type": "string"
21
+ },
22
+ "rationale": {
23
+ "type": "string"
24
+ },
25
+ "caveat": {
26
+ "type": "string"
27
+ }
28
+ }
29
+ },
30
+ "required_fields": [
31
+ "verdict",
32
+ "rationale",
33
+ "criteria"
34
+ ]
35
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "slug": "parsed-conversation-trace",
3
+ "version": 1,
4
+ "extends": "Signal",
5
+ "domain": "self_judge",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "transcript_path": { "type": "string" },
11
+ "recorder_log_path": { "type": "string" },
12
+ "transcript_present": { "type": "boolean" },
13
+ "recorder_log_present": { "type": "boolean" },
14
+ "recorder_log_empty": { "type": "boolean" },
15
+ "turns": {
16
+ "type": "array",
17
+ "items": {
18
+ "type": "object",
19
+ "properties": {
20
+ "turn_idx": { "type": "number" },
21
+ "parent_session_id": { "type": ["string", "null"] },
22
+ "child_session_id": { "type": ["string", "null"] },
23
+ "prompt": { "type": ["string", "null"] },
24
+ "response": { "type": ["string", "null"] },
25
+ "timestamp": { "type": ["string", "null"] },
26
+ "tool_calls": { "type": "array" }
27
+ }
28
+ }
29
+ },
30
+ "notes": { "type": "string" }
31
+ }
32
+ },
33
+ "required_fields": [
34
+ "transcript_present",
35
+ "turns",
36
+ "source"
37
+ ]
38
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "slug": "pattern-extraction",
3
+ "version": 1,
4
+ "extends": "Interpretation",
5
+ "domain": "seeding",
6
+ "status": "active",
7
+ "description": "Implicit patterns extracted from a cohort of repo-surveys. Names workflow shapes, agent-like roles, recurrent operations, and domain-data shapes the user repeatedly works with — without committing to any specific draft yet. The 'what is the SHAPE of this user's work' read.",
8
+ "schema": {
9
+ "type": "object",
10
+ "properties": {
11
+ "input_refs": { "type": "array", "items": { "type": "string" }, "description": "References to the repo-survey outputs this extraction is derived from." },
12
+ "user_signature": { "type": "string", "description": "One-line characterization of the user's working pattern (e.g., 'rapid cross-domain research with TDD-flavored code changes')." },
13
+
14
+ "recurrent_workflows": {
15
+ "type": "array",
16
+ "description": "Observable multi-step sequences the user runs across repos (e.g., 'fetch dataset → run analysis → write results doc → OTS-stamp').",
17
+ "items": {
18
+ "type": "object",
19
+ "properties": {
20
+ "name": { "type": "string" },
21
+ "steps": { "type": "array", "items": { "type": "string" } },
22
+ "evidence_repos": { "type": "array", "items": { "type": "string" }, "description": "Which repos exhibit this pattern." },
23
+ "frequency": { "type": "string", "enum": ["once", "occasional", "frequent", "dominant"] }
24
+ },
25
+ "required": ["name", "steps", "evidence_repos"]
26
+ }
27
+ },
28
+
29
+ "agent_like_roles": {
30
+ "type": "array",
31
+ "description": "Implicit roles the user plays (or scripts they've written) that map to coltrane agent shapes.",
32
+ "items": {
33
+ "type": "object",
34
+ "properties": {
35
+ "role": { "type": "string" },
36
+ "implicit_primitives": { "type": "array", "items": { "type": "string" }, "description": "Behavioral primitives this role would map to (analyst, executor, etc.)." },
37
+ "evidence": { "type": "string", "description": "What in the surveys suggests this role." }
38
+ },
39
+ "required": ["role", "evidence"]
40
+ }
41
+ },
42
+
43
+ "recurrent_domain_shapes": {
44
+ "type": "array",
45
+ "description": "Data shapes the user repeatedly works with (e.g., 'time-series with channel + bandpass metadata').",
46
+ "items": {
47
+ "type": "object",
48
+ "properties": {
49
+ "shape_name": { "type": "string" },
50
+ "schema_hint": { "type": "object", "description": "Loose JSON-schema-ish hint, not a binding type definition." },
51
+ "evidence_repos": { "type": "array", "items": { "type": "string" } }
52
+ },
53
+ "required": ["shape_name", "evidence_repos"]
54
+ }
55
+ },
56
+
57
+ "confidence_band": { "type": "string", "enum": ["high", "moderate", "low"], "description": "How confident is this read across the survey cohort?" }
58
+ },
59
+ "required": ["input_refs", "user_signature", "confidence_band", "claims"]
60
+ },
61
+ "required_fields": []
62
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "slug": "prior-art-hit",
3
+ "version": 1,
4
+ "extends": "Signal",
5
+ "domain": "patent-triage",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "source": {
11
+ "type": "string"
12
+ },
13
+ "url": {
14
+ "type": "string"
15
+ },
16
+ "title": {
17
+ "type": "string"
18
+ },
19
+ "snippet": {
20
+ "type": "string"
21
+ },
22
+ "publication_date": {
23
+ "type": "string"
24
+ },
25
+ "kind": {
26
+ "type": "string"
27
+ },
28
+ "relevance_score": {
29
+ "type": "number"
30
+ },
31
+ "verified": {
32
+ "type": "boolean"
33
+ },
34
+ "verification_method": {
35
+ "type": "string",
36
+ "enum": [
37
+ "fetch",
38
+ "snippet"
39
+ ]
40
+ },
41
+ "caveat": {
42
+ "type": "string"
43
+ }
44
+ }
45
+ },
46
+ "required_fields": [
47
+ "source",
48
+ "title"
49
+ ]
50
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "slug": "project-charter",
3
+ "version": 1,
4
+ "extends": "Plan",
5
+ "domain": "bootstrap",
6
+ "status": "active",
7
+ "description": "The charter for a coltrane-flavored project. Emitted by problem-definer at the discover→define seam. The charter governs which preseed template is unrolled, which behavioral primitives are project-default, and which standards the project ships with.",
8
+ "schema": {
9
+ "type": "object",
10
+ "properties": {
11
+ "id": { "type": "string" },
12
+ "name": { "type": "string" },
13
+ "use_case": {
14
+ "type": "string",
15
+ "enum": ["code-changes", "research-briefs", "operations", "mixed", "bare"]
16
+ },
17
+ "template": { "type": "string" },
18
+
19
+ "scope": {
20
+ "type": "string",
21
+ "description": "What the project will do."
22
+ },
23
+ "success_criteria": {
24
+ "type": "string",
25
+ "description": "How we will know it worked."
26
+ },
27
+ "non_goals": {
28
+ "type": "string",
29
+ "description": "What this project is explicitly NOT."
30
+ },
31
+
32
+ "preseed_agents": {
33
+ "type": "array",
34
+ "items": { "type": "string" },
35
+ "description": "Slugs of agents to ship in the scaffolded .coltrane/agents/."
36
+ },
37
+ "preseed_standards": {
38
+ "type": "array",
39
+ "items": { "type": "string" },
40
+ "description": "Slugs of standards to ship in .coltrane/standards/."
41
+ },
42
+ "preseed_skills": {
43
+ "type": "array",
44
+ "items": { "type": "string" },
45
+ "description": "Slugs of skills to ship in .coltrane/skills/."
46
+ },
47
+ "default_model_tier": {
48
+ "type": "string",
49
+ "enum": ["economy", "standard", "premium"],
50
+ "default": "standard"
51
+ },
52
+ "default_code_tool_access": {
53
+ "type": "string",
54
+ "enum": ["none", "read", "write", "full"],
55
+ "default": "read"
56
+ },
57
+
58
+ "outcome": {
59
+ "type": ["string", "null"],
60
+ "enum": [null, "completed", "partial", "refined", "aborted", "unverified"],
61
+ "description": "Set at DELIVER. unverified = outcome cannot be computed."
62
+ },
63
+ "outcome_at": {
64
+ "type": ["string", "null"],
65
+ "format": "date-time"
66
+ }
67
+ },
68
+ "required": ["id", "name", "use_case", "scope", "steps"]
69
+ },
70
+ "required_fields": []
71
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "slug": "provisional-draft",
3
+ "version": 1,
4
+ "extends": "Artifact",
5
+ "domain": "patent-triage",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "invention_id": {
11
+ "type": "string"
12
+ },
13
+ "markdown_text": {
14
+ "type": "string"
15
+ },
16
+ "sections": {
17
+ "type": "object"
18
+ },
19
+ "estimated_filing_cost_usd": {
20
+ "type": "number"
21
+ },
22
+ "recommended_next_step": {
23
+ "type": "string"
24
+ },
25
+ "caveat": {
26
+ "type": "string"
27
+ }
28
+ }
29
+ },
30
+ "required_fields": [
31
+ "markdown_text",
32
+ "validation_criteria"
33
+ ]
34
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "slug": "raw-note",
3
+ "version": 1,
4
+ "extends": "Signal",
5
+ "domain": "demo",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "text": {
11
+ "type": "string"
12
+ }
13
+ }
14
+ },
15
+ "required_fields": [
16
+ "text",
17
+ "source"
18
+ ]
19
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "slug": "repo-survey",
3
+ "version": 1,
4
+ "extends": "Signal",
5
+ "domain": "seeding",
6
+ "status": "active",
7
+ "description": "Survey-level snapshot of a single repo found while seeding from local work. Scope-bounded: signals only, no deep code read. Captures the SHAPE of the user's work at this repo without committing to mechanism.",
8
+ "schema": {
9
+ "type": "object",
10
+ "properties": {
11
+ "repo_path": { "type": "string", "description": "Absolute path to the repo on disk." },
12
+ "repo_name": { "type": "string", "description": "Basename of the repo directory." },
13
+ "primary_language": { "type": ["string", "null"], "description": "Inferred from file-extension distribution + manifest files. Null if mixed/unclear." },
14
+ "manifest_files": { "type": "array", "items": { "type": "string" }, "description": "Detected manifest files: package.json, pyproject.toml, Cargo.toml, go.mod, etc." },
15
+ "readme_h1": { "type": ["string", "null"], "description": "First H1 line of README (≤200 chars), if present." },
16
+ "readme_first_lines": { "type": ["string", "null"], "description": "First 200 chars of README body for context." },
17
+ "has_claude_md": { "type": "boolean", "description": "Whether the repo has a CLAUDE.md." },
18
+ "has_dot_claude": { "type": "boolean", "description": "Whether the repo has a .claude/ directory (subagents, commands, hooks)." },
19
+ "has_dot_coltrane": { "type": "boolean", "description": "Whether the repo has a .coltrane/ directory (already coltrane-flavored)." },
20
+ "commit_rhythm_30d": { "type": ["integer", "null"], "description": "Number of commits in the last 30 days." },
21
+ "last_commit_at": { "type": ["string", "null"], "format": "date-time" },
22
+ "top_directories": { "type": "array", "items": { "type": "string" }, "description": "Top-level subdirectory names (e.g. src/, tests/, docs/) — structural hint." },
23
+ "survey_completeness": { "type": "string", "enum": ["complete", "partial", "shallow"], "description": "Honest signal-bound: did we hit the scan limits or get clean reads on every channel?" }
24
+ },
25
+ "required": ["repo_path", "repo_name", "survey_completeness", "source"]
26
+ },
27
+ "required_fields": []
28
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "slug": "seeding-verdict",
3
+ "version": 1,
4
+ "extends": "Verdict",
5
+ "domain": "seeding",
6
+ "status": "active",
7
+ "description": "The DELIVER-phase verdict of seed-from-local-repos-v0. Names which drafts the user accepted, which they rejected, which they refined — and what landed in the active fleet.",
8
+ "schema": {
9
+ "type": "object",
10
+ "properties": {
11
+ "input_refs": { "type": "array", "items": { "type": "string" }, "description": "References to all draft-* outputs this verdict resolves." },
12
+ "repos_surveyed": { "type": "integer", "description": "Total repo-survey signals consumed." },
13
+ "patterns_extracted": { "type": "integer", "description": "Total pattern-extraction interpretations produced." },
14
+
15
+ "drafts_proposed": {
16
+ "type": "object",
17
+ "properties": {
18
+ "agents": { "type": "integer" },
19
+ "standards": { "type": "integer" },
20
+ "domain_types": { "type": "integer" }
21
+ }
22
+ },
23
+ "drafts_accepted": {
24
+ "type": "object",
25
+ "properties": {
26
+ "agents": { "type": "integer" },
27
+ "standards": { "type": "integer" },
28
+ "domain_types": { "type": "integer" }
29
+ }
30
+ },
31
+ "drafts_rejected": {
32
+ "type": "object",
33
+ "properties": {
34
+ "agents": { "type": "integer" },
35
+ "standards": { "type": "integer" },
36
+ "domain_types": { "type": "integer" }
37
+ }
38
+ },
39
+ "drafts_refined": {
40
+ "type": "object",
41
+ "description": "Drafts the user edited before accepting — re-proposed and adopted in modified form.",
42
+ "properties": {
43
+ "agents": { "type": "integer" },
44
+ "standards": { "type": "integer" },
45
+ "domain_types": { "type": "integer" }
46
+ }
47
+ },
48
+
49
+ "pass": { "type": "boolean", "description": "True if ≥1 draft of each kind (agent/standard/type) was accepted, OR the user explicitly approves the empty-result verdict." },
50
+ "checks": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "object",
54
+ "properties": {
55
+ "name": { "type": "string" },
56
+ "method": { "type": "string", "description": "How the check was performed. Required by the Verdict core invariant (#227/#228) — this item schema previously omitted it, so a maximally schema-valid seeding-verdict was unsealable." },
57
+ "passed": { "type": "boolean" },
58
+ "note": { "type": "string" }
59
+ },
60
+ "required": ["name", "method", "passed"]
61
+ }
62
+ },
63
+
64
+ "outcome": { "type": "string", "enum": ["completed", "partial", "refined", "aborted"] },
65
+ "next_step_hint": { "type": "string", "description": "What to run next." }
66
+ },
67
+ "required": ["input_refs", "repos_surveyed", "pass", "checks", "outcome"]
68
+ },
69
+ "required_fields": []
70
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "slug": "soft-verdict",
3
+ "version": 1,
4
+ "extends": "Interpretation",
5
+ "domain": "self_judge",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "criteria": {
11
+ "type": "object",
12
+ "properties": {
13
+ "parent_context_preservation": {
14
+ "type": "object",
15
+ "properties": {
16
+ "score": { "type": ["number", "null"] },
17
+ "rationale": { "type": "string" }
18
+ }
19
+ },
20
+ "child_stay_on_task": {
21
+ "type": "object",
22
+ "properties": {
23
+ "score": { "type": ["number", "null"] },
24
+ "rationale": { "type": "string" }
25
+ }
26
+ },
27
+ "inter_turn_coherence": {
28
+ "type": "object",
29
+ "properties": {
30
+ "score": { "type": ["number", "null"] },
31
+ "rationale": { "type": "string" }
32
+ }
33
+ },
34
+ "graceful_degradation": {
35
+ "type": "object",
36
+ "properties": {
37
+ "score": { "type": ["number", "null"] },
38
+ "rationale": { "type": "string" }
39
+ }
40
+ }
41
+ }
42
+ },
43
+ "overall_verdict_shade": {
44
+ "type": "string",
45
+ "enum": ["pass", "mixed", "fail", "not-judgeable"]
46
+ },
47
+ "top_insight": { "type": "string" }
48
+ }
49
+ },
50
+ "required_fields": [
51
+ "criteria",
52
+ "overall_verdict_shade",
53
+ "claims"
54
+ ]
55
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "slug": "summary",
3
+ "version": 1,
4
+ "extends": "Interpretation",
5
+ "domain": "demo",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "gist": {
11
+ "type": "string"
12
+ }
13
+ }
14
+ },
15
+ "required_fields": [
16
+ "gist",
17
+ "claims"
18
+ ]
19
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "slug": "triage-verdict",
3
+ "version": 1,
4
+ "extends": "Verdict",
5
+ "domain": "patent-triage",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "invention_id": {
11
+ "type": "string"
12
+ },
13
+ "recommended": {
14
+ "type": "string",
15
+ "enum": [
16
+ "FILEABLE",
17
+ "REFINE-FIRST",
18
+ "NOT-FILEABLE",
19
+ "INSUFFICIENT-EVIDENCE"
20
+ ]
21
+ },
22
+ "rationale": {
23
+ "type": "string"
24
+ },
25
+ "tests_passed": {
26
+ "type": "array"
27
+ },
28
+ "tests_failed": {
29
+ "type": "array"
30
+ },
31
+ "next_step": {
32
+ "type": "string"
33
+ },
34
+ "caveat": {
35
+ "type": "string"
36
+ },
37
+ "gated": {
38
+ "type": "boolean"
39
+ },
40
+ "gate_reasons": {
41
+ "type": "array"
42
+ },
43
+ "original_recommended": {
44
+ "type": "string"
45
+ },
46
+ "has_patent_coverage": {
47
+ "type": "boolean"
48
+ },
49
+ "survival_count": {
50
+ "type": "number"
51
+ }
52
+ }
53
+ },
54
+ "required_fields": [
55
+ "recommended",
56
+ "rationale",
57
+ "checks"
58
+ ]
59
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "slug": "user-flow-transcript",
3
+ "version": 1,
4
+ "extends": "Signal",
5
+ "domain": "self_judge",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "transcript_present": { "type": "boolean" },
11
+ "turn_count": { "type": "number" },
12
+ "turns": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "object",
16
+ "properties": {
17
+ "turn_idx": { "type": "number" },
18
+ "user_intent": { "type": "string" },
19
+ "claude_response": { "type": "string" },
20
+ "tool_calls": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "tool_name": { "type": "string" },
26
+ "args": { "type": ["object", "null"] }
27
+ }
28
+ }
29
+ },
30
+ "post_turn_genome_state": { "type": ["object", "null"] },
31
+ "malformed_input": { "type": "boolean" }
32
+ }
33
+ }
34
+ },
35
+ "notes": { "type": "string" }
36
+ }
37
+ },
38
+ "required_fields": [
39
+ "transcript_present",
40
+ "turns",
41
+ "source"
42
+ ]
43
+ }