@sentropic/track 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/events/store.d.ts +11 -0
  2. package/dist/events/store.d.ts.map +1 -1
  3. package/dist/events/store.js +7 -0
  4. package/dist/events/store.js.map +1 -1
  5. package/dist/events/types.d.ts +2 -2
  6. package/dist/events/types.d.ts.map +1 -1
  7. package/dist/events/types.js +15 -1
  8. package/dist/events/types.js.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/ingest/contract.d.ts +4 -2
  14. package/dist/ingest/contract.d.ts.map +1 -1
  15. package/dist/ingest/contract.js +82 -1
  16. package/dist/ingest/contract.js.map +1 -1
  17. package/dist/ingest/ingest.d.ts.map +1 -1
  18. package/dist/ingest/ingest.js +40 -0
  19. package/dist/ingest/ingest.js.map +1 -1
  20. package/dist/ingest/map.d.ts.map +1 -1
  21. package/dist/ingest/map.js +29 -0
  22. package/dist/ingest/map.js.map +1 -1
  23. package/dist/lease/index.d.ts +2 -0
  24. package/dist/lease/index.d.ts.map +1 -0
  25. package/dist/lease/index.js +5 -0
  26. package/dist/lease/index.js.map +1 -0
  27. package/dist/lease/store.d.ts +91 -0
  28. package/dist/lease/store.d.ts.map +1 -0
  29. package/dist/lease/store.js +168 -0
  30. package/dist/lease/store.js.map +1 -0
  31. package/dist/model/demand.d.ts +70 -0
  32. package/dist/model/demand.d.ts.map +1 -0
  33. package/dist/model/demand.js +131 -0
  34. package/dist/model/demand.js.map +1 -0
  35. package/dist/model/index.d.ts +2 -0
  36. package/dist/model/index.d.ts.map +1 -1
  37. package/dist/model/index.js +3 -0
  38. package/dist/model/index.js.map +1 -1
  39. package/dist/model/item.d.ts +24 -1
  40. package/dist/model/item.d.ts.map +1 -1
  41. package/dist/model/item.js.map +1 -1
  42. package/dist/read/contract.d.ts +119 -5
  43. package/dist/read/contract.d.ts.map +1 -1
  44. package/dist/read/contract.js +195 -1
  45. package/dist/read/contract.js.map +1 -1
  46. package/dist/read/index.d.ts +8 -1
  47. package/dist/read/index.d.ts.map +1 -1
  48. package/dist/read/index.js +26 -0
  49. package/dist/read/index.js.map +1 -1
  50. package/dist/state/fold.d.ts +9 -0
  51. package/dist/state/fold.d.ts.map +1 -1
  52. package/dist/state/fold.js +60 -0
  53. package/dist/state/fold.js.map +1 -1
  54. package/dist/state/snapshot.d.ts +2 -0
  55. package/dist/state/snapshot.d.ts.map +1 -1
  56. package/dist/state/snapshot.js +2 -0
  57. package/dist/state/snapshot.js.map +1 -1
  58. package/dist/track.d.ts +140 -1
  59. package/dist/track.d.ts.map +1 -1
  60. package/dist/track.js +275 -2
  61. package/dist/track.js.map +1 -1
  62. package/package.json +1 -1
@@ -6,7 +6,9 @@ import type { VerificationRun } from '../model/verification.js';
6
6
  import { type StatusGroup, type StatusLevel } from '../report/status-by-level.js';
7
7
  import { type QueryFilter, type Report, type ReportOptions, type ReportRow } from '../report/build.js';
8
8
  import type { Dossier, Outcome } from '../model/decision.js';
9
+ import type { DemandId, DemandRaw, DemandRef, DemandSource, DemandStatus, DemandType } from '../model/demand.js';
9
10
  import type { WorkEventKind } from '../ingest/contract.js';
11
+ import { type Lease } from '../lease/store.js';
10
12
  import { type ScopeValidateInput, type ScopeValidateResult } from './scope-validate.js';
11
13
  import { type TrackGraphFragment } from '../graph-export.js';
12
14
  /**
@@ -16,7 +18,7 @@ import { type TrackGraphFragment } from '../graph-export.js';
16
18
  * shapes it returns may only GROW (new methods / new optional fields); nothing is removed or
17
19
  * repurposed without a major bump. Consumers gate on `reader.contractVersion`.
18
20
  */
19
- export declare const READ_CONTRACT_VERSION = "1.10.0";
21
+ export declare const READ_CONTRACT_VERSION = "1.12.0";
20
22
  /** Provenance of the last `branch.imported` for a locator (drawn from the raw event log). */
