@sentropic/track 0.11.0 → 0.11.1
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 +91 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/events/types.d.ts +1 -1
- package/dist/events/types.d.ts.map +1 -1
- package/dist/events/types.js +5 -0
- package/dist/events/types.js.map +1 -1
- package/dist/ingest/contract.d.ts +2 -2
- package/dist/ingest/contract.d.ts.map +1 -1
- package/dist/ingest/contract.js +13 -2
- package/dist/ingest/contract.js.map +1 -1
- package/dist/ingest/ingest.d.ts.map +1 -1
- package/dist/ingest/ingest.js +8 -0
- package/dist/ingest/ingest.js.map +1 -1
- package/dist/ingest/map.d.ts.map +1 -1
- package/dist/ingest/map.js +6 -0
- package/dist/ingest/map.js.map +1 -1
- package/dist/mcp/server.d.ts +34 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +31 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/index.d.ts +1 -1
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/index.js +1 -1
- package/dist/model/index.js.map +1 -1
- package/dist/model/item.d.ts +43 -5
- package/dist/model/item.d.ts.map +1 -1
- package/dist/model/item.js +53 -0
- package/dist/model/item.js.map +1 -1
- package/dist/read/contract.d.ts +23 -3
- package/dist/read/contract.d.ts.map +1 -1
- package/dist/read/contract.js +41 -3
- package/dist/read/contract.js.map +1 -1
- package/dist/read/index.d.ts +1 -0
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +2 -0
- package/dist/read/index.js.map +1 -1
- package/dist/read/scope-validate.d.ts +44 -0
- package/dist/read/scope-validate.d.ts.map +1 -0
- package/dist/read/scope-validate.js +204 -0
- package/dist/read/scope-validate.js.map +1 -0
- package/dist/report/build.d.ts +1 -1
- package/dist/report/build.d.ts.map +1 -1
- package/dist/report/build.js +5 -4
- package/dist/report/build.js.map +1 -1
- package/dist/report/rollup.d.ts +1 -1
- package/dist/report/rollup.d.ts.map +1 -1
- package/dist/report/rollup.js +3 -2
- package/dist/report/rollup.js.map +1 -1
- package/dist/report/status-by-level.d.ts +1 -1
- package/dist/report/status-by-level.d.ts.map +1 -1
- package/dist/report/status-by-level.js +3 -1
- package/dist/report/status-by-level.js.map +1 -1
- package/dist/state/fold.d.ts.map +1 -1
- package/dist/state/fold.js +10 -0
- package/dist/state/fold.js.map +1 -1
- package/dist/track.d.ts +10 -1
- package/dist/track.d.ts.map +1 -1
- package/dist/track.js +36 -17
- package/dist/track.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp/server.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare const READ_TOOLS: readonly [{
|
|
|
38
38
|
};
|
|
39
39
|
readonly role: {
|
|
40
40
|
readonly type: "string";
|
|
41
|
-
readonly enum: readonly ["workpackage"];
|
|
41
|
+
readonly enum: readonly ["workpackage", "spec-phase"];
|
|
42
42
|
};
|
|
43
43
|
readonly workspace: {
|
|
44
44
|
readonly type: "string";
|
|
@@ -133,6 +133,39 @@ export declare const READ_TOOLS: readonly [{
|
|
|
133
133
|
};
|
|
134
134
|
};
|
|
135
135
|
};
|
|
136
|
+
}, {
|
|
137
|
+
readonly name: "track_scope_validate";
|
|
138
|
+
readonly description: "Scope §B(b) — PURE, read-only, fail-closed, ADVISORY scope validation, as JSON {status:pass|fail|stale|missing, findings[], perWp[], scopeRevisionHash?}. NEVER glob-matches (string-level set logic), NEVER ingests, NEVER a commit gate. Flags scope-undeclared / incoherent (allowed∩forbidden) / illegal-nesting / claim-out-of-phase, and surfaces the latest ingested VerificationRun verdict per WP (read, never recomputed). If `content`+`locator` are supplied, requireFresh runs FIRST (a stale/altered/not-imported sidecar ⇒ status:stale, no partial verdict). Optional opt-in inferDeliveredOutOfScope.";
|
|
139
|
+
readonly inputSchema: {
|
|
140
|
+
readonly type: "object";
|
|
141
|
+
readonly properties: {
|
|
142
|
+
readonly workspace: {
|
|
143
|
+
readonly type: "string";
|
|
144
|
+
readonly description: "The workspace whose WP/spec-phase scope is validated.";
|
|
145
|
+
};
|
|
146
|
+
readonly baselineCommit: {
|
|
147
|
+
readonly type: "string";
|
|
148
|
+
readonly description: "Commit AWAITED/realization-active are evaluated against.";
|
|
149
|
+
};
|
|
150
|
+
readonly content: {
|
|
151
|
+
readonly type: "string";
|
|
152
|
+
readonly description: "Live BRANCH.md content for the fail-closed freshness gate (with locator).";
|
|
153
|
+
};
|
|
154
|
+
readonly locator: {
|
|
155
|
+
readonly type: "string";
|
|
156
|
+
readonly description: "BRANCH.md locator for the fail-closed freshness gate (with content).";
|
|
157
|
+
};
|
|
158
|
+
readonly claimedItemId: {
|
|
159
|
+
readonly type: "string";
|
|
160
|
+
readonly description: "Optional claimed item id — flagged if not a descendant of a declared phase.";
|
|
161
|
+
};
|
|
162
|
+
readonly inferDeliveredOutOfScope: {
|
|
163
|
+
readonly type: "boolean";
|
|
164
|
+
readonly description: "Opt-in: flag a done WP whose latest verification is a violation (a read flag).";
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
readonly required: readonly ["workspace", "baselineCommit"];
|
|
168
|
+
};
|
|
136
169
|
}, {
|
|
137
170
|
readonly name: "track_workspace_activity";
|
|
138
171
|
readonly description: "Poll-able activity signal for ONE workspace (h2a conductor-launch gating), as JSON {workspace, pending, stalled[], latestEventAt?}. PURE: the caller supplies `now` (and optional `idleMs`, default 24h) — track holds no clock. `pending` = TO-DO+AWAITED count; `stalled` = items/decisions durably stuck (awaited-open-blocker | pending-decision | in-progress-idle | todo-idle).";
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAGlE,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAYjD,oGAAoG;AACpG,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAGlE,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAYjD,oGAAoG;AACpG,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Gb,CAAA;AA0CV;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAiFR;AAgBD,2GAA2G;AAC3G,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,MAAM,CA2C5E"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -14,7 +14,7 @@ import { TrackReader } from '../read/contract.js';
|
|
|
14
14
|
import { VERSION } from '../version.js';
|
|
15
15
|
// Allowed enum values — the single source for BOTH the advertised schema and runtime validation.
|
|
16
16
|
const KINDS = ['feature', 'bug', 'chore'];
|
|
17
|
-
const ROLES = ['workpackage']; // Workpackages §2 — container marker filter
|
|
17
|
+
const ROLES = ['workpackage', 'spec-phase']; // Workpackages §2 / Scope §B(a) — container marker filter
|
|
18
18
|
const BUCKETS = ['AWAITED', 'DROPPED', 'DONE', 'TO-DO'];
|
|
19
19
|
const REALIZATIONS = ['to-do', 'in-progress', 'done', 'cancelled', 'rejected'];
|
|
20
20
|
const ACCEPTANCES = ['pass', 'fail', 'unknown', 'stale', 'waived'];
|
|
@@ -100,6 +100,22 @@ export const READ_TOOLS = [
|
|
|
100
100
|
properties: { wpRef: { type: 'string', description: 'Filter to runs for this WP/phase item id.' } },
|
|
101
101
|
},
|
|
102
102
|
},
|
|
103
|
+
{
|
|
104
|
+
name: 'track_scope_validate',
|
|
105
|
+
description: 'Scope §B(b) — PURE, read-only, fail-closed, ADVISORY scope validation, as JSON {status:pass|fail|stale|missing, findings[], perWp[], scopeRevisionHash?}. NEVER glob-matches (string-level set logic), NEVER ingests, NEVER a commit gate. Flags scope-undeclared / incoherent (allowed∩forbidden) / illegal-nesting / claim-out-of-phase, and surfaces the latest ingested VerificationRun verdict per WP (read, never recomputed). If `content`+`locator` are supplied, requireFresh runs FIRST (a stale/altered/not-imported sidecar ⇒ status:stale, no partial verdict). Optional opt-in inferDeliveredOutOfScope.',
|
|
106
|
+
inputSchema: {
|
|
107
|
+
type: 'object',
|
|
108
|
+
properties: {
|
|
109
|
+
workspace: { type: 'string', description: 'The workspace whose WP/spec-phase scope is validated.' },
|
|
110
|
+
baselineCommit: { type: 'string', description: 'Commit AWAITED/realization-active are evaluated against.' },
|
|
111
|
+
content: { type: 'string', description: 'Live BRANCH.md content for the fail-closed freshness gate (with locator).' },
|
|
112
|
+
locator: { type: 'string', description: 'BRANCH.md locator for the fail-closed freshness gate (with content).' },
|
|
113
|
+
claimedItemId: { type: 'string', description: 'Optional claimed item id — flagged if not a descendant of a declared phase.' },
|
|
114
|
+
inferDeliveredOutOfScope: { type: 'boolean', description: 'Opt-in: flag a done WP whose latest verification is a violation (a read flag).' },
|
|
115
|
+
},
|
|
116
|
+
required: ['workspace', 'baselineCommit'],
|
|
117
|
+
},
|
|
118
|
+
},
|
|
103
119
|
{
|
|
104
120
|
name: 'track_workspace_activity',
|
|
105
121
|
description: 'Poll-able activity signal for ONE workspace (h2a conductor-launch gating), as JSON {workspace, pending, stalled[], latestEventAt?}. PURE: the caller supplies `now` (and optional `idleMs`, default 24h) — track holds no clock. `pending` = TO-DO+AWAITED count; `stalled` = items/decisions durably stuck (awaited-open-blocker | pending-decision | in-progress-idle | todo-idle).',
|
|
@@ -201,6 +217,20 @@ export function dispatchReadTool(reader, name, args) {
|
|
|
201
217
|
const wpRef = optStr(args, 'wpRef');
|
|
202
218
|
return JSON.stringify(reader.verificationRuns(wpRef), null, 2);
|
|
203
219
|
}
|
|
220
|
+
case 'track_scope_validate': {
|
|
221
|
+
const content = optStr(args, 'content');
|
|
222
|
+
const locator = optStr(args, 'locator');
|
|
223
|
+
const claimedItemId = optStr(args, 'claimedItemId');
|
|
224
|
+
const inferDeliveredOutOfScope = optBool(args, 'inferDeliveredOutOfScope');
|
|
225
|
+
return JSON.stringify(reader.scopeValidate({
|
|
226
|
+
workspace: reqStr(args, 'workspace'),
|
|
227
|
+
baselineCommit: reqStr(args, 'baselineCommit'),
|
|
228
|
+
...(content !== undefined ? { content } : {}),
|
|
229
|
+
...(locator !== undefined ? { locator } : {}),
|
|
230
|
+
...(claimedItemId !== undefined ? { claimedItemId } : {}),
|
|
231
|
+
...(inferDeliveredOutOfScope !== undefined ? { inferDeliveredOutOfScope } : {}),
|
|
232
|
+
}), null, 2);
|
|
233
|
+
}
|
|
204
234
|
case 'track_validate':
|
|
205
235
|
return JSON.stringify(reader.validate(), null, 2);
|
|
206
236
|
case 'track_external_deps':
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/dist/model/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DomainError, assertRealizationTransition, assertSpecTransition, type BlockerId, type Disposition, type Gate, type ItemCreatedPayload, type ItemId, type ItemKind, type ItemState, type Link, type Realization, type RealizationCause, type SpecStatus, } from './item.js';
|
|
1
|
+
export { DomainError, assertRealizationTransition, assertRoleNesting, assertScopeDecl, assertSpecTransition, isRoleContainer, type BlockerId, type Disposition, type Gate, type ItemCreatedPayload, type ItemId, type ItemKind, type ItemRole, type ItemState, type Link, type Realization, type RealizationCause, type ScopeDecl, type SpecStatus, } from './item.js';
|
|
2
2
|
export { assertManualResolve, type BlockerKind, type BlockerOpenedPayload, type BlockerScope, type BlockerState, type ResolutionRule, } from './blocker.js';
|
|
3
3
|
export { assertDossierArtifact, assertOutcomeTransition, isSettled, type AddArtifactPayload, type ComprehensionEvidence, type DecisionCreatedPayload, type DecisionKind, type DecisionState, type Dossier, type DossierArtifact, type Option, type Outcome, type QAEntry, } from './decision.js';
|
|
4
4
|
export { type AcceptanceStatus, type CriterionState, type CriterionStatus, type EvidenceKind, type EvidenceState, type RunResult, type TestRun, type Waiver, } from './acceptance.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,OAAO,GACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,MAAM,GACZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,UAAU,GAChB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,qBAAqB,EACrB,QAAQ,EACR,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,OAAO,GACb,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,OAAO,GACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,MAAM,GACZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,UAAU,GAChB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,qBAAqB,EACrB,QAAQ,EACR,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,OAAO,GACb,MAAM,mBAAmB,CAAA"}
|
package/dist/model/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Domain model: Item, Decision, Blocker, AcceptanceCriterion, PriorityAssessment (SPEC §2).
|
|
2
|
-
export { DomainError, assertRealizationTransition, assertSpecTransition, } from './item.js';
|
|
2
|
+
export { DomainError, assertRealizationTransition, assertRoleNesting, assertScopeDecl, assertSpecTransition, isRoleContainer, } from './item.js';
|
|
3
3
|
export { assertManualResolve, } from './blocker.js';
|
|
4
4
|
export { assertDossierArtifact, assertOutcomeTransition, isSettled, } from './decision.js';
|
|
5
5
|
export {} from './acceptance.js';
|
package/dist/model/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,eAAe,GAchB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,mBAAmB,GAMpB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,GAWV,MAAM,eAAe,CAAA;AACtB,OAAO,EASN,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,mBAAmB,EACnB,SAAS,GAIV,MAAM,eAAe,CAAA;AACtB,2EAA2E;AAC3E,OAAO,EACL,qBAAqB,EACrB,QAAQ,GAIT,MAAM,mBAAmB,CAAA"}
|
package/dist/model/item.d.ts
CHANGED
|
@@ -4,12 +4,24 @@ export type ItemId = Ulid;
|
|
|
4
4
|
export type BlockerId = Ulid;
|
|
5
5
|
export type ItemKind = 'feature' | 'bug' | 'chore' | 'decision';
|
|
6
6
|
/**
|
|
7
|
-
* An optional, additive container marker (Workpackages design §2). A workpackage is
|
|
8
|
-
* + `role:'workpackage'` — WP-ness comes ONLY from this field, never inferred from kind,
|
|
9
|
-
* `wp:` sourceKey, or a link.
|
|
10
|
-
*
|
|
7
|
+
* An optional, additive container marker (Workpackages design §2; Scope §B(a)). A workpackage is
|
|
8
|
+
* `kind:'chore'` + `role:'workpackage'` — WP-ness comes ONLY from this field, never inferred from kind,
|
|
9
|
+
* children, a `wp:` sourceKey, or a link. A `'spec-phase'` is a finer container nested under a WP or
|
|
10
|
+
* spec-phase (labels derive from tree position; the rollup descends through it like a WP). Both are
|
|
11
|
+
* orthogonal/optional like `accountable`/`engagementRef` ⇒ zero hash change, explicit, queryable,
|
|
12
|
+
* rename-stable. (A durable public `code?` label is deferred.)
|
|
11
13
|
*/
|
|
12
|
-
export type ItemRole = 'workpackage';
|
|
14
|
+
export type ItemRole = 'workpackage' | 'spec-phase';
|
|
15
|
+
/**
|
|
16
|
+
* Scope §B(a) — a declarative scope on a WP/spec-phase: INERT path globs (track stores the strings,
|
|
17
|
+
* NEVER matches them — the harness reads them to compute the path verdict). Additive/optional on
|
|
18
|
+
* ItemState + ItemCreatedPayload; set/replaced by a `scope.declare` WorkEvent → `scope.declared` event.
|
|
19
|
+
*/
|
|
20
|
+
export interface ScopeDecl {
|
|
21
|
+
allowed?: string[];
|
|
22
|
+
forbidden?: string[];
|
|
23
|
+
conditional?: string[];
|
|
24
|
+
}
|
|
13
25
|
export type SpecStatus = 'to-specify' | 'specified';
|
|
14
26
|
export type Realization = 'to-do' | 'in-progress' | 'done' | 'cancelled' | 'rejected';
|
|
15
27
|
export type Gate = 'orientation' | 'commitment';
|
|
@@ -33,6 +45,7 @@ export interface ItemState {
|
|
|
33
45
|
priority?: PriorityAssessment;
|
|
34
46
|
parentId?: ItemId;
|
|
35
47
|
role?: ItemRole;
|
|
48
|
+
scope?: ScopeDecl;
|
|
36
49
|
sourceKey?: string;
|
|
37
50
|
body?: string;
|
|
38
51
|
links?: Link[];
|
|
@@ -40,12 +53,21 @@ export interface ItemState {
|
|
|
40
53
|
responsible?: ActorId[];
|
|
41
54
|
engagementRef?: string;
|
|
42
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Scope §B(a) — is this item a CONTAINER node (a `workpackage` or `spec-phase`), i.e. not a flat leaf?
|
|
58
|
+
* The rollup descends through both and excludes both from leaf counts / the flat buckets. Centralized so
|
|
59
|
+
* rollup/status/report/read all share ONE definition of "container vs leaf".
|
|
60
|
+
*/
|
|
61
|
+
export declare function isRoleContainer(item: {
|
|
62
|
+
role?: ItemRole;
|
|
63
|
+
}): boolean;
|
|
43
64
|
export interface ItemCreatedPayload {
|
|
44
65
|
kind: ItemKind;
|
|
45
66
|
title: string;
|
|
46
67
|
workspace: string;
|
|
47
68
|
parentId?: ItemId;
|
|
48
69
|
role?: ItemRole;
|
|
70
|
+
scope?: ScopeDecl;
|
|
49
71
|
sourceKey?: string;
|
|
50
72
|
body?: string;
|
|
51
73
|
links?: Link[];
|
|
@@ -57,6 +79,22 @@ export interface ItemCreatedPayload {
|
|
|
57
79
|
export declare class DomainError extends Error {
|
|
58
80
|
name: string;
|
|
59
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Scope §B(a) — the role nesting invariant, checked by createItem/reparentItem BEFORE any append:
|
|
84
|
+
* - a `'workpackage'` nests only under a `'workpackage'`;
|
|
85
|
+
* - a `'spec-phase'` nests only under a `'workpackage'` or `'spec-phase'`;
|
|
86
|
+
* - a non-role leaf nests under anything (unchanged back-compat).
|
|
87
|
+
* `childRole` is the moving/created item's role; `parentRole` the prospective parent's role (undefined
|
|
88
|
+
* when the parent has no role, i.e. a plain leaf/feature container). Throws DomainError on violation.
|
|
89
|
+
* `childId`/`parentId` are only for the message.
|
|
90
|
+
*/
|
|
91
|
+
export declare function assertRoleNesting(childRole: ItemRole | undefined, parentRole: ItemRole | undefined, childId: ItemId, parentId: ItemId): void;
|
|
92
|
+
/**
|
|
93
|
+
* Scope §B(a) — fail-closed validation of a ScopeDecl payload (mirrors assertVerificationRun). The
|
|
94
|
+
* envelope schema checks each field is a `string[]`; this re-asserts that AND normalizes (drops absent
|
|
95
|
+
* optionals so the recorded shape is minimal + hash-stable). track stores the strings, NEVER matches them.
|
|
96
|
+
*/
|
|
97
|
+
export declare function assertScopeDecl(input: unknown): ScopeDecl;
|
|
60
98
|
export declare function assertSpecTransition(item: ItemState, to: SpecStatus): void;
|
|
61
99
|
export declare function assertRealizationTransition(item: {
|
|
62
100
|
id: ItemId;
|
package/dist/model/item.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../src/model/item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAA;AACzB,MAAM,MAAM,SAAS,GAAG,IAAI,CAAA;AAE5B,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,CAAA;AAC/D
|
|
1
|
+
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../src/model/item.ts"],"names":[],"mappings":"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"}
|
package/dist/model/item.js
CHANGED
|
@@ -1,7 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scope §B(a) — is this item a CONTAINER node (a `workpackage` or `spec-phase`), i.e. not a flat leaf?
|
|
3
|
+
* The rollup descends through both and excludes both from leaf counts / the flat buckets. Centralized so
|
|
4
|
+
* rollup/status/report/read all share ONE definition of "container vs leaf".
|
|
5
|
+
*/
|
|
6
|
+
export function isRoleContainer(item) {
|
|
7
|
+
return item.role === 'workpackage' || item.role === 'spec-phase';
|
|
8
|
+
}
|
|
1
9
|
/** A rejected domain command (illegal transition, unknown aggregate, …). */
|
|
2
10
|
export class DomainError extends Error {
|
|
3
11
|
name = 'DomainError';
|
|
4
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Scope §B(a) — the role nesting invariant, checked by createItem/reparentItem BEFORE any append:
|
|
15
|
+
* - a `'workpackage'` nests only under a `'workpackage'`;
|
|
16
|
+
* - a `'spec-phase'` nests only under a `'workpackage'` or `'spec-phase'`;
|
|
17
|
+
* - a non-role leaf nests under anything (unchanged back-compat).
|
|
18
|
+
* `childRole` is the moving/created item's role; `parentRole` the prospective parent's role (undefined
|
|
19
|
+
* when the parent has no role, i.e. a plain leaf/feature container). Throws DomainError on violation.
|
|
20
|
+
* `childId`/`parentId` are only for the message.
|
|
21
|
+
*/
|
|
22
|
+
export function assertRoleNesting(childRole, parentRole, childId, parentId) {
|
|
23
|
+
if (childRole === 'workpackage' && parentRole !== 'workpackage') {
|
|
24
|
+
throw new DomainError(`cannot nest workpackage ${childId} under ${parentId}: a workpackage may only nest under a workpackage (Scope §B(a))`);
|
|
25
|
+
}
|
|
26
|
+
if (childRole === 'spec-phase' && parentRole !== 'workpackage' && parentRole !== 'spec-phase') {
|
|
27
|
+
throw new DomainError(`cannot nest spec-phase ${childId} under ${parentId}: a spec-phase may only nest under a workpackage or spec-phase (Scope §B(a))`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Scope §B(a) — fail-closed validation of a ScopeDecl payload (mirrors assertVerificationRun). The
|
|
32
|
+
* envelope schema checks each field is a `string[]`; this re-asserts that AND normalizes (drops absent
|
|
33
|
+
* optionals so the recorded shape is minimal + hash-stable). track stores the strings, NEVER matches them.
|
|
34
|
+
*/
|
|
35
|
+
export function assertScopeDecl(input) {
|
|
36
|
+
if (typeof input !== 'object' || input === null || Array.isArray(input)) {
|
|
37
|
+
throw new DomainError('scope.declare: scope must be an object');
|
|
38
|
+
}
|
|
39
|
+
const a = input;
|
|
40
|
+
const list = (key) => {
|
|
41
|
+
const v = a[key];
|
|
42
|
+
if (v === undefined)
|
|
43
|
+
return undefined;
|
|
44
|
+
if (!Array.isArray(v) || !v.every((x) => typeof x === 'string')) {
|
|
45
|
+
throw new DomainError(`scope.declare: ${key} must be a string[]`);
|
|
46
|
+
}
|
|
47
|
+
return v;
|
|
48
|
+
};
|
|
49
|
+
const allowed = list('allowed');
|
|
50
|
+
const forbidden = list('forbidden');
|
|
51
|
+
const conditional = list('conditional');
|
|
52
|
+
return {
|
|
53
|
+
...(allowed !== undefined ? { allowed } : {}),
|
|
54
|
+
...(forbidden !== undefined ? { forbidden } : {}),
|
|
55
|
+
...(conditional !== undefined ? { conditional } : {}),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
5
58
|
// Spec axis is monotone: `to-specify → specified` once; reverse rejected (SPEC §2.2).
|
|
6
59
|
const SPEC_TRANSITIONS = {
|
|
7
60
|
'to-specify': ['specified'],
|
package/dist/model/item.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../src/model/item.ts"],"names":[],"mappings":"AAmEA,4EAA4E;AAC5E,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,GAAG,aAAa,CAAA;CAC9B;AAED,sFAAsF;AACtF,MAAM,gBAAgB,GAAkD;IACtE,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,SAAS,EAAE,EAAE;CACd,CAAA;AAED,6FAA6F;AAC7F,+EAA+E;AAC/E,MAAM,uBAAuB,GAAoD;IAC/E,OAAO,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;IACrC,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IACpC,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;CACb,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAe,EAAE,EAAc;IAClE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,WAAW,CAAC,wBAAwB,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC5E,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,WAAW,CAAC,2BAA2B,IAAI,CAAC,UAAU,OAAO,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IAChG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAA8C,EAAE,qDAAqD;AACrG,EAAe,EACf,QAAiB;IAEjB,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,WAAW,CAAC,2DAA2D,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QAC9F,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;YACvE,MAAM,IAAI,WAAW,CACnB,kCAAkC,IAAI,CAAC,WAAW,sBAAsB,IAAI,CAAC,EAAE,GAAG,CACnF,CAAA;QACH,CAAC;QACD,OAAM;IACR,CAAC;IACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,WAAW,CACnB,kCAAkC,IAAI,CAAC,WAAW,OAAO,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,CAChF,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../src/model/item.ts"],"names":[],"mappings":"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"}
|
package/dist/read/contract.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { Sha256 } from '../events/types.js';
|
|
2
2
|
import { type IntegrityResult } from '../events/validate.js';
|
|
3
|
-
import type
|
|
3
|
+
import { type ItemId } from '../model/item.js';
|
|
4
4
|
import type { VerificationRun } from '../model/verification.js';
|
|
5
5
|
import { type StatusGroup, type StatusLevel } from '../report/status-by-level.js';
|
|
6
6
|
import { type QueryFilter, type Report, type ReportOptions, type ReportRow } from '../report/build.js';
|
|
7
|
+
import { type ScopeValidateInput, type ScopeValidateResult } from './scope-validate.js';
|
|
7
8
|
/**
|
|
8
9
|
* Semver of the skill-facing READ contract.
|
|
9
10
|
*
|
|
@@ -11,7 +12,7 @@ import { type QueryFilter, type Report, type ReportOptions, type ReportRow } fro
|
|
|
11
12
|
* shapes it returns may only GROW (new methods / new optional fields); nothing is removed or
|
|
12
13
|
* repurposed without a major bump. Consumers gate on `reader.contractVersion`.
|
|
13
14
|
*/
|
|
14
|
-
export declare const READ_CONTRACT_VERSION = "1.
|
|
15
|
+
export declare const READ_CONTRACT_VERSION = "1.6.0";
|
|
15
16
|
/** Provenance of the last `branch.imported` for a locator (drawn from the raw event log). */
|
|
16
17
|
export interface BranchProvenance {
|
|
17
18
|
locator: string;
|
|
@@ -96,7 +97,7 @@ export interface WorkspaceActivityOptions {
|
|
|
96
97
|
*/
|
|
97
98
|
export declare class TrackReader {
|
|
98
99
|
private readonly eventsPath;
|
|
99
|
-
readonly contractVersion = "1.
|
|
100
|
+
readonly contractVersion = "1.6.0";
|
|
100
101
|
private readonly store;
|
|
101
102
|
constructor(eventsPath: string);
|
|
102
103
|
private events;
|
|
@@ -125,6 +126,25 @@ export declare class TrackReader {
|
|
|
125
126
|
* to one WP/phase; absent ⇒ all runs (workspace-scoped + wpRef'd). Sorted by `at` then `runId`.
|
|
126
127
|
*/
|
|
127
128
|
verificationRuns(wpRef?: ItemId): VerificationRun[];
|
|
129
|
+
/**
|
|
130
|
+
* Scope §B(b) — `track scope validate`: a PURE, read-only, fail-closed, ADVISORY validation of the
|
|
131
|
+
* declarative scope state. It NEVER glob-matches (string-level set logic), NEVER ingests, NEVER appends,
|
|
132
|
+
* and is NEVER a commit gate.
|
|
133
|
+
*
|
|
134
|
+
* FAIL-CLOSED: when `content`+`locator` are supplied, `requireFresh` runs FIRST (REUSING the shipped
|
|
135
|
+
* mechanism) — a stale / altered / not-imported sidecar throws `StaleSidecarError`, surfaced here as
|
|
136
|
+
* `{status:'stale', findings:[], perWp:[]}` with NO partial verdict (never a silent fallback). When no
|
|
137
|
+
* sidecar is given, the validation runs directly over the folded log.
|
|
138
|
+
*
|
|
139
|
+
* Validates (semantic, pure): every realization-active WP/spec-phase has a `scope` (else 'scope-undeclared');
|
|
140
|
+
* no allowed∩forbidden string overlap ('incoherent'); legal spec-phase nesting ('illegal-nesting'); an
|
|
141
|
+
* optional claimed item is a descendant of a declared phase ('claim-out-of-phase'). Surfaces the latest
|
|
142
|
+
* ingested VerificationRun verdict per WP (READ, never recomputed). Optional opt-in 'delivered-out-of-scope'.
|
|
143
|
+
*/
|
|
144
|
+
scopeValidate(opts: ScopeValidateInput & {
|
|
145
|
+
content?: string;
|
|
146
|
+
locator?: string;
|
|
147
|
+
}): ScopeValidateResult;
|
|
128
148
|
/**
|
|
129
149
|
* Poll-able activity signal for ONE workspace (h2a conductor-launch gating). PURE: `now`/`idleMs`
|
|
130
150
|
* are caller-supplied (track holds no clock). Reads the log ONCE; `pending`/staleness reuse the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/read/contract.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/read/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/read/contract.js
CHANGED
|
@@ -11,11 +11,13 @@ import { branchSignature } from '../branch/signature.js';
|
|
|
11
11
|
import { readHead } from '../events/head.js';
|
|
12
12
|
import { EventStore } from '../events/store.js';
|
|
13
13
|
import { validate } from '../events/validate.js';
|
|
14
|
+
import { isRoleContainer } from '../model/item.js';
|
|
14
15
|
import { bucketOf } from '../report/buckets.js';
|
|
15
16
|
import { statusByLevel } from '../report/status-by-level.js';
|
|
16
17
|
import { effectiveOpenBlockersForItem } from '../report/blocker-status.js';
|
|
17
18
|
import { buildReport, query as runQuery, } from '../report/build.js';
|
|
18
19
|
import { fold } from '../state/fold.js';
|
|
20
|
+
import { scopeValidate as runScopeValidate, } from './scope-validate.js';
|
|
19
21
|
/**
|
|
20
22
|
* Semver of the skill-facing READ contract.
|
|
21
23
|
*
|
|
@@ -23,7 +25,7 @@ import { fold } from '../state/fold.js';
|
|
|
23
25
|
* shapes it returns may only GROW (new methods / new optional fields); nothing is removed or
|
|
24
26
|
* repurposed without a major bump. Consumers gate on `reader.contractVersion`.
|
|
25
27
|
*/
|
|
26
|
-
export const READ_CONTRACT_VERSION = '1.
|
|
28
|
+
export const READ_CONTRACT_VERSION = '1.6.0'; // +scopeValidate() advisory read (Scope §B(b), additive)
|
|
27
29
|
/** Thrown by `requireFresh` when the sidecar is unsafe to consume (stale, absent, or tampered). */
|
|
28
30
|
export class StaleSidecarError extends Error {
|
|
29
31
|
detail;
|
|
@@ -100,6 +102,42 @@ export class TrackReader {
|
|
|
100
102
|
const filtered = wpRef !== undefined ? runs.filter((r) => r.wpRef === wpRef) : runs;
|
|
101
103
|
return filtered.sort((a, b) => a.at.localeCompare(b.at) || a.runId.localeCompare(b.runId));
|
|
102
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Scope §B(b) — `track scope validate`: a PURE, read-only, fail-closed, ADVISORY validation of the
|
|
107
|
+
* declarative scope state. It NEVER glob-matches (string-level set logic), NEVER ingests, NEVER appends,
|
|
108
|
+
* and is NEVER a commit gate.
|
|
109
|
+
*
|
|
110
|
+
* FAIL-CLOSED: when `content`+`locator` are supplied, `requireFresh` runs FIRST (REUSING the shipped
|
|
111
|
+
* mechanism) — a stale / altered / not-imported sidecar throws `StaleSidecarError`, surfaced here as
|
|
112
|
+
* `{status:'stale', findings:[], perWp:[]}` with NO partial verdict (never a silent fallback). When no
|
|
113
|
+
* sidecar is given, the validation runs directly over the folded log.
|
|
114
|
+
*
|
|
115
|
+
* Validates (semantic, pure): every realization-active WP/spec-phase has a `scope` (else 'scope-undeclared');
|
|
116
|
+
* no allowed∩forbidden string overlap ('incoherent'); legal spec-phase nesting ('illegal-nesting'); an
|
|
117
|
+
* optional claimed item is a descendant of a declared phase ('claim-out-of-phase'). Surfaces the latest
|
|
118
|
+
* ingested VerificationRun verdict per WP (READ, never recomputed). Optional opt-in 'delivered-out-of-scope'.
|
|
119
|
+
*/
|
|
120
|
+
scopeValidate(opts) {
|
|
121
|
+
const events = this.events();
|
|
122
|
+
// FAIL-CLOSED gate FIRST: a supplied sidecar must be fresh + integral, or no verdict is produced.
|
|
123
|
+
if (opts.content !== undefined && opts.locator !== undefined) {
|
|
124
|
+
try {
|
|
125
|
+
this.requireFresh(opts.content, opts.locator);
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
if (error instanceof StaleSidecarError) {
|
|
129
|
+
return { status: 'stale', findings: [], perWp: [] };
|
|
130
|
+
}
|
|
131
|
+
throw error;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return runScopeValidate(fold(events), {
|
|
135
|
+
workspace: opts.workspace,
|
|
136
|
+
baselineCommit: opts.baselineCommit,
|
|
137
|
+
...(opts.inferDeliveredOutOfScope !== undefined ? { inferDeliveredOutOfScope: opts.inferDeliveredOutOfScope } : {}),
|
|
138
|
+
...(opts.claimedItemId !== undefined ? { claimedItemId: opts.claimedItemId } : {}),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
103
141
|
/**
|
|
104
142
|
* Poll-able activity signal for ONE workspace (h2a conductor-launch gating). PURE: `now`/`idleMs`
|
|
105
143
|
* are caller-supplied (track holds no clock). Reads the log ONCE; `pending`/staleness reuse the
|
|
@@ -136,8 +174,8 @@ export class TrackReader {
|
|
|
136
174
|
for (const item of state.items.values()) {
|
|
137
175
|
if (item.workspace !== workspace)
|
|
138
176
|
continue;
|
|
139
|
-
if (item
|
|
140
|
-
continue; // a WP is a container, never a flat leaf (
|
|
177
|
+
if (isRoleContainer(item))
|
|
178
|
+
continue; // a WP/spec-phase is a container, never a flat leaf (Scope §B(a))
|
|
141
179
|
const bucket = bucketOf(state, item, config);
|
|
142
180
|
if (bucket === 'TO-DO' || bucket === 'AWAITED')
|
|
143
181
|
pending++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/read/contract.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,iGAAiG;AACjG,4FAA4F;AAC5F,iGAAiG;AACjG,8FAA8F;AAC9F,0FAA0F;AAC1F,qBAAqB;AAErB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/read/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/read/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { READ_CONTRACT_VERSION, StaleSidecarError, TrackReader, type BranchProvenance, type ExternalDependency, type Freshness, type StalledItem, type StalledReason, type WorkspaceActivity, type WorkspaceActivityOptions, } from './contract.js';
|
|
2
2
|
export { type GroupStatus, type StatusGroup, type StatusLevel } from '../report/status-by-level.js';
|
|
3
3
|
export { type VerificationRun, type Verdict } from '../model/verification.js';
|
|
4
|
+
export { type EvidenceStatus, type PerWp, type ScopeFinding, type ScopeFindingCode, type ScopeValidateInput, type ScopeValidateResult, type ScopeValidateStatus, type SemanticStatus, } from './scope-validate.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/read/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACnG,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACnG,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAE7E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAA"}
|
package/dist/read/index.js
CHANGED
|
@@ -3,4 +3,6 @@ export { READ_CONTRACT_VERSION, StaleSidecarError, TrackReader, } from './contra
|
|
|
3
3
|
// Scope §A/§B — projection/evidence types re-exported for skill consumers of the read contract.
|
|
4
4
|
export {} from '../report/status-by-level.js';
|
|
5
5
|
export {} from '../model/verification.js';
|
|
6
|
+
// Scope §B(b) — the advisory scope-validate read surface.
|
|
7
|
+
export {} from './scope-validate.js';
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/dist/read/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,GAQZ,MAAM,eAAe,CAAA;AACtB,gGAAgG;AAChG,OAAO,EAAwD,MAAM,8BAA8B,CAAA;AACnG,OAAO,EAAsC,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,GAQZ,MAAM,eAAe,CAAA;AACtB,gGAAgG;AAChG,OAAO,EAAwD,MAAM,8BAA8B,CAAA;AACnG,OAAO,EAAsC,MAAM,0BAA0B,CAAA;AAC7E,0DAA0D;AAC1D,OAAO,EASN,MAAM,qBAAqB,CAAA"}
|