@eir-labs/coltrane 0.8.1 → 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.
- package/dist/src/cli.d.ts +1 -1
- package/dist/src/committed_work.d.ts +206 -0
- package/dist/src/committed_work.js +0 -0
- package/dist/src/committed_work.js.map +1 -0
- package/dist/src/genome_schema.d.ts +502 -0
- package/dist/src/genome_schema.js +185 -0
- package/dist/src/genome_schema.js.map +1 -1
- package/dist/src/institution_enforcement.d.ts +9 -0
- package/dist/src/institution_enforcement.js +25 -0
- package/dist/src/institution_enforcement.js.map +1 -1
- package/dist/src/institution_loader.d.ts +21 -1
- package/dist/src/institution_loader.js +83 -1
- package/dist/src/institution_loader.js.map +1 -1
- package/dist/src/loader.d.ts +3 -2
- package/dist/src/loader.js +9 -2
- package/dist/src/loader.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +1 -1
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.
|
|
34
|
+
export declare const USAGE = "coltrane 0.9.0\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 work claim one queued gig from the org store and run it\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> --input @orig.json \\\n --approve approve=@verdict.json --as eugene\n";
|
|
35
35
|
interface Parsed {
|
|
36
36
|
cmd: string | undefined;
|
|
37
37
|
positional: string[];
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import type { AdmissibilityResult, LawCheck } from "./institution_enforcement.js";
|
|
2
|
+
import type { GigLedgerEntry } from "./ledger.js";
|
|
3
|
+
import { DrawSchema, ResourceSchema, BookingSchema, TourSchema } from "./genome_schema.js";
|
|
4
|
+
/** One draw against declared capacity. A draw is UNIT-TAGGED — a booking draws a VECTOR of these,
|
|
5
|
+
* never a scalar, and over-commitment is checked per unit with NO exchange rate anywhere. */
|
|
6
|
+
export interface Draw {
|
|
7
|
+
resource_slug: string;
|
|
8
|
+
unit: string;
|
|
9
|
+
quantity: number;
|
|
10
|
+
}
|
|
11
|
+
/** Capacity as its OWN class, separate from commitment. A holding of some `unit` by a `holder`
|
|
12
|
+
* (an organization slug), for a `period`, that either may or may not be lent across organizations.
|
|
13
|
+
* `unit` is a free string treated as OPAQUE and NON-CONVERTIBLE — the precedent is BudgetState.unit
|
|
14
|
+
* ("append-units", "NOT dollars, and nothing converts between the two").
|
|
15
|
+
*
|
|
16
|
+
* `period` IS THE DISCRETIZATION, and that is the load-bearing reason it is REQUIRED rather than
|
|
17
|
+
* optional. A Resource is not a running balance; it is *this much, over this window*. Capacity is
|
|
18
|
+
* derived once at declaration and stored as a commitment for that window — so a capacity that is
|
|
19
|
+
* continuous underneath (a decaying rate, a regenerating credit) is sampled at declaration and the
|
|
20
|
+
* decay governs the NEXT period's declaration, never a live read inside this one. That is what
|
|
21
|
+
* makes this a budget, and it is consistent with a layer whose whole subject is committed work:
|
|
22
|
+
* a commitment is a stored fact even when computed from something continuous.
|
|
23
|
+
*
|
|
24
|
+
* Two things break the moment `period` becomes optional, so do not make it so for the convenience
|
|
25
|
+
* of a one-off holding (give that a window and be done):
|
|
26
|
+
* 1. a periodless Resource is a RUNNING BALANCE, and `quantity` stops meaning a declared
|
|
27
|
+
* commitment and starts meaning a live level;
|
|
28
|
+
* 2. a live level is an ORACLE. `can_cover(X)` asked repeatedly binary-searches the exact
|
|
29
|
+
* balance, which is precisely what a banded, quantized projection exists to prevent. Your own
|
|
30
|
+
* holdings you know exactly and no oracle exists; the leak appears only across an institution
|
|
31
|
+
* wall — and that is why the band belongs on the exchange contract that crosses the wall,
|
|
32
|
+
* never on this shape, which is quantity-typed to its holder by design. */
|
|
33
|
+
export interface Resource {
|
|
34
|
+
slug: string;
|
|
35
|
+
holder: string;
|
|
36
|
+
quantity: number;
|
|
37
|
+
unit: string;
|
|
38
|
+
/** REQUIRED. See the note above: this field is the discretization, not a label. */
|
|
39
|
+
period: string;
|
|
40
|
+
transferable: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** One commitment within a Tour: the binding middle place, carrying the four load-bearing fields the
|
|
43
|
+
* lineage-record named plus its acceptance condition, its draws and its lifecycle. `amount` is
|
|
44
|
+
* OPTIONAL — Coltrane's own tour genuinely has commitments with no price ("ship the evaluator" is a
|
|
45
|
+
* real commitment with a real acceptance condition and no money numerator). */
|
|
46
|
+
export interface Booking {
|
|
47
|
+
slug: string;
|
|
48
|
+
aim: string;
|
|
49
|
+
amount?: number;
|
|
50
|
+
period: string;
|
|
51
|
+
/** The accountable OFFICE: an InstitutionalChair id (the office, not its incumbent). This is the
|
|
52
|
+
* DEBTOR of the commitment. */
|
|
53
|
+
accountable_office: string;
|
|
54
|
+
/** Reuses InstitutionalLawCheckSchema verbatim — decided by the same evaluate(). */
|
|
55
|
+
acceptance: LawCheck;
|
|
56
|
+
/** The vector of draws over declared resources. */
|
|
57
|
+
draws: Draw[];
|
|
58
|
+
/** The north stars this commitment serves (may be empty — that is a queryable fact, not an error). */
|
|
59
|
+
served_northstars: string[];
|
|
60
|
+
/** Whether the acceptance is a checkable rule or a stated norm. Reuses NormPairSchema's vocabulary
|
|
61
|
+
* — never a parallel tier enum. An UNMARKED, UNEVALUABLE commitment is refused. */
|
|
62
|
+
tier?: "declared" | "enforced";
|
|
63
|
+
/** The live lifecycle record — a party-constrained state machine, not a status field. */
|
|
64
|
+
lifecycle: CommitmentRecord;
|
|
65
|
+
/** In-repo join to the gigs that settled against this booking. NEVER an off-repo id. */
|
|
66
|
+
settled_gig_ids?: string[];
|
|
67
|
+
/** For a STAGED booking: the antecedent that must hold before it binds. Reuses LawCheck so there is
|
|
68
|
+
* ONE predicate form. Detach fires automatically when this holds (conditional → active). */
|
|
69
|
+
antecedent?: LawCheck;
|
|
70
|
+
}
|
|
71
|
+
/** The institution-visible aggregation. It REFERENCES an institution (the constraint whose laws
|
|
72
|
+
* govern it) and an organization (the accountable player) — it does NOT live inside InstitutionSchema,
|
|
73
|
+
* because institution, organization and committed work are three distinct things. All cross-refs are
|
|
74
|
+
* slugs, so the class depends on no other object at the type level. */
|
|
75
|
+
export interface Tour {
|
|
76
|
+
slug: string;
|
|
77
|
+
institution_slug: string;
|
|
78
|
+
org_slug: string;
|
|
79
|
+
/** The accountable office, an InstitutionalChair id — the VenueSchema.responsible_chair shape. */
|
|
80
|
+
responsible_chair: string;
|
|
81
|
+
period: string;
|
|
82
|
+
northstar_slugs: string[];
|
|
83
|
+
bookings: Booking[];
|
|
84
|
+
}
|
|
85
|
+
/** The two parties to a commitment. The debtor owes the consequent; the creditor holds the claim. */
|
|
86
|
+
export type CommitmentParty = "debtor" | "creditor";
|
|
87
|
+
/** The closed lifecycle state set. `cancelled` (debtor's act) and `released` (creditor's act) are
|
|
88
|
+
* DISTINCT members — the whole point of a state machine over a status field. */
|
|
89
|
+
export type CommitmentState = "conditional" | "active" | "pending" | "satisfied" | "violated" | "expired" | "cancelled" | "released";
|
|
90
|
+
/** The closed state set as data — for codomain-closure and distinctness assertions. */
|
|
91
|
+
export declare const COMMITMENT_STATES: readonly CommitmentState[];
|
|
92
|
+
/** The states in which a commitment is still LIVE — delegate and assign must keep the commitment in
|
|
93
|
+
* this set, and an undispatched booking is one whose state is still live with no settled gig. */
|
|
94
|
+
export declare const LIVE_STATES: ReadonlySet<CommitmentState>;
|
|
95
|
+
export type CommitmentOpKind = "create" | "detach" | "discharge" | "cancel" | "release" | "delegate" | "assign";
|
|
96
|
+
/** An operation on a commitment: what act, by which party, and (for delegate/assign) the substitute. */
|
|
97
|
+
export interface CommitmentOp {
|
|
98
|
+
kind: CommitmentOpKind;
|
|
99
|
+
/** Who is performing the act. `detach` is AUTOMATIC and carries no party actor. */
|
|
100
|
+
by?: CommitmentParty;
|
|
101
|
+
/** delegate substitutes the debtor; assign substitutes the creditor. */
|
|
102
|
+
substitute?: string;
|
|
103
|
+
}
|
|
104
|
+
/** One recorded operation — an append-only log entry, so Delegate's residual responsibility is
|
|
105
|
+
* RECORDED rather than overwritten by an in-place edit. */
|
|
106
|
+
export interface CommitmentOpEntry {
|
|
107
|
+
op: CommitmentOpKind;
|
|
108
|
+
by?: CommitmentParty;
|
|
109
|
+
/** For a delegate: the debtor that was substituted OUT and retains residual responsibility. */
|
|
110
|
+
residual_debtor?: string;
|
|
111
|
+
}
|
|
112
|
+
/** The live commitment record: its current state, its two parties, and its operation log. */
|
|
113
|
+
export interface CommitmentRecord {
|
|
114
|
+
state: CommitmentState;
|
|
115
|
+
/** The accountable office that owes the work. */
|
|
116
|
+
debtor: string;
|
|
117
|
+
/** The party the promise is made to (the institution/organization). */
|
|
118
|
+
creditor: string;
|
|
119
|
+
log: CommitmentOpEntry[];
|
|
120
|
+
}
|
|
121
|
+
/** A transition either succeeds with the next record, or is REFUSED with a stated reason (a party
|
|
122
|
+
* performing an act reserved to the other party; an operation illegal in the current state). A
|
|
123
|
+
* refusal is a decision, never a throw — a throw here is the unbuilt seam, distinguishable in test. */
|
|
124
|
+
export type CommitmentTransition = {
|
|
125
|
+
ok: true;
|
|
126
|
+
next: CommitmentRecord;
|
|
127
|
+
} | {
|
|
128
|
+
ok: false;
|
|
129
|
+
reason: string;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Apply one lifecycle operation under its party constraint. THE FIXED SEAM:
|
|
133
|
+
* - cancel → DEBTOR ONLY; a creditor's cancel is refused.
|
|
134
|
+
* - release → CREDITOR ONLY; a debtor's release is refused.
|
|
135
|
+
* - delegate→ substitutes the debtor, keeps the commitment LIVE, appends the residual debtor.
|
|
136
|
+
* - assign → substitutes the creditor, keeps the commitment LIVE.
|
|
137
|
+
* - detach → AUTOMATIC (no party); conditional → active once the antecedent holds.
|
|
138
|
+
* - discharge → the debtor delivers the consequent; active → satisfied.
|
|
139
|
+
* STUB: throws until implemented.
|
|
140
|
+
*/
|
|
141
|
+
export declare function applyCommitmentOp(rec: CommitmentRecord, op: CommitmentOp): CommitmentTransition;
|
|
142
|
+
/** A per-unit tally of a set of draws — the vector the over-commitment check sums over. Units are
|
|
143
|
+
* OPAQUE and NON-CONVERTIBLE, so each distinct unit is its own bucket; nothing offsets across them. */
|
|
144
|
+
export declare function tallyDrawsPerUnit(draws: readonly Draw[]): Map<string, number>;
|
|
145
|
+
/**
|
|
146
|
+
* Check every booking's draws in a tour against the declared resources, PER UNIT, with no exchange
|
|
147
|
+
* rate anywhere. Returns the SAME AdmissibilityResult shape. Refusals:
|
|
148
|
+
* - a draw naming an undeclared resource → DEAD_NAME;
|
|
149
|
+
* - a draw in a unit the holder does not hold → dead unit (no conversion to a held unit);
|
|
150
|
+
* - the sum of draws in a unit exceeding the holder's declared quantity → over-committed;
|
|
151
|
+
* - a draw on a NON-TRANSFERABLE holding held by an org other than the tour's accountable org.
|
|
152
|
+
* STUB: throws until implemented.
|
|
153
|
+
*/
|
|
154
|
+
export declare function checkTourCapacity(tour: Tour, resources: readonly Resource[]): AdmissibilityResult;
|
|
155
|
+
/** The document tour-admissibility consumes: the tour, the resources its draws name, and the genome
|
|
156
|
+
* slugs it resolves against (institution / chairs / northstars). */
|
|
157
|
+
export interface TourDocument {
|
|
158
|
+
tour: unknown;
|
|
159
|
+
resources?: readonly unknown[];
|
|
160
|
+
institution?: unknown;
|
|
161
|
+
chairs?: readonly unknown[];
|
|
162
|
+
northstars?: readonly unknown[];
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Refuse a tour document that claims more than it holds — the same shape as
|
|
166
|
+
* checkInstitutionAdmissibility, pure and explicitly-invoked, NOT wired into loadGenome. Collect-all,
|
|
167
|
+
* refuse-once. Refusals:
|
|
168
|
+
* - a booking whose acceptance does not evaluate over its declared inputs AND is not marked
|
|
169
|
+
* declared-tier (an unmarked, unevaluable commitment — silence must not pass for a commitment);
|
|
170
|
+
* - a draw against a resource the genome does not declare (a dead name, failing closed);
|
|
171
|
+
* - a cross-org draw on a non-transferable holding;
|
|
172
|
+
* - a per-unit over-commitment;
|
|
173
|
+
* - any institution / chair / northstar / resource slug the genome cannot resolve.
|
|
174
|
+
* STUB: throws until implemented.
|
|
175
|
+
*/
|
|
176
|
+
export declare function checkTourAdmissibility(doc: TourDocument): AdmissibilityResult;
|
|
177
|
+
/** Promised-versus-delivered for one booking. `committed` is the booking's amount (null when the
|
|
178
|
+
* booking carries none — that is "no numerator", NOT a second tier). `settled` is read FROM the
|
|
179
|
+
* ledger chain (sum of GigUsage.total_cost_usd over the booking's settled gigs). */
|
|
180
|
+
export interface Variance {
|
|
181
|
+
booking_slug: string;
|
|
182
|
+
committed: number | null;
|
|
183
|
+
settled: number;
|
|
184
|
+
/** committed - settled, or null when the booking carries no amount. */
|
|
185
|
+
variance: number | null;
|
|
186
|
+
has_numerator: boolean;
|
|
187
|
+
settled_gig_ids: readonly string[];
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Compute a booking's variance by READING the booking → gig → spend chain (never assembling it
|
|
191
|
+
* by hand): for each gig id the booking settled against, read its ledger entry's usage.total_cost_usd
|
|
192
|
+
* and sum.
|
|
193
|
+
*/
|
|
194
|
+
export declare function computeVariance(booking: Booking, ledger: readonly GigLedgerEntry[]): Variance;
|
|
195
|
+
/** Unpromised work: gig ids that no booking settled against. Allowed, but VISIBLE — a set difference
|
|
196
|
+
* of all gig ids minus every id any booking promised. */
|
|
197
|
+
export declare function unpromisedGigs(allGigIds: readonly string[], bookings: readonly Booking[]): string[];
|
|
198
|
+
/** Undispatched bookings: still-live commitments that settled against no gig — VISIBLE, not dropped.
|
|
199
|
+
* A booking already discharged/cancelled/released is not "undispatched", so the query keeps only the
|
|
200
|
+
* ones whose lifecycle is still live AND that carry no settled gig. */
|
|
201
|
+
export declare function undispatchedBookings(bookings: readonly Booking[]): Booking[];
|
|
202
|
+
/** Report A: north stars a tour names but no booking serves — directions nobody is funding. */
|
|
203
|
+
export declare function northstarsWithNoBooking(tour: Tour): string[];
|
|
204
|
+
/** Report B: bookings serving no north star — spend with no stated direction. */
|
|
205
|
+
export declare function bookingsServingNoNorthstar(tour: Tour): Booking[];
|
|
206
|
+
export { DrawSchema, ResourceSchema, BookingSchema, TourSchema };
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"committed_work.js","sourceRoot":"","sources":["../../src/committed_work.ts"],"names":[],"mappings":"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"}
|