21
23
  export interface BranchProvenance {
22
24
  locator: string;
@@ -62,8 +64,13 @@ export interface ExternalDependency {
62
64
  engagementRef: string;
63
65
  openedAt: string;
64
66
  }
65
- /** Why a workspace item/decision is durably stuck (each reason is one PURE staleness predicate). */
66
- export type StalledReason = 'awaited-open-blocker' | 'pending-decision' | 'in-progress-idle' | 'todo-idle';
67
+ /**
68
+ * Why a workspace item/decision/demand is durably stuck (each reason is one PURE staleness predicate).
69
+ * The two demand-axis reasons (`demand-unqualified-idle` / `spec-abandoned-idle`) are ADDITIVE (Build 2):
70
+ * they reuse the EXACT stalled machinery (first-match-wins, `since`) WITHOUT overloading the existing four
71
+ * (an existing consumer that only knows the first four still reads its items unchanged).
72
+ */
73
+ export type StalledReason = 'awaited-open-blocker' | 'pending-decision' | 'in-progress-idle' | 'todo-idle' | 'demand-unqualified-idle' | 'spec-abandoned-idle';
67
74
  /** One durably-stuck item/decision, with the timestamp the staleness is measured from. */
68
75
  export interface StalledItem {
69
76
  id: ItemId;
@@ -81,10 +88,24 @@ export interface WorkspaceActivity {
81
88
  workspace: string;
82
89
  /** Count of items bucketed TO-DO or AWAITED for the workspace (open work; not DONE/DROPPED). */
83
90
  pending: number;
84
- /** Items/decisions stuck longer than `idleMs` — the disjunction of the 4 staleness predicates. */
91
+ /** Items/decisions/demands stuck longer than `idleMs` — the disjunction of the staleness predicates. */
85
92
  stalled: StalledItem[];
86
93
  /** Max `event.at` scoped to the workspace (informational — h2a corroborates vs live presence). */
87
94
  latestEventAt?: string;
95
+ /**
96
+ * Demand lifecycle (Mode A, Build 2) — ADDITIVE demand counters for the workspace (absent before this lot;
97
+ * a consumer that never reads it is unaffected). Counts demands by their live lifecycle status.
98
+ */
99
+ demands?: WorkspaceDemandCounts;
100
+ }
101
+ /** Demand counters surfaced on {@link WorkspaceActivity} (Build 2, additive). Open-lifecycle counts. */
102
+ export interface WorkspaceDemandCounts {
103
+ /** Demands in `raised` (captured, not yet claimed). */
104
+ raised: number;
105
+ /** Demands in `qualifying` (claimed, being qualified). */
106
+ qualifying: number;
107
+ /** Demands that reached `agreed` (the PIVOT — promoted to item(s)). */
108
+ agreed: number;
88
109
  }
89
110
  /** Options for {@link TrackReader.workspaceActivity}. `now`/`idleMs` are CALLER-supplied (no clock here). */
90
111
  export interface WorkspaceActivityOptions {
@@ -93,6 +114,12 @@ export interface WorkspaceActivityOptions {
93
114
  now: string;
94
115
  /** Staleness window in ms; default 24h ⇒ "stalled" = DURABLY stuck. */
95
116
  idleMs?: number;
117
+ /**
118
+ * Demand lifecycle (Mode A, Build 2) — the ephemeral leases to evaluate abandonment against (PURE: the
119
+ * caller injects them, so the read stays deterministic + testable). Omitted ⇒ read from the side-store
120
+ * beside the log (`.track/leases.json`). Abandonment is computed vs `now` (`now − heartbeatAt > ttlMs`).
121
+ */
122
+ leases?: Lease[];
96
123
  }
97
124
  /**
98
125
  * A cheap change cursor over the log tail — the host's liveness primitive. `head` is the log-tail event's
@@ -225,6 +252,71 @@ export interface AcceptanceDetail {
225
252
  status: AcceptanceStatus;
226
253
  criteria: CriterionAcceptanceDetail[];
227
254
  }
255
+ /** The advisory lease state for a demand/item subject, evaluated vs an injected `now` (DESIGN §Reads). */
256
+ export type LeaseState = 'none' | 'live' | 'abandoned';
257
+ /**
258
+ * The materialized read view of ONE demand (DESIGN §Reads). PURE projection over the folded `DemandState`
259
+ * + the ephemeral lease (vs `now`). `lastHandler` is folded from the latest demand-axis event's `handler`;
260
+ * `currentHandler` is the LIVE lease holder (undefined when there is no lease OR it is abandoned). The
261
+ * `affordances` are the legal next WorkEvent kinds for the demand's status (the canevas's dead-button-free
262
+ * open actions).
263
+ */
264
+ export interface DemandView {
265
+ id: DemandId;
266
+ status: DemandStatus;
267
+ type: DemandType;
268
+ raw: DemandRaw;
269
+ source: DemandSource;
270
+ itemIds?: ItemId[];
271
+ duplicateOf?: DemandRef;
272
+ /** The handler folded from the LATEST demand-axis event on this demand (who LAST acted). */
273
+ lastHandler?: ActorId;
274
+ /** The handler of the LIVE lease on this demand (undefined when none/abandoned) — who is handling NOW. */
275
+ currentHandler?: ActorId;
276
+ /** The advisory lease state vs the injected `now`: no lease / live / abandoned (silent-timeout F1). */
277
+ leaseState: LeaseState;
278
+ /** The legal next WorkEvent kinds given the demand's status (open-action affordances). */
279
+ affordances: WorkEventKind[];
280
+ }
281
+ /** Origin of a lifecycle step's write — `'agent'` iff `prov.proposed` (an AI proposal), else `'human'`. */
282
+ export type LifecycleOrigin = AmendmentOrigin;
283
+ /**
284
+ * One ordered, prov-tagged + HANDLER-tagged step in a demand/item aggregate's lifecycle trace (DESIGN
285
+ * §Reads — the demand-axis sibling of `amendmentTrace`). A PURE replay projection over the aggregate's
286
+ * lifecycle events (ZERO new event data). Carries `{seq, at, by, handler?, status?, prov, origin}`: `by` is
287
+ * the event writer; `handler` is the folded "qui traite" (the h2a instance id from the payload); `status` is
288
+ * the demand status this step transitions TO (for a demand step); `origin` derives from `prov.proposed`.
289
+ */
290
+ export interface LifecycleStep {
291
+ seq: number;
292
+ at: string;
293
+ by: ActorId;
294
+ kind: EventType;
295
+ /** The handler ("qui traite", the h2a instance id) recorded on the step's payload (when present). */
296
+ handler?: ActorId;
297
+ /** The demand status this step transitions TO (demand steps only; absent for item/spec steps). */
298
+ status?: DemandStatus;
299
+ prov: AmendmentProv;
300
+ /** `'machine'` iff `prov.proposed` (an AI proposal); else `'human'`. Derived, not stored. */
301
+ origin: LifecycleOrigin;
302
+ }
303
+ /** The subject of a {@link TrackReader.lifecycleTrace} — a demand or an item aggregate. */
304
+ export interface LifecycleSubject {
305
+ kind: 'demand' | 'item';
306
+ id: string;
307
+ }
308
+ /** Options for {@link TrackReader.demands}. `now` is CALLER-supplied (track holds no clock). */
309
+ export interface DemandsOptions {
310
+ /** ISO-8601 "current" time supplied by the caller — abandonment is computed vs this (no clock here). */
311
+ now: string;
312
+ /**
313
+ * The ephemeral leases to evaluate (PURE: caller-injected ⇒ deterministic + testable). Omitted ⇒ read from
314
+ * the side-store beside the log (`.track/leases.json`). Abandonment: `now − heartbeatAt > ttlMs`.
315
+ */
316
+ leases?: Lease[];
317
+ /** Reserved staleness window (ms) — accepted for forward-compat with the DESIGN signature; unused today. */
318
+ idleMs?: number;
319
+ }
228
320
  /**
229
321
  * Read-only, versioned consumption surface over a frozen track log. Holds NO `git` and only reads
230
322
  * the event file/head via `fs` — a baseline commit is supplied by the caller via `ReportOptions`
@@ -232,7 +324,7 @@ export interface AcceptanceDetail {
232
324
  */
233
325
  export declare class TrackReader {
234
326
  private readonly eventsPath;
235
- readonly contractVersion = "1.10.0";
327
+ readonly contractVersion = "1.12.0";
236
328
  private readonly store;
237
329
  constructor(eventsPath: string);
238
330
  private events;
@@ -270,6 +362,28 @@ export declare class TrackReader {
270
362
  * BOTH appear — the machine origin is NEVER laundered away.
271
363
  */
272
364
  amendmentTrace(aggregateId: ItemId): AmendmentStep[];
365
+ /**
366
+ * Demand lifecycle (Mode A, Build 2) — the materialized DEMAND views for ONE workspace (DESIGN §Reads).
367
+ * PURE/clockless: per demand, the folded lifecycle state (`status`/`type`/`raw`/`source`/`itemIds`/
368
+ * `duplicateOf`) + `lastHandler` (folded from the LATEST demand-axis event's handler) + `currentHandler`
369
+ * (the LIVE lease holder, undefined when none/abandoned) + `leaseState` (`none`/`live`/`abandoned`, vs the
370
+ * injected `now`) + `affordances` (legal next WorkEvent kinds by status). The leases are caller-injected
371
+ * (deterministic) OR read from the side-store beside the log; the lease NEVER gated the durable facts.
372
+ */
373
+ demands(workspace: string, opts: DemandsOptions): DemandView[];
374
+ /**
375
+ * Demand lifecycle (Mode A, Build 2) — the ORDERED (by seq), prov-tagged + HANDLER-tagged lifecycle
376
+ * projection over an aggregate's lifecycle events (DESIGN §Reads — the demand-axis sibling of
377
+ * `amendmentTrace`). For a `demand`: demand.raised / qualifying-started / agreed / disposition. For an
378
+ * `item`: item.created (the promotion) + spec.started / spec.abandoned (the durable handler facts) +
379
+ * spec/realization transitions. PURE replay; ZERO new event data. Each step carries
380
+ * `{seq, at, by, handler?, status?, prov, origin}` — `origin` derives from `prov.proposed`. The DURABLE
381
+ * `spec.abandoned` (explicit abandon, F1) surfaces here, distinct from a silent lease timeout (which has
382
+ * NO durable fact and surfaces only via `demands()`/`workspaceActivity`'s lease state).
383
+ */
384
+ lifecycleTrace(subject: LifecycleSubject): LifecycleStep[];
385
+ /** Load the leases to evaluate: caller-injected (deterministic) OR the side-store beside the log. */
386
+ private loadLeases;
273
387
  /**
274
388
  * Scope §A/§B — `status(level)` projection (spec|plan|wp|lot|task). Additive read-only generalization
275
389
  * of `computeWpTree`+`bucketOf`; adds no aggregate, no stored status axis. `requireAccepted` (default
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/read/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/read/contract.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import { statusByLevel } from '../report/status-by-level.js';
18
18
  import { effectiveOpenBlockersForItem } from '../report/blocker-status.js';
19
19
  import { buildReport, query as runQuery, } from '../report/build.js';
20
20
  import { fold } from '../state/fold.js';
21
+ import { LeaseStore, isLeaseAbandoned, leasesPathFor } from '../lease/store.js';
21
22
  import { scopeValidate as runScopeValidate, } from './scope-validate.js';
22
23
  import { graphExportFromState } from '../graph-export.js';
23
24
  /**
@@ -27,7 +28,7 @@ import { graphExportFromState } from '../graph-export.js';
27
28
  * shapes it returns may only GROW (new methods / new optional fields); nothing is removed or
28
29
  * repurposed without a major bump. Consumers gate on `reader.contractVersion`.
29
30
  */
30
- export const READ_CONTRACT_VERSION = '1.10.0'; // +acceptanceDetail (anchor-freshness read detail) — additive
31
+ export const READ_CONTRACT_VERSION = '1.12.0'; // +demand lease (ephemeral) reads: demands()/lifecycleTrace()/workspaceActivity+canevas demand surfacing — additive (D7)
31
32
  /** Thrown by `requireFresh` when the sidecar is unsafe to consume (stale, absent, or tampered). */
32
33
  export class StaleSidecarError extends Error {
33
34
  detail;
@@ -80,6 +81,58 @@ function decisionAffordances(outcome) {
80
81
  out.push('decision.outcome');
81
82
  return out;
82
83
  }
84
+ /**
85
+ * Open-action affordances for a demand by its lifecycle status (DESIGN §Reads):
86
+ * raised → [demand.claim]; qualifying → [demand.agree, demand.disposition]; parked → [demand.claim];
87
+ * terminal (agreed/rejected/duplicate) → []. Mirrors `DEMAND_TRANSITIONS` so the canevas never offers a
88
+ * dead button (the facade re-checks legality at append).
89
+ */
90
+ function demandAffordances(status) {
91
+ switch (status) {
92
+ case 'raised':
93
+ case 'parked':
94
+ return ['demand.claim'];
95
+ case 'qualifying':
96
+ return ['demand.agree', 'demand.disposition'];
97
+ default:
98
+ return []; // agreed / rejected / duplicate — terminal on the demand axis
99
+ }
100
+ }
101
+ // The persisted event types projected into a demand's lifecycle trace (the demand-axis amendment sibling).
102
+ const DEMAND_LIFECYCLE_EVENT_TYPES = new Set([
103
+ 'demand.raised',
104
+ 'demand.qualifying-started',
105
+ 'demand.agreed',
106
+ 'demand.disposition',
107
+ ]);
108
+ // The persisted event types projected into an ITEM's lifecycle trace (the spec-attempt handler facts + the
109
+ // item.created promotion + the spec/realization transitions that carry a handler).
110
+ const ITEM_LIFECYCLE_EVENT_TYPES = new Set([
111
+ 'item.created',
112
+ 'spec.started',
113
+ 'spec.abandoned',
114
+ 'spec.transition',
115
+ 'realization.transition',
116
+ ]);
117
+ /**
118
+ * The demand status a lifecycle STEP transitions TO (for demand-axis events only). raised⇒raised;
119
+ * qualifying-started⇒qualifying; agreed⇒agreed; disposition⇒its `outcome` (rejected|duplicate|parked).
120
+ * Returns undefined for item/spec steps (those carry no demand status).
121
+ */
122
+ function demandStatusOfStep(type, outcome) {
123
+ switch (type) {
124
+ case 'demand.raised':
125
+ return 'raised';
126
+ case 'demand.qualifying-started':
127
+ return 'qualifying';
128
+ case 'demand.agreed':
129
+ return 'agreed';
130
+ case 'demand.disposition':
131
+ return typeof outcome === 'string' ? outcome : undefined;
132
+ default:
133
+ return undefined;
134
+ }
135
+ }
83
136
  /**
84
137
  * Read-only, versioned consumption surface over a frozen track log. Holds NO `git` and only reads
85
138
  * the event file/head via `fs` — a baseline commit is supplied by the caller via `ReportOptions`
@@ -206,6 +259,15 @@ export class TrackReader {
206
259
  surface(d.id);
207
260
  affordances[d.id] = decisionAffordances(d.outcome);
208
261
  }
262
+ // Demand lifecycle (Mode A, Build 2) — surface demands ON THE CANEVAS (reuse the latestProvAt loop keyed
263
+ // on the demand aggregateId) + demand affordances (legal next actions by status). Demands are NOT items,
264
+ // so they never appear in `report.buckets`; they get their own prov-lineage + affordance entries here.
265
+ for (const demand of state.demands.values()) {
266
+ if (demand.workspace !== workspace)
267
+ continue;
268
+ surface(demand.id);
269
+ affordances[demand.id] = demandAffordances(demand.status);
270
+ }
209
271
  const view = { workspace, report, prov, affordances };
210
272
  if (opts.decisionId !== undefined) {
211
273
  const d = state.decisions.get(opts.decisionId);
@@ -249,6 +311,95 @@ export class TrackReader {
249
311
  }
250
312
  return steps.sort((a, b) => a.seq - b.seq);
251
313
  }
314
+ /**
315
+ * Demand lifecycle (Mode A, Build 2) — the materialized DEMAND views for ONE workspace (DESIGN §Reads).
316
+ * PURE/clockless: per demand, the folded lifecycle state (`status`/`type`/`raw`/`source`/`itemIds`/
317
+ * `duplicateOf`) + `lastHandler` (folded from the LATEST demand-axis event's handler) + `currentHandler`
318
+ * (the LIVE lease holder, undefined when none/abandoned) + `leaseState` (`none`/`live`/`abandoned`, vs the
319
+ * injected `now`) + `affordances` (legal next WorkEvent kinds by status). The leases are caller-injected
320
+ * (deterministic) OR read from the side-store beside the log; the lease NEVER gated the durable facts.
321
+ */
322
+ demands(workspace, opts) {
323
+ const events = this.events();
324
+ const state = fold(events);
325
+ const leases = this.loadLeases(opts.leases);
326
+ // The handler folded from the LATEST demand-axis event per demand (who LAST acted on the demand axis).
327
+ const lastHandler = new Map();
328
+ for (const e of events) {
329
+ if (!DEMAND_LIFECYCLE_EVENT_TYPES.has(e.type))
330
+ continue;
331
+ const h = e.payload.handler;
332
+ if (typeof h === 'string')
333
+ lastHandler.set(e.aggregateId, h); // stream order ⇒ last write wins
334
+ }
335
+ const out = [];
336
+ for (const demand of state.demands.values()) {
337
+ if (demand.workspace !== workspace)
338
+ continue;
339
+ const lease = leases.find((l) => l.subject.kind === 'demand' && l.subject.id === demand.id);
340
+ const leaseState = lease === undefined ? 'none' : isLeaseAbandoned(lease, opts.now) ? 'abandoned' : 'live';
341
+ const handler = lastHandler.get(demand.id);
342
+ out.push({
343
+ id: demand.id,
344
+ status: demand.status,
345
+ type: demand.type,
346
+ raw: demand.raw,
347
+ source: demand.source,
348
+ leaseState,
349
+ affordances: demandAffordances(demand.status),
350
+ ...(demand.itemIds !== undefined ? { itemIds: demand.itemIds } : {}),
351
+ ...(demand.duplicateOf !== undefined ? { duplicateOf: demand.duplicateOf } : {}),
352
+ ...(handler !== undefined ? { lastHandler: handler } : {}),
353
+ // currentHandler = the LIVE lease holder ONLY (undefined when none/abandoned — F1 silent timeout).
354
+ ...(leaseState === 'live' ? { currentHandler: lease.holder } : {}),
355
+ });
356
+ }
357
+ return out;
358
+ }
359
+ /**
360
+ * Demand lifecycle (Mode A, Build 2) — the ORDERED (by seq), prov-tagged + HANDLER-tagged lifecycle
361
+ * projection over an aggregate's lifecycle events (DESIGN §Reads — the demand-axis sibling of
362
+ * `amendmentTrace`). For a `demand`: demand.raised / qualifying-started / agreed / disposition. For an
363
+ * `item`: item.created (the promotion) + spec.started / spec.abandoned (the durable handler facts) +
364
+ * spec/realization transitions. PURE replay; ZERO new event data. Each step carries
365
+ * `{seq, at, by, handler?, status?, prov, origin}` — `origin` derives from `prov.proposed`. The DURABLE
366
+ * `spec.abandoned` (explicit abandon, F1) surfaces here, distinct from a silent lease timeout (which has
367
+ * NO durable fact and surfaces only via `demands()`/`workspaceActivity`'s lease state).
368
+ */
369
+ lifecycleTrace(subject) {
370
+ const wanted = subject.kind === 'demand' ? DEMAND_LIFECYCLE_EVENT_TYPES : ITEM_LIFECYCLE_EVENT_TYPES;
371
+ const steps = [];
372
+ for (const e of this.events()) {
373
+ if (e.aggregateId !== subject.id)
374
+ continue;
375
+ if (!wanted.has(e.type))
376
+ continue;
377
+ const proposed = e.prov?.proposed ?? false;
378
+ const p = e.payload;
379
+ const status = demandStatusOfStep(e.type, p.outcome);
380
+ steps.push({
381
+ seq: e.seq,
382
+ at: e.at,
383
+ by: e.by,
384
+ kind: e.type,
385
+ prov: {
386
+ proposed,
387
+ auth: e.prov?.auth ?? 'local-user',
388
+ ...(e.prov?.principal !== undefined ? { principal: e.prov.principal } : {}),
389
+ },
390
+ origin: proposed ? 'machine' : 'human',
391
+ ...(typeof p.handler === 'string' ? { handler: p.handler } : {}),
392
+ ...(status !== undefined ? { status } : {}),
393
+ });
394
+ }
395
+ return steps.sort((a, b) => a.seq - b.seq);
396
+ }
397
+ /** Load the leases to evaluate: caller-injected (deterministic) OR the side-store beside the log. */
398
+ loadLeases(injected) {
399
+ if (injected !== undefined)
400
+ return injected;
401
+ return new LeaseStore(leasesPathFor(this.eventsPath)).readAll();
402
+ }
252
403
  /**
253
404
  * Scope §A/§B — `status(level)` projection (spec|plan|wp|lot|task). Additive read-only generalization
254
405
  * of `computeWpTree`+`bucketOf`; adds no aggregate, no stored status axis. `requireAccepted` (default
@@ -400,6 +551,11 @@ export class TrackReader {
400
551
  // First match wins per aggregate (reasons are listed in priority order); an id appears once.
401
552
  const stalled = [];
402
553
  const isOld = (at) => at !== undefined && Date.parse(at) < threshold;
554
+ // Demand lifecycle (Mode A, Build 2) — leases for the two new demand-axis stalled reasons. Caller-
555
+ // injected (deterministic) OR read from the side-store; abandonment is computed vs `opts.now`.
556
+ const leases = this.loadLeases(opts.leases);
557
+ const leaseFor = (kind, id) => leases.find((l) => l.subject.kind === kind && l.subject.id === id);
558
+ const isAbandoned = (lease) => lease !== undefined && isLeaseAbandoned(lease, opts.now);
403
559
  for (const item of state.items.values()) {
404
560
  if (item.workspace !== workspace)
405
561
  continue;
@@ -408,6 +564,17 @@ export class TrackReader {
408
564
  const bucket = bucketOf(state, item, config);
409
565
  if (bucket === 'TO-DO' || bucket === 'AWAITED')
410
566
  pending++;
567
+ // (6) spec-abandoned-idle — a PROMOTED (agreed) item with an ABANDONED spec-lease (a silent spec
568
+ // timeout). MORE SPECIFIC than the generic to-do/in-progress idle below ⇒ checked FIRST (first-match-
569
+ // wins): a silently-timed-out spec attempt is the meaningful stall, not "this item is just old". The
570
+ // `since` = the lease `heartbeatAt` (when the silent timeout began).
571
+ if (item.demandId !== undefined && bucket !== 'DONE' && bucket !== 'DROPPED') {
572
+ const lease = leaseFor('item', item.id);
573
+ if (isAbandoned(lease) && isOld(lease.heartbeatAt)) {
574
+ stalled.push({ id: item.id, title: item.title, reason: 'spec-abandoned-idle', since: lease.heartbeatAt });
575
+ continue; // exclusive of the generic idle predicates below (first-match-wins)
576
+ }
577
+ }
411
578
  if (bucket === 'AWAITED') {
412
579
  // (1) awaited-open-blocker — oldest open blocker openedAt drives the staleness.
413
580
  const open = effectiveOpenBlockersForItem(state, item.id, config.baselineCommit);
@@ -446,11 +613,38 @@ export class TrackReader {
446
613
  }
447
614
  }
448
615
  }
616
+ // Demand lifecycle (Mode A, Build 2) — ADDITIVE demand counters + the demand-unqualified-idle reason.
617
+ // Reuses the EXACT stalled machinery (first-match-wins per id, a `since` anchor).
618
+ let raised = 0;
619
+ let qualifying = 0;
620
+ let agreed = 0;
621
+ let hasDemands = false;
622
+ for (const demand of state.demands.values()) {
623
+ if (demand.workspace !== workspace)
624
+ continue;
625
+ hasDemands = true;
626
+ if (demand.status === 'raised')
627
+ raised++;
628
+ else if (demand.status === 'qualifying')
629
+ qualifying++;
630
+ else if (demand.status === 'agreed')
631
+ agreed++;
632
+ // (5) demand-unqualified-idle — a `qualifying` demand whose lease is ABANDONED (silent timeout) AND
633
+ // whose latest demand-event predates the window. The `since` = the latest demand-axis event `at`.
634
+ if (demand.status === 'qualifying') {
635
+ const lease = leaseFor('demand', demand.id);
636
+ const since = latestAt.get(demand.id);
637
+ if (isAbandoned(lease) && isOld(since)) {
638
+ stalled.push({ id: demand.id, title: demand.raw.title ?? demand.raw.text, reason: 'demand-unqualified-idle', since });
639
+ }
640
+ }
641
+ }
449
642
  return {
450
643
  workspace,
451
644
  pending,
452
645
  stalled,
453
646
  ...(latestEventAt !== undefined ? { latestEventAt } : {}),
647
+ ...(hasDemands ? { demands: { raised, qualifying, agreed } } : {}),
454
648
  };
455
649
  }
456
650
  /** Latest VALID `branch.imported` provenance for `locator`, or `undefined`. */
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/read/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/read/contract.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
- export { READ_CONTRACT_VERSION, StaleSidecarError, TrackReader, type AmendmentOrigin, type AmendmentProv, type AmendmentStep, type BranchProvenance, type CanevasOptions, type CanevasView, type Cursor, type CursorDelta, type DecisionDossierView, type ExternalDependency, type Freshness, type GraphExportOptions, type ProvLineage, type StalledItem, type StalledReason, type WorkspaceActivity, type WorkspaceActivityOptions, } from './contract.js';
1
+ export { READ_CONTRACT_VERSION, StaleSidecarError, TrackReader, type AmendmentOrigin, type AmendmentProv, type AmendmentStep, type BranchProvenance, type CanevasOptions, type CanevasView, type Cursor, type CursorDelta, type DecisionDossierView, type ExternalDependency, type Freshness, type GraphExportOptions, type ProvLineage, type StalledItem, type StalledReason, type WorkspaceActivity, type WorkspaceActivityOptions, type DemandView, type DemandsOptions, type LeaseState, type LifecycleOrigin, type LifecycleStep, type LifecycleSubject, type WorkspaceDemandCounts, } from './contract.js';
2
+ export { type Lease, type LeasePhase, type LeaseSubject } from '../lease/store.js';
2
3
  export { type TrackGraphEdge, type TrackGraphFragment, type TrackGraphNode, type TrackGraphProvenance, } from '../graph-export.js';
3
4
  export { type GroupStatus, type StatusGroup, type StatusLevel } from '../report/status-by-level.js';
4
5
  export { type VerificationRun, type Verdict } from '../model/verification.js';
5
6
  export { type EvidenceStatus, type PerWp, type ScopeFinding, type ScopeFindingCode, type ScopeValidateInput, type ScopeValidateResult, type ScopeValidateStatus, type SemanticStatus, } from './scope-validate.js';
7
+ export { type ComprehensionEvidence, type Dossier, type DossierArtifact, type Option, type Outcome, type QAEntry, } from '../model/decision.js';
8
+ export { type PriorityAssessment } from '../model/priority.js';
9
+ export { type ItemId } from '../model/item.js';
10
+ export { type DemandId, type DemandRaw, type DemandRef, type DemandSource, type DemandStatus, type DemandType, } from '../model/demand.js';
11
+ export { type ActorId, type EventType, type Provenance, type Sha256 } from '../events/types.js';
12
+ export { type WorkEventKind } from '../ingest/contract.js';
6
13
  //# sourceMappingURL=index.d.ts.map
@@ -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,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAA;AAE3B,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"}
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,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAE7B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAA;AAE3B,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;AAO5B,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,OAAO,GACb,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAA;AAI3B,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAI/F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,9 +1,35 @@
1
1
  // Read contract barrel (Lot v2.0) — the skill-facing, versioned, read-only surface.
2
2
  export { READ_CONTRACT_VERSION, StaleSidecarError, TrackReader, } from './contract.js';
3
+ // Demand lifecycle (Mode A, Build 2) — the ephemeral lease side-store shape (READ surface: a consumer may
4
+ // inject leases into demands()/workspaceActivity, or read the side-store directly).
5
+ export {} from '../lease/store.js';
3
6
  export {} from '../graph-export.js';
4
7
  // Scope §A/§B — projection/evidence types re-exported for skill consumers of the read contract.
5
8
  export {} from '../report/status-by-level.js';
6
9
  export {} from '../model/verification.js';
7
10
  // Scope §B(b) — the advisory scope-validate read surface.
8
11
  export {} from './scope-validate.js';
12
+ // Self-contained /read (1.11.0, additive) — the foundational/model types NAMED in the public shapes of the
13
+ // read-contract interfaces above, so a versioned consumer (Focus-M1 L2) binds against `/read` ALONE without
14
+ // reaching into the unversioned main `@sentropic/track` barrel. Pure type re-exports — no value, no logic.
15
+ // from ../model/decision.js — Dossier (DecisionDossierView.dossier) + its constituents (Option/QAEntry on
16
+ // Dossier.{options,qa}; DossierArtifact on Dossier.artifacts; ComprehensionEvidence on a DossierArtifact)
17
+ // and Outcome (DecisionDossierView.outcome / decision affordances).
18
+ export {} from '../model/decision.js';
19
+ // from ../model/priority.js — PriorityAssessment (Dossier.decisionEvaluation — the frozen priority snapshot).
20
+ export {} from '../model/priority.js';
21
+ // from ../model/item.js — ItemId (DecisionDossierView.id, CanevasOptions.decisionId, StalledItem.id, the
22
+ // amendmentTrace/verificationRuns/acceptanceDetail parameters).
23
+ export {} from '../model/item.js';
24
+ // from ../model/demand.js (Build 2, 1.12.0) — the demand-axis types NAMED in DemandView's public shape
25
+ // (id/status/type/raw/source/duplicateOf) so a versioned consumer binds against `/read` ALONE.
26
+ export {} from '../model/demand.js';
27
+ // from ../events/types.js — ActorId (AmendmentStep.by), EventType (AmendmentStep.kind / the amendment event
28
+ // kinds), Provenance (AmendmentProv.auth / ProvLineage.auth = Provenance['auth']), Sha256 (Cursor.head,
29
+ // Freshness, BranchProvenance.{sourceHash,structureHash}).
30
+ export {} from '../events/types.js';
31
+ // from ../ingest/contract.js — WorkEventKind (DemandView.affordances + CanevasView.affordances element type:
32
+ // the legal next-action WorkEvent kinds), so a versioned consumer names the affordances element type
33
+ // against `/read` ALONE without reaching into the unversioned ingest contract.
34
+ export {} from '../ingest/contract.js';
9
35
  //# sourceMappingURL=index.js.map