@sentropic/track 0.2.2 → 0.3.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/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +47 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/ingest/contract.d.ts +48 -0
- package/dist/ingest/contract.d.ts.map +1 -0
- package/dist/ingest/contract.js +154 -0
- package/dist/ingest/contract.js.map +1 -0
- package/dist/ingest/ingest.d.ts +34 -0
- package/dist/ingest/ingest.d.ts.map +1 -0
- package/dist/ingest/ingest.js +187 -0
- package/dist/ingest/ingest.js.map +1 -0
- package/dist/ingest/map.d.ts +18 -0
- package/dist/ingest/map.d.ts.map +1 -0
- package/dist/ingest/map.js +149 -0
- package/dist/ingest/map.js.map +1 -0
- package/package.json +1 -1
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACzB;AAsID,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,CA0CxD"}
|
package/dist/cli/index.js
CHANGED
|
@@ -7,6 +7,8 @@ import { validate } from '../events/validate.js';
|
|
|
7
7
|
import { DomainError } from '../model/item.js';
|
|
8
8
|
import { formatRows } from '../report/format.js';
|
|
9
9
|
import { Track } from '../track.js';
|
|
10
|
+
import { BLOCKER_KINDS, DECISION_KINDS, DISPOSITIONS, EVIDENCE_KINDS, GATES, ITEM_KINDS, OUTCOMES, REALIZE_TARGETS, RESOLUTION_RULES, RESULTS, SPEC_TARGETS, } from '../ingest/contract.js';
|
|
11
|
+
import { ingest } from '../ingest/ingest.js';
|
|
10
12
|
import { TrackReader } from '../read/contract.js';
|
|
11
13
|
import { queryText, reportText } from '../read/commands.js';
|
|
12
14
|
import { VERSION } from '../version.js';
|
|
@@ -35,21 +37,14 @@ const USAGE = `usage: track <command>
|
|
|
35
37
|
query [--kind <k>] [--workspace <w>] [--bucket <AWAITED|DROPPED|DONE|TO-DO>] [--realization <r>] [--acceptance <a>] [--format json|text|md] [--commit <sha>]
|
|
36
38
|
validate [--commit <sha>]
|
|
37
39
|
branch import <BRANCH.md> [--commit <sha>]
|
|
40
|
+
ingest <file.jsonl> --workspace <w>
|
|
38
41
|
`;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
// Write enums (ITEM_KINDS, SPEC_TARGETS, REALIZE_TARGETS, DECISION_KINDS, OUTCOMES, GATES, DISPOSITIONS,
|
|
43
|
+
// BLOCKER_KINDS, RESOLUTION_RULES, EVIDENCE_KINDS, RESULTS) are sourced from the ingest contract — the
|
|
44
|
+
// SINGLE source, so the CLI's `oneOf` checks and the WorkEvent mapper cannot diverge on accepted values.
|
|
45
|
+
// (`linked-accepted` openness is DERIVED at report/query time vs `--commit`, v2.2a hybrid-A; see
|
|
46
|
+
// src/report/blocker-status.ts.) Only CLI/read-projection enums stay local:
|
|
42
47
|
const REALIZATIONS = ['to-do', 'in-progress', 'done', 'cancelled', 'rejected'];
|
|
43
|
-
const DECISION_KINDS = ['orientation', 'commitment'];
|
|
44
|
-
const OUTCOMES = ['go', 'no-go', 'deferred'];
|
|
45
|
-
const GATES = ['orientation', 'commitment'];
|
|
46
|
-
const DISPOSITIONS = ['required', 'skipped', 'not-applicable'];
|
|
47
|
-
const BLOCKER_KINDS = ['decision', 'dependency'];
|
|
48
|
-
// `linked-accepted` openness is DERIVED at report/query time vs `--commit` (v2.2a hybrid-A):
|
|
49
|
-
// the gate re-opens when the ref regresses. See src/report/blocker-status.ts.
|
|
50
|
-
const RESOLUTION_RULES = ['linked-done', 'linked-accepted', 'manual'];
|
|
51
|
-
const EVIDENCE_KINDS = ['unit', 'integration', 'e2e', 'manual'];
|
|
52
|
-
const RESULTS = ['pass', 'fail'];
|
|
53
48
|
const FROM_FORMATS = ['junit', 'json'];
|
|
54
49
|
const BUCKETS_ARG = ['AWAITED', 'DROPPED', 'DONE', 'TO-DO'];
|
|
55
50
|
// `n/a` is decision-only; `query` projects non-decision rows, so it would never match.
|
|
@@ -179,6 +174,8 @@ export function runCli(argv, io) {
|
|
|
179
174
|
return cmdValidate(rest, io);
|
|
180
175
|
case 'branch':
|
|
181
176
|
return cmdBranch(rest, io);
|
|
177
|
+
case 'ingest':
|
|
178
|
+
return cmdIngest(rest, io);
|
|
182
179
|
default:
|
|
183
180
|
io.err(USAGE);
|
|
184
181
|
return 2;
|
|
@@ -422,4 +419,41 @@ function cmdBranch(args, io) {
|
|
|
422
419
|
io.out(`Imported ${result.branchSlug}: ${result.created} created, ${result.updated} updated\n`);
|
|
423
420
|
return 0;
|
|
424
421
|
}
|
|
422
|
+
/**
|
|
423
|
+
* `track ingest <file.jsonl> --workspace <w>` — apply a neutral WorkEvent stream (M2b channel ①). A
|
|
424
|
+
* local-user channel pinned to one workspace; provenance is `transport:'import'` to keep batch ingest
|
|
425
|
+
* distinguishable from interactive CLI writes in the audit log. Same shape as `branch import` /
|
|
426
|
+
* `accept run --from`: a local-file adapter, not a network transport.
|
|
427
|
+
*/
|
|
428
|
+
function cmdIngest(args, io) {
|
|
429
|
+
const { positional, flags } = parseFlags(args);
|
|
430
|
+
const file = positional[0];
|
|
431
|
+
if (file === undefined) {
|
|
432
|
+
io.err('usage: track ingest <file.jsonl> --workspace <w>\n');
|
|
433
|
+
return 2;
|
|
434
|
+
}
|
|
435
|
+
const workspace = req(flags, 'workspace');
|
|
436
|
+
const raw = readFileSync(isAbsolute(file) ? file : join(io.cwd, file), 'utf8');
|
|
437
|
+
const events = [];
|
|
438
|
+
raw.split('\n').forEach((line, i) => {
|
|
439
|
+
const trimmed = line.trim();
|
|
440
|
+
if (trimmed.length === 0)
|
|
441
|
+
return;
|
|
442
|
+
try {
|
|
443
|
+
events.push(JSON.parse(trimmed));
|
|
444
|
+
}
|
|
445
|
+
catch {
|
|
446
|
+
throw new DomainError(`ingest: malformed JSON on line ${i + 1}`);
|
|
447
|
+
}
|
|
448
|
+
});
|
|
449
|
+
const ctx = {
|
|
450
|
+
by: cliActor(io.cwd),
|
|
451
|
+
workspace,
|
|
452
|
+
prov: { transport: 'import', proposed: false, auth: 'local-user' },
|
|
453
|
+
};
|
|
454
|
+
const result = ingest(events, ctx, store(io.cwd));
|
|
455
|
+
for (const id of result.ids)
|
|
456
|
+
io.out(`${id ?? '-'}\n`);
|
|
457
|
+
return 0;
|
|
458
|
+
}
|
|
425
459
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare const INGEST_CONTRACT_VERSION = "1.0.0";
|
|
2
|
+
export declare const ITEM_KINDS: readonly ["feature", "bug", "chore"];
|
|
3
|
+
export declare const SPEC_TARGETS: readonly ["to-specify", "specified"];
|
|
4
|
+
export declare const REALIZE_TARGETS: readonly ["in-progress", "done", "cancelled"];
|
|
5
|
+
export declare const DECISION_KINDS: readonly ["orientation", "commitment"];
|
|
6
|
+
export declare const OUTCOMES: readonly ["go", "no-go", "deferred"];
|
|
7
|
+
export declare const GATES: readonly ["orientation", "commitment"];
|
|
8
|
+
export declare const DISPOSITIONS: readonly ["required", "skipped", "not-applicable"];
|
|
9
|
+
export declare const BLOCKER_KINDS: readonly ["decision", "dependency"];
|
|
10
|
+
export declare const RESOLUTION_RULES: readonly ["linked-done", "linked-accepted", "manual"];
|
|
11
|
+
export declare const EVIDENCE_KINDS: readonly ["unit", "integration", "e2e", "manual"];
|
|
12
|
+
export declare const RESULTS: readonly ["pass", "fail"];
|
|
13
|
+
export declare const WORK_EVENT_KINDS: readonly ["item.create", "item.spec", "item.realize", "decision.create", "decision.dossier", "decision.outcome", "decision.disposition", "acceptance.criterion", "acceptance.link", "acceptance.run", "acceptance.waive", "priority.assess", "blocker.raise", "blocker.resolve"];
|
|
14
|
+
export type WorkEventKind = (typeof WORK_EVENT_KINDS)[number];
|
|
15
|
+
export interface WorkEvent {
|
|
16
|
+
/** Contract major. Unknown major ⇒ fail-closed reject; unknown minor degrades to "unknown kind". */
|
|
17
|
+
v: 1;
|
|
18
|
+
kind: WorkEventKind;
|
|
19
|
+
/** Validated per-kind by WORK_EVENT_SCHEMA (required + type + enum + NO unknown fields). */
|
|
20
|
+
payload: Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
/** The only allowed envelope keys — any other (actor/sponsor/proposed/…) is rejected fail-closed: the
|
|
23
|
+
* WHO and the trust level come from the ingest CONTEXT (channel), never per-event (v2.3b-DESIGN.md §2). */
|
|
24
|
+
export declare const WORK_EVENT_ENVELOPE_KEYS: readonly ["v", "kind", "payload"];
|
|
25
|
+
export type FieldType = 'string' | 'number' | 'string[]' | 'object';
|
|
26
|
+
export interface FieldSpec {
|
|
27
|
+
type: FieldType;
|
|
28
|
+
required: boolean;
|
|
29
|
+
/** Allowed values for a string field (else any string). */
|
|
30
|
+
enum?: readonly string[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* How a kind settles state — drives the binding gate in `ingest` (v2.3b-2):
|
|
34
|
+
* - `never` non-binding (creation/preparation)
|
|
35
|
+
* - `always` binding — requires `auth ∈ {local-user, signed}`
|
|
36
|
+
* - `realize-terminal` binding iff `payload.to ∈ {done, cancelled}` (a false `done` is a false-green)
|
|
37
|
+
* - `evidence` machine evidence (a CI run) — gated like binding on an unauthenticated channel
|
|
38
|
+
* (which denies all settling writes), allowed on local-user/signed
|
|
39
|
+
*/
|
|
40
|
+
export type Settles = 'never' | 'always' | 'realize-terminal' | 'evidence';
|
|
41
|
+
export interface KindSchema {
|
|
42
|
+
/** The Track facade method this kind maps to (1:1). */
|
|
43
|
+
method: string;
|
|
44
|
+
settles: Settles;
|
|
45
|
+
fields: Record<string, FieldSpec>;
|
|
46
|
+
}
|
|
47
|
+
export declare const WORK_EVENT_SCHEMA: Record<WorkEventKind, KindSchema>;
|
|
48
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/ingest/contract.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,uBAAuB,UAAU,CAAA;AAG9C,eAAO,MAAM,UAAU,sCAAuC,CAAA;AAC9D,eAAO,MAAM,YAAY,sCAAuC,CAAA;AAChE,eAAO,MAAM,eAAe,+CAAgD,CAAA;AAC5E,eAAO,MAAM,cAAc,wCAAyC,CAAA;AACpE,eAAO,MAAM,QAAQ,sCAAuC,CAAA;AAC5D,eAAO,MAAM,KAAK,wCAAyC,CAAA;AAC3D,eAAO,MAAM,YAAY,oDAAqD,CAAA;AAC9E,eAAO,MAAM,aAAa,qCAAsC,CAAA;AAChE,eAAO,MAAM,gBAAgB,uDAAwD,CAAA;AACrF,eAAO,MAAM,cAAc,mDAAoD,CAAA;AAC/E,eAAO,MAAM,OAAO,2BAA4B,CAAA;AAGhD,eAAO,MAAM,gBAAgB,kRAenB,CAAA;AACV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D,MAAM,WAAW,SAAS;IACxB,oGAAoG;IACpG,CAAC,EAAE,CAAC,CAAA;IACJ,IAAI,EAAE,aAAa,CAAA;IACnB,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;4GAC4G;AAC5G,eAAO,MAAM,wBAAwB,mCAAoC,CAAA;AAGzE,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEnE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,kBAAkB,GAAG,UAAU,CAAA;AAE1E,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAClC;AAMD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,CA+G/D,CAAA"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// Lot v2.3b-1 — the neutral `WorkEvent` ingest contract (M2b write seam, channel ①).
|
|
2
|
+
//
|
|
3
|
+
// A WorkEvent is a transport-agnostic envelope: it carries the WHAT (kind + payload); the WHO
|
|
4
|
+
// (by/workspace/prov/capability) comes from the ingest CONTEXT, never the event (see v2.3b-DESIGN.md §2).
|
|
5
|
+
// One WorkEvent ⇒ one Track command. This module is the SINGLE SOURCE of the write enums (so the CLI's
|
|
6
|
+
// `oneOf` checks and the mapper cannot diverge on accepted values) and of the per-kind payload schema.
|
|
7
|
+
export const INGEST_CONTRACT_VERSION = '1.0.0';
|
|
8
|
+
// --- write enums (shared with src/cli/index.ts) ------------------------------------------------------
|
|
9
|
+
export const ITEM_KINDS = ['feature', 'bug', 'chore'];
|
|
10
|
+
export const SPEC_TARGETS = ['to-specify', 'specified'];
|
|
11
|
+
export const REALIZE_TARGETS = ['in-progress', 'done', 'cancelled'];
|
|
12
|
+
export const DECISION_KINDS = ['orientation', 'commitment'];
|
|
13
|
+
export const OUTCOMES = ['go', 'no-go', 'deferred'];
|
|
14
|
+
export const GATES = ['orientation', 'commitment'];
|
|
15
|
+
export const DISPOSITIONS = ['required', 'skipped', 'not-applicable'];
|
|
16
|
+
export const BLOCKER_KINDS = ['decision', 'dependency'];
|
|
17
|
+
export const RESOLUTION_RULES = ['linked-done', 'linked-accepted', 'manual'];
|
|
18
|
+
export const EVIDENCE_KINDS = ['unit', 'integration', 'e2e', 'manual'];
|
|
19
|
+
export const RESULTS = ['pass', 'fail'];
|
|
20
|
+
// --- kinds -------------------------------------------------------------------------------------------
|
|
21
|
+
export const WORK_EVENT_KINDS = [
|
|
22
|
+
'item.create',
|
|
23
|
+
'item.spec',
|
|
24
|
+
'item.realize',
|
|
25
|
+
'decision.create',
|
|
26
|
+
'decision.dossier',
|
|
27
|
+
'decision.outcome',
|
|
28
|
+
'decision.disposition',
|
|
29
|
+
'acceptance.criterion',
|
|
30
|
+
'acceptance.link',
|
|
31
|
+
'acceptance.run',
|
|
32
|
+
'acceptance.waive',
|
|
33
|
+
'priority.assess',
|
|
34
|
+
'blocker.raise',
|
|
35
|
+
'blocker.resolve',
|
|
36
|
+
];
|
|
37
|
+
/** The only allowed envelope keys — any other (actor/sponsor/proposed/…) is rejected fail-closed: the
|
|
38
|
+
* WHO and the trust level come from the ingest CONTEXT (channel), never per-event (v2.3b-DESIGN.md §2). */
|
|
39
|
+
export const WORK_EVENT_ENVELOPE_KEYS = ['v', 'kind', 'payload'];
|
|
40
|
+
const str = (required, e) => e ? { type: 'string', required, enum: e } : { type: 'string', required };
|
|
41
|
+
const num = (required) => ({ type: 'number', required });
|
|
42
|
+
export const WORK_EVENT_SCHEMA = {
|
|
43
|
+
'item.create': {
|
|
44
|
+
method: 'createItem',
|
|
45
|
+
settles: 'never',
|
|
46
|
+
fields: {
|
|
47
|
+
kind: str(true, ITEM_KINDS),
|
|
48
|
+
title: str(true),
|
|
49
|
+
workspace: str(true),
|
|
50
|
+
parentId: str(false),
|
|
51
|
+
body: str(false),
|
|
52
|
+
sourceKey: str(false),
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
'item.spec': {
|
|
56
|
+
method: 'setSpec',
|
|
57
|
+
settles: 'never',
|
|
58
|
+
fields: { itemId: str(true), to: str(true, SPEC_TARGETS) },
|
|
59
|
+
},
|
|
60
|
+
'item.realize': {
|
|
61
|
+
method: 'setRealization',
|
|
62
|
+
settles: 'realize-terminal',
|
|
63
|
+
fields: { itemId: str(true), to: str(true, REALIZE_TARGETS) },
|
|
64
|
+
},
|
|
65
|
+
'decision.create': {
|
|
66
|
+
method: 'createDecision',
|
|
67
|
+
settles: 'never',
|
|
68
|
+
fields: {
|
|
69
|
+
decisionKind: str(true, DECISION_KINDS),
|
|
70
|
+
title: str(true),
|
|
71
|
+
workspace: str(true),
|
|
72
|
+
targets: { type: 'string[]', required: true },
|
|
73
|
+
dossier: { type: 'object', required: true },
|
|
74
|
+
parentId: str(false),
|
|
75
|
+
body: str(false),
|
|
76
|
+
sourceKey: str(false),
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
'decision.dossier': {
|
|
80
|
+
method: 'reviseDossier',
|
|
81
|
+
settles: 'never',
|
|
82
|
+
fields: { decisionId: str(true), dossier: { type: 'object', required: true } },
|
|
83
|
+
},
|
|
84
|
+
'decision.outcome': {
|
|
85
|
+
method: 'setOutcome',
|
|
86
|
+
settles: 'always',
|
|
87
|
+
fields: { decisionId: str(true), to: str(true, OUTCOMES) },
|
|
88
|
+
},
|
|
89
|
+
'decision.disposition': {
|
|
90
|
+
method: 'setDisposition',
|
|
91
|
+
settles: 'never',
|
|
92
|
+
fields: {
|
|
93
|
+
itemId: str(true),
|
|
94
|
+
gate: str(true, GATES),
|
|
95
|
+
disposition: str(true, DISPOSITIONS),
|
|
96
|
+
reason: str(false),
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
'acceptance.criterion': {
|
|
100
|
+
method: 'addCriterion',
|
|
101
|
+
settles: 'never',
|
|
102
|
+
fields: { itemId: str(true), statement: str(true) },
|
|
103
|
+
},
|
|
104
|
+
'acceptance.link': {
|
|
105
|
+
method: 'linkEvidence',
|
|
106
|
+
settles: 'never',
|
|
107
|
+
fields: { criterionId: str(true), kind: str(true, EVIDENCE_KINDS), locator: str(true) },
|
|
108
|
+
},
|
|
109
|
+
'acceptance.run': {
|
|
110
|
+
method: 'recordRun',
|
|
111
|
+
settles: 'evidence',
|
|
112
|
+
fields: {
|
|
113
|
+
evidenceId: str(true),
|
|
114
|
+
commit: str(true),
|
|
115
|
+
env: str(true),
|
|
116
|
+
runner: str(true),
|
|
117
|
+
result: str(true, RESULTS),
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
'acceptance.waive': {
|
|
121
|
+
method: 'waive',
|
|
122
|
+
settles: 'always',
|
|
123
|
+
fields: { criterionId: str(true), reason: str(true) },
|
|
124
|
+
},
|
|
125
|
+
'priority.assess': {
|
|
126
|
+
method: 'assessPriority',
|
|
127
|
+
settles: 'never',
|
|
128
|
+
fields: {
|
|
129
|
+
itemId: str(true),
|
|
130
|
+
userBusinessValue: num(true),
|
|
131
|
+
timeCriticality: num(true),
|
|
132
|
+
riskReductionOpportunityEnablement: num(true),
|
|
133
|
+
jobSize: num(true),
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
'blocker.raise': {
|
|
137
|
+
method: 'openBlocker',
|
|
138
|
+
settles: 'never',
|
|
139
|
+
fields: {
|
|
140
|
+
targetId: str(true),
|
|
141
|
+
kind: str(true, BLOCKER_KINDS),
|
|
142
|
+
ref: str(true),
|
|
143
|
+
reason: str(false),
|
|
144
|
+
resolutionRule: str(false, RESOLUTION_RULES),
|
|
145
|
+
owner: str(false),
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
'blocker.resolve': {
|
|
149
|
+
method: 'resolveBlocker',
|
|
150
|
+
settles: 'always',
|
|
151
|
+
fields: { blockerId: str(true) },
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/ingest/contract.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,EAAE;AACF,8FAA8F;AAC9F,0GAA0G;AAC1G,uGAAuG;AACvG,uGAAuG;AAEvG,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAE9C,wGAAwG;AACxG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAU,CAAA;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,WAAW,CAAU,CAAA;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAU,CAAA;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,YAAY,CAAU,CAAA;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAU,CAAA;AAC5D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,YAAY,CAAU,CAAA;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAU,CAAA;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,YAAY,CAAU,CAAA;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAU,CAAA;AACrF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAA;AAC/E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAA;AAEhD,wGAAwG;AACxG,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa;IACb,WAAW;IACX,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;CACT,CAAA;AAWV;4GAC4G;AAC5G,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAU,CAAA;AA6BzE,MAAM,GAAG,GAAG,CAAC,QAAiB,EAAE,CAAqB,EAAa,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;AAC1E,MAAM,GAAG,GAAG,CAAC,QAAiB,EAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAClE,aAAa,EAAE;QACb,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;YAC3B,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;YAChB,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC;YAChB,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;SACtB;KACF;IACD,WAAW,EAAE;QACX,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;KAC3D;IACD,cAAc,EAAE;QACd,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE;KAC9D;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE;YACN,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC;YACvC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;YAChB,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC3C,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC;YAChB,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;SACtB;KACF;IACD,kBAAkB,EAAE;QAClB,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;KAC/E;IACD,kBAAkB,EAAE;QAClB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;KAC3D;IACD,sBAAsB,EAAE;QACtB,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE;YACN,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;YACtB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;YACpC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;SACnB;KACF;IACD,sBAAsB,EAAE;QACtB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;KACpD;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;KACxF;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE;YACN,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC;YACrB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;YACjB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;SAC3B;KACF;IACD,kBAAkB,EAAE;QAClB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;KACtD;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE;YACN,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;YACjB,iBAAiB,EAAE,GAAG,CAAC,IAAI,CAAC;YAC5B,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC;YAC1B,kCAAkC,EAAE,GAAG,CAAC,IAAI,CAAC;YAC7C,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;SACnB;KACF;IACD,eAAe,EAAE;QACf,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE;YACN,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC;YAC9B,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;YAClB,cAAc,EAAE,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC;YAC5C,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;SAClB;KACF;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;KACjC;CACF,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ActorId, Provenance, Ulid } from '../events/types.js';
|
|
2
|
+
import type { EventStore } from '../events/store.js';
|
|
3
|
+
import type { WorkEvent, WorkEventKind } from './contract.js';
|
|
4
|
+
export interface IngestContext {
|
|
5
|
+
/** Actor recorded as `by`, fixed for the channel (CLI: cliActor; M3 HTTP: verified principal). */
|
|
6
|
+
by: ActorId;
|
|
7
|
+
/** The pinned workspace — containment is verified against folded state. */
|
|
8
|
+
workspace: string;
|
|
9
|
+
/** Provenance stamped on every write (its `auth` gates binding kinds). */
|
|
10
|
+
prov: Provenance;
|
|
11
|
+
/** Capability allowlist of permitted kinds; default = all. */
|
|
12
|
+
allowedKinds?: ReadonlySet<WorkEventKind>;
|
|
13
|
+
now?: () => string;
|
|
14
|
+
newId?: () => Ulid;
|
|
15
|
+
}
|
|
16
|
+
export interface IngestResult {
|
|
17
|
+
/** Assigned id per event (null for a non-creating kind), in input order. */
|
|
18
|
+
ids: Array<string | null>;
|
|
19
|
+
count: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Apply a WorkEvent stream to the store under channel authorization. Each event maps 1:1 to a Track
|
|
23
|
+
* command (its own locked, atomic append).
|
|
24
|
+
*
|
|
25
|
+
* ⚠️ AT-LEAST-ONCE, NON-ATOMIC (M2b). The loop has no batch transaction: if event k throws
|
|
26
|
+
* (Ingest/DomainError), events 1..k-1 are already committed. And re-ingesting re-applies create kinds
|
|
27
|
+
* (no `sourceKey` dedup — only `importBranch` dedups), so a retry after a partial/timed-out batch
|
|
28
|
+
* DUPLICATES every already-applied create. Safe for a human running `track ingest` and reviewing the
|
|
29
|
+
* result; a RETRYING consumer (CI/harness) MUST dedup upstream. Do NOT wire an automated-retry M3
|
|
30
|
+
* channel onto this without first implementing idempotency (the reserved envelope key, or sourceKey-based
|
|
31
|
+
* create dedup).
|
|
32
|
+
*/
|
|
33
|
+
export declare function ingest(events: readonly WorkEvent[], ctx: IngestContext, store: EventStore): IngestResult;
|
|
34
|
+
//# sourceMappingURL=ingest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/ingest/ingest.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAG7D,MAAM,WAAW,aAAa;IAC5B,kGAAkG;IAClG,EAAE,EAAE,OAAO,CAAA;IACX,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAA;IAChB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACzC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAgKD;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,YAAY,CAcxG"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
// Lot v2.3b-2 — apply a neutral WorkEvent stream through the Track facade, under channel-bound
|
|
2
|
+
// authorization. The WHO/trust come from the IngestContext (fixed when the channel opens), never the
|
|
3
|
+
// event. Two gates run before every apply, against FRESHLY FOLDED state:
|
|
4
|
+
// 1. workspace containment — the affected aggregate's workspace must equal ctx.workspace. For existing
|
|
5
|
+
// aggregates this is resolved from folded state (payload carries no workspace for them); a channel
|
|
6
|
+
// pinned to W can therefore never mutate workspace V. This is the load-bearing security property.
|
|
7
|
+
// 2. binding gate — a settling write (decision.outcome, waive, realize→done/cancelled, blocker.resolve,
|
|
8
|
+
// acceptance.run) is allowed only on an authenticated channel (auth ∈ {local-user, signed}); an
|
|
9
|
+
// unauthenticated channel may only create/prepare.
|
|
10
|
+
// State is re-folded each iteration, so an id created earlier in the same batch resolves to ctx.workspace.
|
|
11
|
+
import { Track } from '../track.js';
|
|
12
|
+
import { IngestError, mapWorkEvent } from './map.js';
|
|
13
|
+
// Allowlist (not `!== 'unauthenticated'`, which would admit any future enum value). `'signed'` is
|
|
14
|
+
// pre-listed so M3 adding it to Provenance['auth'] unlocks binding with no change here; today the only
|
|
15
|
+
// valid authenticated value is 'local-user'.
|
|
16
|
+
const BINDING_AUTH = new Set(['local-user', 'signed']);
|
|
17
|
+
/** Does this command settle state (⇒ requires an authenticated channel)? */
|
|
18
|
+
function isBinding(cmd) {
|
|
19
|
+
switch (cmd.settles) {
|
|
20
|
+
case 'never':
|
|
21
|
+
return false;
|
|
22
|
+
case 'always':
|
|
23
|
+
case 'evidence':
|
|
24
|
+
return true;
|
|
25
|
+
case 'realize-terminal': {
|
|
26
|
+
const to = cmd.payload['to'];
|
|
27
|
+
return to === 'done' || to === 'cancelled';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The workspace of the aggregate this command affects. `create` kinds carry it in the payload; all
|
|
33
|
+
* others address a pre-existing aggregate whose workspace is resolved from folded state (undefined if the
|
|
34
|
+
* aggregate does not exist — the Track method will then throw its own domain error, so no write happens).
|
|
35
|
+
*/
|
|
36
|
+
function resolveWorkspace(cmd, state) {
|
|
37
|
+
const p = cmd.payload;
|
|
38
|
+
const item = (id) => state.items.get(id)?.workspace;
|
|
39
|
+
switch (cmd.kind) {
|
|
40
|
+
case 'item.create':
|
|
41
|
+
case 'decision.create':
|
|
42
|
+
return { create: true, workspace: p['workspace'] };
|
|
43
|
+
case 'item.realize':
|
|
44
|
+
// setRealization resolves items ∪ decisions (a decision has a prep/realization axis); resolving
|
|
45
|
+
// only against items would leave a foreign-workspace DECISION reachable — a containment bypass.
|
|
46
|
+
return { create: false, workspace: item(p['itemId']) ?? state.decisions.get(p['itemId'])?.workspace };
|
|
47
|
+
case 'item.spec':
|
|
48
|
+
case 'acceptance.criterion':
|
|
49
|
+
case 'priority.assess':
|
|
50
|
+
case 'decision.disposition':
|
|
51
|
+
return { create: false, workspace: item(p['itemId']) };
|
|
52
|
+
case 'decision.outcome':
|
|
53
|
+
case 'decision.dossier':
|
|
54
|
+
return { create: false, workspace: state.decisions.get(p['decisionId'])?.workspace };
|
|
55
|
+
case 'acceptance.link':
|
|
56
|
+
case 'acceptance.waive': {
|
|
57
|
+
const crit = state.criteria.get(p['criterionId']);
|
|
58
|
+
return { create: false, workspace: crit ? item(crit.itemId) : undefined };
|
|
59
|
+
}
|
|
60
|
+
case 'acceptance.run': {
|
|
61
|
+
const ev = state.evidence.get(p['evidenceId']);
|
|
62
|
+
const crit = ev ? state.criteria.get(ev.criterionId) : undefined;
|
|
63
|
+
return { create: false, workspace: crit ? item(crit.itemId) : undefined };
|
|
64
|
+
}
|
|
65
|
+
case 'blocker.raise':
|
|
66
|
+
return { create: false, workspace: item(p['targetId']) };
|
|
67
|
+
case 'blocker.resolve': {
|
|
68
|
+
const b = state.blockers.get(p['blockerId']);
|
|
69
|
+
return { create: false, workspace: b ? item(b.targetId) : undefined };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Workspaces of the OTHER aggregates a command affects beyond its primary target. A decision opens a
|
|
75
|
+
* blocker on each of its targets (at create) and resolves/`rejected`-flips them (at outcome), so those
|
|
76
|
+
* target items are mutated too — each must be in the channel's workspace, or a W-pinned channel could
|
|
77
|
+
* reach a V-item by targeting it.
|
|
78
|
+
*/
|
|
79
|
+
function affectedTargetWorkspaces(cmd, state) {
|
|
80
|
+
const wsOf = (id) => state.items.get(id)?.workspace;
|
|
81
|
+
switch (cmd.kind) {
|
|
82
|
+
case 'decision.create':
|
|
83
|
+
return cmd.payload['targets'].map((t) => wsOf(t));
|
|
84
|
+
case 'decision.outcome': {
|
|
85
|
+
const dec = state.decisions.get(cmd.payload['decisionId']);
|
|
86
|
+
return dec ? dec.targets.map((t) => wsOf(t)) : [];
|
|
87
|
+
}
|
|
88
|
+
default:
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** Channel authorization: capability allowlist, workspace containment, binding-trust. Throws IngestError. */
|
|
93
|
+
function authorize(cmd, ctx, state) {
|
|
94
|
+
if (ctx.allowedKinds && !ctx.allowedKinds.has(cmd.kind)) {
|
|
95
|
+
throw new IngestError(`kind "${cmd.kind}" is not permitted by this channel's capability`);
|
|
96
|
+
}
|
|
97
|
+
const ws = resolveWorkspace(cmd, state);
|
|
98
|
+
if (ws.create) {
|
|
99
|
+
if (ws.workspace !== ctx.workspace) {
|
|
100
|
+
throw new IngestError(`${cmd.kind}: payload.workspace "${String(ws.workspace)}" must equal the channel workspace "${ctx.workspace}"`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else if (ws.workspace !== undefined && ws.workspace !== ctx.workspace) {
|
|
104
|
+
throw new IngestError(`${cmd.kind}: target belongs to workspace "${ws.workspace}", not the channel workspace "${ctx.workspace}"`);
|
|
105
|
+
}
|
|
106
|
+
// Every additionally-affected target (a decision's targets) must also be contained.
|
|
107
|
+
for (const tw of affectedTargetWorkspaces(cmd, state)) {
|
|
108
|
+
if (tw !== undefined && tw !== ctx.workspace) {
|
|
109
|
+
throw new IngestError(`${cmd.kind}: affects an aggregate in workspace "${tw}", not the channel workspace "${ctx.workspace}"`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (isBinding(cmd) && !BINDING_AUTH.has(ctx.prov.auth)) {
|
|
113
|
+
throw new IngestError(`${cmd.kind} is a binding write and requires an authenticated channel (auth="${ctx.prov.auth}")`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/** Typed dispatch to the Track facade. Args were validated/normalized by `mapWorkEvent`. Returns an
|
|
117
|
+
* assigned id for the creating kinds, else undefined. */
|
|
118
|
+
function applyCommand(track, cmd) {
|
|
119
|
+
const a = cmd.args;
|
|
120
|
+
switch (cmd.kind) {
|
|
121
|
+
case 'item.create':
|
|
122
|
+
return track.createItem(a[0]);
|
|
123
|
+
case 'item.spec':
|
|
124
|
+
track.setSpec(a[0], a[1]);
|
|
125
|
+
return undefined;
|
|
126
|
+
case 'item.realize':
|
|
127
|
+
track.setRealization(a[0], a[1]);
|
|
128
|
+
return undefined;
|
|
129
|
+
case 'decision.create':
|
|
130
|
+
return track.createDecision(a[0]);
|
|
131
|
+
case 'decision.dossier':
|
|
132
|
+
track.reviseDossier(a[0], a[1]);
|
|
133
|
+
return undefined;
|
|
134
|
+
case 'decision.outcome':
|
|
135
|
+
track.setOutcome(a[0], a[1]);
|
|
136
|
+
return undefined;
|
|
137
|
+
case 'decision.disposition':
|
|
138
|
+
track.setDisposition(a[0], a[1], a[2], a[3]);
|
|
139
|
+
return undefined;
|
|
140
|
+
case 'acceptance.criterion':
|
|
141
|
+
return track.addCriterion(a[0], a[1]);
|
|
142
|
+
case 'acceptance.link':
|
|
143
|
+
return track.linkEvidence(a[0], a[1], a[2]);
|
|
144
|
+
case 'acceptance.run':
|
|
145
|
+
track.recordRun(a[0], a[1]);
|
|
146
|
+
return undefined;
|
|
147
|
+
case 'acceptance.waive':
|
|
148
|
+
track.waive(a[0], a[1]);
|
|
149
|
+
return undefined;
|
|
150
|
+
case 'priority.assess':
|
|
151
|
+
track.assessPriority(a[0], a[1]);
|
|
152
|
+
return undefined;
|
|
153
|
+
case 'blocker.raise':
|
|
154
|
+
return track.openBlocker(a[0]);
|
|
155
|
+
case 'blocker.resolve':
|
|
156
|
+
track.resolveBlocker(a[0]);
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Apply a WorkEvent stream to the store under channel authorization. Each event maps 1:1 to a Track
|
|
162
|
+
* command (its own locked, atomic append).
|
|
163
|
+
*
|
|
164
|
+
* ⚠️ AT-LEAST-ONCE, NON-ATOMIC (M2b). The loop has no batch transaction: if event k throws
|
|
165
|
+
* (Ingest/DomainError), events 1..k-1 are already committed. And re-ingesting re-applies create kinds
|
|
166
|
+
* (no `sourceKey` dedup — only `importBranch` dedups), so a retry after a partial/timed-out batch
|
|
167
|
+
* DUPLICATES every already-applied create. Safe for a human running `track ingest` and reviewing the
|
|
168
|
+
* result; a RETRYING consumer (CI/harness) MUST dedup upstream. Do NOT wire an automated-retry M3
|
|
169
|
+
* channel onto this without first implementing idempotency (the reserved envelope key, or sourceKey-based
|
|
170
|
+
* create dedup).
|
|
171
|
+
*/
|
|
172
|
+
export function ingest(events, ctx, store) {
|
|
173
|
+
const track = new Track(store, {
|
|
174
|
+
by: ctx.by,
|
|
175
|
+
prov: ctx.prov,
|
|
176
|
+
...(ctx.now !== undefined ? { now: ctx.now } : {}),
|
|
177
|
+
...(ctx.newId !== undefined ? { newId: ctx.newId } : {}),
|
|
178
|
+
});
|
|
179
|
+
const ids = [];
|
|
180
|
+
for (const ev of events) {
|
|
181
|
+
const cmd = mapWorkEvent(ev);
|
|
182
|
+
authorize(cmd, ctx, track.state()); // fresh fold each iteration (re-fold after each apply)
|
|
183
|
+
ids.push(applyCommand(track, cmd) ?? null);
|
|
184
|
+
}
|
|
185
|
+
return { ids, count: events.length };
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=ingest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/ingest/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Settles, type WorkEvent, type WorkEventKind } from './contract.js';
|
|
2
|
+
/** A validated, normalized command ready for `ingest` to authorize and apply. */
|
|
3
|
+
export interface MappedCommand {
|
|
4
|
+
kind: WorkEventKind;
|
|
5
|
+
method: string;
|
|
6
|
+
settles: Settles;
|
|
7
|
+
/** The validated payload (only schema-allowed fields, correct types). */
|
|
8
|
+
payload: Readonly<Record<string, unknown>>;
|
|
9
|
+
/** Positional arguments to spread into the Track method. */
|
|
10
|
+
args: readonly unknown[];
|
|
11
|
+
}
|
|
12
|
+
/** A fail-closed rejection of a malformed/illegal WorkEvent (distinct from a domain error). */
|
|
13
|
+
export declare class IngestError extends Error {
|
|
14
|
+
readonly name = "IngestError";
|
|
15
|
+
}
|
|
16
|
+
/** Validate a WorkEvent and produce its mapped Track command. Pure; throws IngestError on any violation. */
|
|
17
|
+
export declare function mapWorkEvent(ev: WorkEvent): MappedCommand;
|
|
18
|
+
//# sourceMappingURL=map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/ingest/map.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,eAAe,CAAA;AAEtB,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,yEAAyE;IACzE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1C,4DAA4D;IAC5D,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;CACzB;AAED,+FAA+F;AAC/F,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAkB,IAAI,iBAAgB;CACvC;AAgED,4GAA4G;AAC5G,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,aAAa,CAwEzD"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// Lot v2.3b-1 — pure `WorkEvent` → Track-command mapper. Validates an envelope against the shared
|
|
2
|
+
// schema (fail-closed: unknown major / kind / field, missing required, wrong type, bad enum) and builds
|
|
3
|
+
// the positional argument tuple for the Track method. Pure and total: no I/O, no state, no append. The
|
|
4
|
+
// application + workspace/binding authorization (which need folded state) live in `ingest` (v2.3b-2).
|
|
5
|
+
import { WORK_EVENT_ENVELOPE_KEYS, WORK_EVENT_SCHEMA, } from './contract.js';
|
|
6
|
+
/** A fail-closed rejection of a malformed/illegal WorkEvent (distinct from a domain error). */
|
|
7
|
+
export class IngestError extends Error {
|
|
8
|
+
name = 'IngestError';
|
|
9
|
+
}
|
|
10
|
+
function isPlainObject(v) {
|
|
11
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
12
|
+
}
|
|
13
|
+
function checkType(kind, field, spec, v) {
|
|
14
|
+
const bad = (want) => {
|
|
15
|
+
throw new IngestError(`${kind}.${field}: expected ${want}`);
|
|
16
|
+
};
|
|
17
|
+
switch (spec.type) {
|
|
18
|
+
case 'string':
|
|
19
|
+
if (typeof v !== 'string')
|
|
20
|
+
bad('a string');
|
|
21
|
+
if (spec.enum && !spec.enum.includes(v)) {
|
|
22
|
+
throw new IngestError(`${kind}.${field}: must be one of ${spec.enum.join('|')} (got "${String(v)}")`);
|
|
23
|
+
}
|
|
24
|
+
return;
|
|
25
|
+
case 'number':
|
|
26
|
+
if (typeof v !== 'number' || !Number.isFinite(v))
|
|
27
|
+
bad('a finite number');
|
|
28
|
+
return;
|
|
29
|
+
case 'string[]':
|
|
30
|
+
if (!Array.isArray(v) || !v.every((x) => typeof x === 'string'))
|
|
31
|
+
bad('a string[]');
|
|
32
|
+
return;
|
|
33
|
+
case 'object':
|
|
34
|
+
if (!isPlainObject(v))
|
|
35
|
+
bad('an object');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Validate envelope + payload against the schema. Throws IngestError on any violation. */
|
|
40
|
+
function validate(ev) {
|
|
41
|
+
if (!isPlainObject(ev))
|
|
42
|
+
throw new IngestError('WorkEvent must be an object');
|
|
43
|
+
// Reject unknown envelope keys (fail-closed): no per-event actor/sponsor/proposed — the WHO/trust come
|
|
44
|
+
// from the channel context, not the event.
|
|
45
|
+
for (const key of Object.keys(ev)) {
|
|
46
|
+
if (!WORK_EVENT_ENVELOPE_KEYS.includes(key)) {
|
|
47
|
+
throw new IngestError(`unknown WorkEvent envelope key "${key}" (allowed: ${WORK_EVENT_ENVELOPE_KEYS.join(', ')})`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (ev.v !== 1) {
|
|
51
|
+
throw new IngestError(`unsupported WorkEvent contract major (expected v:1, got ${String(ev.v)})`);
|
|
52
|
+
}
|
|
53
|
+
const kind = ev.kind;
|
|
54
|
+
const schema = WORK_EVENT_SCHEMA[kind];
|
|
55
|
+
if (schema === undefined)
|
|
56
|
+
throw new IngestError(`unknown WorkEvent kind "${String(kind)}"`);
|
|
57
|
+
const payload = ev.payload;
|
|
58
|
+
if (!isPlainObject(payload))
|
|
59
|
+
throw new IngestError(`${kind}: payload must be an object`);
|
|
60
|
+
// Reject unknown fields (fail-closed — never silently forward).
|
|
61
|
+
for (const key of Object.keys(payload)) {
|
|
62
|
+
if (!(key in schema.fields))
|
|
63
|
+
throw new IngestError(`${kind}: unknown payload field "${key}"`);
|
|
64
|
+
}
|
|
65
|
+
// Required presence + type + enum.
|
|
66
|
+
for (const [field, spec] of Object.entries(schema.fields)) {
|
|
67
|
+
const v = payload[field];
|
|
68
|
+
if (v === undefined) {
|
|
69
|
+
if (spec.required)
|
|
70
|
+
throw new IngestError(`${kind}: missing required field "${field}"`);
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
checkType(kind, field, spec, v);
|
|
74
|
+
}
|
|
75
|
+
return { kind, payload };
|
|
76
|
+
}
|
|
77
|
+
/** Validate a WorkEvent and produce its mapped Track command. Pure; throws IngestError on any violation. */
|
|
78
|
+
export function mapWorkEvent(ev) {
|
|
79
|
+
const { kind, payload: p } = validate(ev);
|
|
80
|
+
const { method, settles } = WORK_EVENT_SCHEMA[kind];
|
|
81
|
+
const opt = (k) => (p[k] !== undefined ? { [k]: p[k] } : {});
|
|
82
|
+
let args;
|
|
83
|
+
switch (kind) {
|
|
84
|
+
case 'item.create':
|
|
85
|
+
// createItem(ItemCreatedPayload) — validated payload already IS the (links-free) shape.
|
|
86
|
+
args = [{ ...p }];
|
|
87
|
+
break;
|
|
88
|
+
case 'item.spec':
|
|
89
|
+
args = [p['itemId'], p['to']];
|
|
90
|
+
break;
|
|
91
|
+
case 'item.realize':
|
|
92
|
+
args = [p['itemId'], p['to']];
|
|
93
|
+
break;
|
|
94
|
+
case 'decision.create':
|
|
95
|
+
args = [{ ...p }];
|
|
96
|
+
break;
|
|
97
|
+
case 'decision.dossier':
|
|
98
|
+
args = [p['decisionId'], p['dossier']];
|
|
99
|
+
break;
|
|
100
|
+
case 'decision.outcome':
|
|
101
|
+
args = [p['decisionId'], p['to']];
|
|
102
|
+
break;
|
|
103
|
+
case 'decision.disposition':
|
|
104
|
+
// setDisposition(itemId, gate, disposition, reason?) — pass reason as-is (undefined if absent).
|
|
105
|
+
args = [p['itemId'], p['gate'], p['disposition'], p['reason']];
|
|
106
|
+
break;
|
|
107
|
+
case 'acceptance.criterion':
|
|
108
|
+
args = [p['itemId'], p['statement']];
|
|
109
|
+
break;
|
|
110
|
+
case 'acceptance.link':
|
|
111
|
+
args = [p['criterionId'], p['kind'], p['locator']];
|
|
112
|
+
break;
|
|
113
|
+
case 'acceptance.run':
|
|
114
|
+
args = [p['evidenceId'], { commit: p['commit'], env: p['env'], runner: p['runner'], result: p['result'] }];
|
|
115
|
+
break;
|
|
116
|
+
case 'acceptance.waive':
|
|
117
|
+
args = [p['criterionId'], p['reason']];
|
|
118
|
+
break;
|
|
119
|
+
case 'priority.assess':
|
|
120
|
+
args = [
|
|
121
|
+
p['itemId'],
|
|
122
|
+
{
|
|
123
|
+
userBusinessValue: p['userBusinessValue'],
|
|
124
|
+
timeCriticality: p['timeCriticality'],
|
|
125
|
+
riskReductionOpportunityEnablement: p['riskReductionOpportunityEnablement'],
|
|
126
|
+
jobSize: p['jobSize'],
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
break;
|
|
130
|
+
case 'blocker.raise':
|
|
131
|
+
// openBlocker(OpenBlockerInput) — reason defaults to '' to match the CLI (`opt(reason) ?? ''`).
|
|
132
|
+
args = [
|
|
133
|
+
{
|
|
134
|
+
targetId: p['targetId'],
|
|
135
|
+
kind: p['kind'],
|
|
136
|
+
ref: p['ref'],
|
|
137
|
+
reason: p['reason'] ?? '',
|
|
138
|
+
...opt('resolutionRule'),
|
|
139
|
+
...opt('owner'),
|
|
140
|
+
},
|
|
141
|
+
];
|
|
142
|
+
break;
|
|
143
|
+
case 'blocker.resolve':
|
|
144
|
+
args = [p['blockerId']];
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
return { kind, method, settles, payload: p, args };
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/ingest/map.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED