@eir-labs/coltrane 0.24.1 → 0.24.2

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/src/cli.d.ts CHANGED
@@ -31,7 +31,7 @@ export interface CliIO {
31
31
  /** Injected for tests. Production reads stdin for `--input -`. */
32
32
  stdin?: () => string;
33
33
  }
34
- export declare const USAGE = "coltrane 0.24.1\n\n coltrane validate load the genome; exit non-zero on load errors\n coltrane dispatch <standard> run a standard\n coltrane monitor <gig-id> report a gig's progress\n coltrane logs <gig-id> per-chair logs for a gig\n coltrane abort <gig-id> stop a running gig\n coltrane trace <output-id> walk an output's provenance\n coltrane simulate <standard> cost/shape a standard without running it\n coltrane health engine + store health\n coltrane serve run the MCP server on stdio\n coltrane enqueue <standard> queue a gig on the LOCAL file queue (no store, no key)\n (env: COLTRANE_QUEUE_DIR \u2014 its absence is the whole\n difference between local and hosted)\n coltrane work claim one queued gig from the org store and run it\n coltrane work --check report whether this box's drain environment is configured\n and exit without claiming (0 ready, 1 not ready)\n (env: COLTRANE_STORE_URL, COLTRANE_STORE_ANON,\n COLTRANE_AGENT_TOKEN; results drain via\n COLTRANE_DRAIN_URL + COLTRANE_DRAIN_KEY;\n checkpoints under COLTRANE_WORKER_CHECKPOINTS,\n default ~/.coltrane/worker-checkpoints;\n exit 0 complete or parked, 1 failed, 3 queue empty)\n\nOptions\n --input <json|@file|-> dispatch payload; @file reads a file, - reads stdin\n --depth <skim|standard|deep> tighten the per-chair turn cap\n --budget <dollars> per-gig ceiling; the run stops when it is gone\n --reuse allow chair-level reuse of prior sealed outputs\n --resume <gig-id> continue a gig that died mid-pipeline\n --approve <role>=<json|@file> a human chair's verdict; repeat once per chair\n --as <name> who is approving; sealed as the verdict's author\n --wait block until the run finishes\n --follow poll until the gig reaches a terminal state\n --direction <upstream|downstream|both> for trace\n --json print the raw result to stdout\n --genome <path> genome root (default: $COLTRANE_GENOME or cwd)\n --help, --version\n\nA dispatch that reaches a chair a HUMAN holds parks: it names the waiting chair and exits 0,\nbecause a gig waiting on a person is not a failed gig. Approve it on the resume \u2014\n\n coltrane dispatch <standard> --resume <gig> \\\n --approve approve=@verdict.json --as eugene\n\n--input is NOT required on an approve-only resume: when every remaining chair is human the\ncheckpoint's recorded payload stands and the omission inherits it. If you DO pass --input it is\nchecked against the checkpoint, and a disagreement still refuses the resume.\n";
34
+ export declare const USAGE = "coltrane 0.24.2\n\n coltrane validate load the genome; exit non-zero on load errors\n coltrane dispatch <standard> run a standard\n coltrane monitor <gig-id> report a gig's progress\n coltrane logs <gig-id> per-chair logs for a gig\n coltrane abort <gig-id> stop a running gig\n coltrane trace <output-id> walk an output's provenance\n coltrane simulate <standard> cost/shape a standard without running it\n coltrane health engine + store health\n coltrane serve run the MCP server on stdio\n coltrane enqueue <standard> queue a gig on the LOCAL file queue (no store, no key)\n (env: COLTRANE_QUEUE_DIR \u2014 its absence is the whole\n difference between local and hosted)\n coltrane work claim one queued gig from the org store and run it\n coltrane work --check report whether this box's drain environment is configured\n and exit without claiming (0 ready, 1 not ready)\n (env: COLTRANE_STORE_URL, COLTRANE_STORE_ANON,\n COLTRANE_AGENT_TOKEN; results drain via\n COLTRANE_DRAIN_URL + COLTRANE_DRAIN_KEY;\n checkpoints under COLTRANE_WORKER_CHECKPOINTS,\n default ~/.coltrane/worker-checkpoints;\n exit 0 complete or parked, 1 failed, 3 queue empty)\n\nOptions\n --input <json|@file|-> dispatch payload; @file reads a file, - reads stdin\n --depth <skim|standard|deep> tighten the per-chair turn cap\n --budget <dollars> per-gig ceiling; the run stops when it is gone\n --reuse allow chair-level reuse of prior sealed outputs\n --resume <gig-id> continue a gig that died mid-pipeline\n --approve <role>=<json|@file> a human chair's verdict; repeat once per chair\n --as <name> who is approving; sealed as the verdict's author\n --wait block until the run finishes\n --follow poll until the gig reaches a terminal state\n --direction <upstream|downstream|both> for trace\n --json print the raw result to stdout\n --genome <path> genome root (default: $COLTRANE_GENOME or cwd)\n --help, --version\n\nA dispatch that reaches a chair a HUMAN holds parks: it names the waiting chair and exits 0,\nbecause a gig waiting on a person is not a failed gig. Approve it on the resume \u2014\n\n coltrane dispatch <standard> --resume <gig> \\\n --approve approve=@verdict.json --as eugene\n\n--input is NOT required on an approve-only resume: when every remaining chair is human the\ncheckpoint's recorded payload stands and the omission inherits it. If you DO pass --input it is\nchecked against the checkpoint, and a disagreement still refuses the resume.\n";
35
35
  interface Parsed {
36
36
  cmd: string | undefined;
37
37
  positional: string[];
@@ -1,5 +1,5 @@
1
1
  /** Engine semver. Keep in lockstep with package.json `version` (enforced by test). */
2
- export declare const COLTRANE_VERSION = "0.24.1";
2
+ export declare const COLTRANE_VERSION = "0.24.2";
3
3
  /**
4
4
  * The commit this engine checkout is sitting on, or null when it can't be determined.
5
5
  *
@@ -17,7 +17,7 @@ import { existsSync, readFileSync, statSync } from "node:fs";
17
17
  import { dirname, join, resolve } from "node:path";
18
18
  import { fileURLToPath } from "node:url";
19
19
  /** Engine semver. Keep in lockstep with package.json `version` (enforced by test). */
20
- export const COLTRANE_VERSION = "0.24.1";
20
+ export const COLTRANE_VERSION = "0.24.2";
21
21
  /**
22
22
  * The commit this engine checkout is sitting on, or null when it can't be determined.
23
23
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eir-labs/coltrane",
3
- "version": "0.24.1",
3
+ "version": "0.24.2",
4
4
  "description": "A methodology engine \u2014 a typed substrate for defining agents, composing multi-phase standards, dispatching gigs, and sealing every output to a content-addressed ledger. Ships as an MCP server.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -0,0 +1,58 @@
1
+ {
2
+ "slug": "deliberation-before-amendment-v1",
3
+ "domain": "spec-drafting",
4
+ "agent_slugs": [
5
+ "context-reader",
6
+ "spec-reviewer"
7
+ ],
8
+ "phases": [
9
+ {
10
+ "name": "read-proposal",
11
+ "chairs": [
12
+ {
13
+ "role": "read-proposal",
14
+ "agent_slug": "context-reader",
15
+ "depends_on": [],
16
+ "input_contract": [
17
+ "change-request"
18
+ ],
19
+ "output_contract": [
20
+ "change-context"
21
+ ],
22
+ "required_skills": []
23
+ }
24
+ ],
25
+ "intent": "A non-drafting seat frames the proposed amendment before any judgment falls on it. The reader opens the tree the change-request names — the law it would mend, the callsites and tests that bind it — and restates the proposal against that real surface as a change-context, each claim citing a file opened in this run. The reader frames and never judges: it does not decide whether the amendment is sound, does not rule it in or out, and writes no line of the standard. The wall between framing and judgment is the whole point of the two-phase shape; this seat holds the framing side of it."
26
+ },
27
+ {
28
+ "name": "deliberate",
29
+ "chairs": [
30
+ {
31
+ "role": "render-verdict",
32
+ "agent_slug": "spec-reviewer",
33
+ "depends_on": [
34
+ "read-proposal"
35
+ ],
36
+ "input_contract": [
37
+ "red-spec",
38
+ "change-context"
39
+ ],
40
+ "output_contract": [
41
+ "change-verdict"
42
+ ],
43
+ "required_skills": []
44
+ }
45
+ ],
46
+ "intent": "A non-drafting seat deliberates BEFORE the amendment proceeds. Reading the framed change-context and the red-spec, the reviewer judges the proposal on soundness (does it hold and validate on this engine tip), non-vacuity (does it change something real, not restate what already holds), and buildability (can the fix land against the laws as written). The reviewer judges and never drafts: it authors no standard and edits no law — it renders a change-verdict, passing only when all three hold and refusing with the specific hole named otherwise. Judgment lives downstream of framing so a proposal is read before it is ruled on, and the seat that rules never wrote the thing it rules."
47
+ }
48
+ ],
49
+ "input_types": [
50
+ "change-request",
51
+ "red-spec"
52
+ ],
53
+ "output_types": [
54
+ "change-verdict"
55
+ ],
56
+ "status": "active",
57
+ "description": "Deliberation before amendment: a proposed change to the institution's own law is framed by a non-drafting reader, then judged by a non-drafting reviewer, before the amendment proceeds. Two seams-separated seats. The read-proposal chair (context-reader, SENSE+INTERPRET) frames the change-request into a change-context grounded in the real tree — it frames and never judges. The deliberate chair (spec-reviewer, VERIFY) then judges soundness, non-vacuity, and buildability from that framing and the red-spec, sealing a change-verdict — it judges and never drafts. This is the thin-canon doctrine made structural: the reader frames, the reviewer judges, and neither drafts the amendment it deliberates on. The two-phase graph also mends the founding finding recorded in docs/founding/RUNBOOK.md: the seed's deliberation-before-amendment-v0 was a sole-VERIFY first phase, refused by the engine's NEEDS_TARGET rule (src/composition.ts) because a VERIFY seat with no upstream phase target cannot compose. Seating the SENSE+INTERPRET reader ahead of the VERIFY reviewer gives that reviewer its upstream target, so the standard loads green under `npx coltrane validate`."
58
+ }