openplanr 1.24.1 → 1.25.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 (55) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/cli/commands/operate.d.ts +2 -0
  3. package/dist/cli/commands/operate.d.ts.map +1 -1
  4. package/dist/cli/commands/operate.js +187 -23
  5. package/dist/cli/commands/operate.js.map +1 -1
  6. package/dist/services/operate/advisors.d.ts +128 -0
  7. package/dist/services/operate/advisors.d.ts.map +1 -1
  8. package/dist/services/operate/advisors.js +269 -24
  9. package/dist/services/operate/advisors.js.map +1 -1
  10. package/dist/services/operate/artifacts.d.ts +8 -0
  11. package/dist/services/operate/artifacts.d.ts.map +1 -1
  12. package/dist/services/operate/artifacts.js +22 -2
  13. package/dist/services/operate/artifacts.js.map +1 -1
  14. package/dist/services/operate/citation-resolution.d.ts +49 -3
  15. package/dist/services/operate/citation-resolution.d.ts.map +1 -1
  16. package/dist/services/operate/citation-resolution.js +295 -68
  17. package/dist/services/operate/citation-resolution.js.map +1 -1
  18. package/dist/services/operate/config.d.ts +25 -5
  19. package/dist/services/operate/config.d.ts.map +1 -1
  20. package/dist/services/operate/config.js +38 -7
  21. package/dist/services/operate/config.js.map +1 -1
  22. package/dist/services/operate/engine.d.ts +1 -1
  23. package/dist/services/operate/engine.d.ts.map +1 -1
  24. package/dist/services/operate/engine.js +8 -1
  25. package/dist/services/operate/engine.js.map +1 -1
  26. package/dist/services/operate/index.d.ts.map +1 -1
  27. package/dist/services/operate/index.js +33 -1
  28. package/dist/services/operate/index.js.map +1 -1
  29. package/dist/services/operate/maintenance.d.ts +1 -1
  30. package/dist/services/operate/maintenance.d.ts.map +1 -1
  31. package/dist/services/operate/maintenance.js +121 -16
  32. package/dist/services/operate/maintenance.js.map +1 -1
  33. package/dist/services/operate/migration.d.ts.map +1 -1
  34. package/dist/services/operate/migration.js +10 -2
  35. package/dist/services/operate/migration.js.map +1 -1
  36. package/dist/services/operate/projection-persistence.d.ts +33 -0
  37. package/dist/services/operate/projection-persistence.d.ts.map +1 -1
  38. package/dist/services/operate/projection-persistence.js +99 -2
  39. package/dist/services/operate/projection-persistence.js.map +1 -1
  40. package/dist/services/operate/protocol.d.ts +2 -0
  41. package/dist/services/operate/protocol.d.ts.map +1 -1
  42. package/dist/services/operate/protocol.js.map +1 -1
  43. package/dist/services/operate/read-only-providers.d.ts +1 -0
  44. package/dist/services/operate/read-only-providers.d.ts.map +1 -1
  45. package/dist/services/operate/read-only-providers.js +10 -5
  46. package/dist/services/operate/read-only-providers.js.map +1 -1
  47. package/dist/services/operate/report-html.d.ts +32 -0
  48. package/dist/services/operate/report-html.d.ts.map +1 -0
  49. package/dist/services/operate/report-html.js +289 -0
  50. package/dist/services/operate/report-html.js.map +1 -0
  51. package/dist/services/operate/workspace.d.ts +10 -1
  52. package/dist/services/operate/workspace.d.ts.map +1 -1
  53. package/dist/services/operate/workspace.js +23 -0
  54. package/dist/services/operate/workspace.js.map +1 -1
  55. package/package.json +1 -1
@@ -1,8 +1,6 @@
1
1
  import { stat } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { pathToFileURL } from 'node:url';
4
- import { resolvePipelinePackage } from '../pipeline-package-service.js';
5
- import { resolvePlanrArtifactCitation } from './artifacts.js';
3
+ import { isPlanrArtifactId, resolvePlanrArtifactCitation } from './artifacts.js';
6
4
  import { canonicalDigest } from './canonical.js';
7
5
  import { assertOperatingArtifact } from './protocol.js';
8
6
  import { gitRevisionResolves, readGitCommitSummary, readGitPathAtRevision, } from './read-only-providers.js';
@@ -13,43 +11,133 @@ import { isPathInside } from './workspace.js';
13
11
  * FR3 (E-003) — resolve every citation an advisor returns against the cycle's
14
12
  * pinned revision and snapshot the cited content into machine-local evidence.
15
13
  *
16
- * This module owns NO precedence and NO citation/gap shape. Every fact/reason
17
- * mapping (path → line → revision → artifact) and the canonical resolution and
18
- * unresolvable-citation gap records come from the installed pipeline's
19
- * `lib/operate/citation.mjs` (`operating-citation@1.3.0`). This module supplies
20
- * the facts — computed honestly against live git/`.planr/` state at the pinned
21
- * revision — and, on a resolved outcome, snapshots the cited bytes through the
22
- * standard redaction + secret-scan path before attaching the resulting evidence
23
- * ID to the proposal. A citation with any unresolvable component NEVER produces
24
- * an evidence ID: it fails closed into a gap, and its proposal never reaches
25
- * consolidation.
14
+ * Anchor shape is validated against `operating-citation@1.4.0` — the exact
15
+ * contract the advisor RESPONSE is validated against. The installed pipeline
16
+ * library only knows the frozen `operating-citation@1.3.0` anchor, whose
17
+ * repository-path pattern rejects the dot-prefixed roots every advisor mandate
18
+ * authorizes (`.github`, `.planr`, `.changeset`, …) and whose planr-artifact
19
+ * pattern rejects the product's real backlog/quick-task classes — the very
20
+ * anchors the v1.4.0 response schema ACCEPTS. Re-validating them under v1.3.0 at
21
+ * record time contradicted the mandate and degraded ~line-precise repository
22
+ * citations into bare `git` references. So this module owns the v1.4.0-aligned
23
+ * anchor validation, the resolution precedence, and the unresolvable-citation
24
+ * gap shape directly, until the Wave-3 protocol upgrade lets the library accept
25
+ * v1.4.0 anchors. The resolution binding stays BYTE-IDENTICAL to the library's:
26
+ * the snapshot digest is `canonicalDigest({ citation, facts })` — the same JCS
27
+ * the library's `sha256Jcs` computes — and a conformance test pins it to the
28
+ * installed library's output so the two can never silently drift.
26
29
  *
27
- * The one classification this module adds beyond the library — which by design
28
- * has no repo access and cannot make it — is the DISTINCT dirty-working-tree
29
- * rejection. The pin is frozen at cycle start; a citation into content that is
30
- * present in the working tree but not committed at the pin would otherwise be
31
- * indistinguishable from a fabricated path. Naming it distinctly keeps a
32
- * legitimate finding that points at in-flight work from being silently
33
- * discarded as a fabrication.
30
+ * Beyond the library's four fail-closed reasons this module adds two DISTINCT
31
+ * classifications the library — which has no repo/workspace access — cannot make:
32
+ * - `dirty-working-tree`: a cited path absent at the frozen pin but present and
33
+ * uncommitted in a dirty working tree, named separately from a fabrication so
34
+ * a finding that points at in-flight work is not discarded as invented; and
35
+ * - `external-component-unresolved`: a citation that names a sibling workspace
36
+ * component that cannot be resolved on this machine — an honest "cannot
37
+ * verify", never `fabricated-path`, which would accuse an advisor of inventing
38
+ * evidence into a repo it correctly named but this machine cannot check.
39
+ *
40
+ * A citation with any unresolvable component NEVER produces an evidence ID: it
41
+ * fails closed into a gap and its proposal never reaches consolidation.
34
42
  */
35
43
  const DEFAULT_SNAPSHOT_TTL_MS = 24 * 60 * 60 * 1_000;
36
- let cachedModule = null;
37
- async function loadCitationModule() {
38
- cachedModule ??= (async () => {
39
- const pkg = resolvePipelinePackage(false);
40
- if (!pkg) {
41
- throw new OperateError('E_PIPELINE_NOT_INSTALLED', 'Citation resolution requires the pipeline package with Protocol v1.3 (operating-citation@1.3.0).');
44
+ // Anchor patterns mirrored verbatim from `operating-citation@1.4.0`
45
+ // (`node_modules/planr-pipeline/schemas/v1.4.0/operating-citation.schema.json`).
46
+ // `pinnedRevision` is the resolver's cycle binding, not a schema field, but it
47
+ // shares the revision shape.
48
+ const CITATION_REVISION_PATTERN = /^[A-Fa-f0-9]{7,64}$/;
49
+ // Repository/git path: relative (no leading `/`), no `..` traversal segment.
50
+ // Dot-prefixed roots (`.github/…`, `.planr/…`) are explicitly permitted.
51
+ const CITATION_PATH_PATTERN = /^(?!\/)(?!.*(?:^|\/)\.\.(?:\/|$)).+$/;
52
+ const CITATION_COMPONENT_ID_PATTERN = /^[a-z][a-z0-9-]{0,63}$/;
53
+ const CITATION_KEY_PATTERN = /^[A-Za-z0-9._-]+$/;
54
+ /**
55
+ * Validate an anchor against `operating-citation@1.4.0` — the same shape the
56
+ * advisor response was validated against. Throws `E_OPERATE_STATE_INVALID` with
57
+ * a content-free diagnostic; returns nothing on success.
58
+ *
59
+ * Exported so the cross-component conformance suite can assert, against the real
60
+ * record-time anchor rather than a re-derived copy, that every declared mandate
61
+ * root and every bootstrap-reachable planr artifact class this same anchor must
62
+ * accept is in fact accepted here.
63
+ */
64
+ export function assertOperatingCitationAnchor(citation) {
65
+ const fail = (detail) => {
66
+ throw new OperateError('E_OPERATE_STATE_INVALID', `Citation is not a valid operating-citation@1.4.0 anchor: ${detail}.`);
67
+ };
68
+ if (citation === null || typeof citation !== 'object' || Array.isArray(citation)) {
69
+ fail('citation must be a plain object');
70
+ }
71
+ if (typeof citation.pinnedRevision !== 'string' ||
72
+ !CITATION_REVISION_PATTERN.test(citation.pinnedRevision)) {
73
+ fail("pinnedRevision must bind the citation to the cycle's 7–64 hex revision");
74
+ }
75
+ if (citation.citationKey !== undefined &&
76
+ (typeof citation.citationKey !== 'string' ||
77
+ citation.citationKey.length > 128 ||
78
+ !CITATION_KEY_PATTERN.test(citation.citationKey))) {
79
+ fail('citationKey must match ^[A-Za-z0-9._-]+$ and be at most 128 characters');
80
+ }
81
+ if (citation.componentId !== undefined &&
82
+ (typeof citation.componentId !== 'string' ||
83
+ !CITATION_COMPONENT_ID_PATTERN.test(citation.componentId))) {
84
+ fail('componentId must match ^[a-z][a-z0-9-]{0,63}$');
85
+ }
86
+ const locators = ['repositoryPath', 'gitRevision', 'planrArtifactId'].filter((key) => typeof citation[key] === 'string');
87
+ if (locators.length !== 1) {
88
+ fail('exactly one of repositoryPath, gitRevision, or planrArtifactId is required');
89
+ }
90
+ if (typeof citation.repositoryPath === 'string') {
91
+ if (citation.repositoryPath.length < 1 ||
92
+ citation.repositoryPath.length > 1024 ||
93
+ !CITATION_PATH_PATTERN.test(citation.repositoryPath)) {
94
+ fail(`$.repositoryPath value ${JSON.stringify(citation.repositoryPath)} must be a 1–1024 char relative path with no '..' traversal segment`);
42
95
  }
43
- const modulePath = path.join(pkg.root, 'lib', 'operate', 'citation.mjs');
44
- const loaded = (await import(pathToFileURL(modulePath).href));
45
- if (typeof loaded.resolveOperatingCitation !== 'function' ||
46
- typeof loaded.validateOperatingCitation !== 'function' ||
47
- typeof loaded.buildUnresolvableCitationGap !== 'function') {
48
- throw new OperateError('E_PIPELINE_VERSION_INCOMPATIBLE', `Installed planr-pipeline ${pkg.version} does not export the Protocol v1.3 citation resolver.`);
96
+ }
97
+ else if (citation.lineRange !== undefined) {
98
+ fail('lineRange is only valid on a repositoryPath citation');
99
+ }
100
+ if (typeof citation.gitRevision === 'string' &&
101
+ !CITATION_REVISION_PATTERN.test(citation.gitRevision)) {
102
+ fail('gitRevision must be a 7–64 hex revision');
103
+ }
104
+ if (typeof citation.planrArtifactId === 'string' &&
105
+ !isPlanrArtifactId(citation.planrArtifactId)) {
106
+ fail(`$.planrArtifactId value ${JSON.stringify(citation.planrArtifactId)} is not a known planr artifact class`);
107
+ }
108
+ if (citation.lineRange !== undefined) {
109
+ const range = citation.lineRange;
110
+ if (typeof range !== 'object' ||
111
+ range === null ||
112
+ typeof range.start !== 'number' ||
113
+ typeof range.end !== 'number' ||
114
+ !Number.isInteger(range.start) ||
115
+ !Number.isInteger(range.end) ||
116
+ range.start < 1 ||
117
+ range.end < 1) {
118
+ fail('lineRange start and end must be integers ≥ 1');
49
119
  }
50
- return loaded;
51
- })();
52
- return cachedModule;
120
+ }
121
+ }
122
+ /**
123
+ * Build the resolvable sibling components for a citation context by joining the
124
+ * committed workspace manifest's component descriptors (each carrying that
125
+ * component's frozen pinned revision) with the machine-local root map. A
126
+ * component present in the manifest but absent from the root map is omitted — its
127
+ * citations then classify `external-component-unresolved` rather than resolving
128
+ * against the wrong checkout. The control repository is never listed here; it is
129
+ * always resolvable by its own ID through the context's `descriptor`.
130
+ */
131
+ export function citationComponentsFromWorkspace(workspace, roots) {
132
+ const rootMap = roots?.roots ?? {};
133
+ return workspace.components
134
+ .map((descriptor) => {
135
+ const root = rootMap[descriptor.componentId];
136
+ return typeof root === 'string'
137
+ ? { componentId: descriptor.componentId, root, descriptor }
138
+ : null;
139
+ })
140
+ .filter((entry) => entry !== null);
53
141
  }
54
142
  function citationKind(citation) {
55
143
  if (typeof citation.repositoryPath === 'string')
@@ -142,13 +230,16 @@ function hardBlockedSecretGap(citation, context, now) {
142
230
  updatedAt: createdAt,
143
231
  };
144
232
  }
145
- async function observeCitation(citation, context, sensitivity) {
233
+ async function observeCitation(citation, context, component, sensitivity) {
146
234
  const kind = citationKind(citation);
147
235
  if (kind === 'repo-path' && citation.repositoryPath) {
148
- const blob = await readGitPathAtRevision(context.projectRoot, citation.pinnedRevision, citation.repositoryPath);
236
+ // Repository and git locators read from the resolved component's checkout —
237
+ // the control repository by default, or a named sibling for a cross-repo
238
+ // citation — so the locator is audited against that component's revision.
239
+ const blob = await readGitPathAtRevision(component.root, citation.pinnedRevision, citation.repositoryPath);
149
240
  const inWorkingTree = blob.exists
150
241
  ? true
151
- : await workingTreeHasFile(context.projectRoot, citation.repositoryPath);
242
+ : await workingTreeHasFile(component.root, citation.repositoryPath);
152
243
  return {
153
244
  kind,
154
245
  pathExistsAtRevision: blob.exists,
@@ -159,9 +250,9 @@ async function observeCitation(citation, context, sensitivity) {
159
250
  };
160
251
  }
161
252
  if (kind === 'git-revision' && citation.gitRevision) {
162
- const resolves = await gitRevisionResolves(context.projectRoot, citation.gitRevision);
253
+ const resolves = await gitRevisionResolves(component.root, citation.gitRevision);
163
254
  const summary = resolves
164
- ? await readGitCommitSummary(context.projectRoot, citation.gitRevision)
255
+ ? await readGitCommitSummary(component.root, citation.gitRevision)
165
256
  : null;
166
257
  return {
167
258
  kind,
@@ -170,7 +261,9 @@ async function observeCitation(citation, context, sensitivity) {
170
261
  location: `git:${citation.gitRevision}`,
171
262
  };
172
263
  }
173
- // planr-artifact
264
+ // planr-artifact — planning artifacts live only in the control repository's
265
+ // `.planr/` tree (the v1.4.0 planr citation carries no componentId), so they
266
+ // always resolve against the control project root.
174
267
  const resolution = await resolvePlanrArtifactCitation({
175
268
  projectRoot: context.projectRoot,
176
269
  pinnedRevision: citation.pinnedRevision,
@@ -185,6 +278,128 @@ async function observeCitation(citation, context, sensitivity) {
185
278
  preRedacted: true,
186
279
  };
187
280
  }
281
+ /** The cited locator, described without exposing any cited content. */
282
+ function describeCitationSubject(citation) {
283
+ const kind = citationKind(citation);
284
+ if (kind === 'repo-path') {
285
+ const range = citation.lineRange
286
+ ? ` lines ${citation.lineRange.start}-${citation.lineRange.end}`
287
+ : '';
288
+ return `path "${citation.repositoryPath}"${range}`;
289
+ }
290
+ if (kind === 'git-revision')
291
+ return `revision ${citation.gitRevision}`;
292
+ return `artifact ${citation.planrArtifactId}`;
293
+ }
294
+ /**
295
+ * The fail-closed rejection reason, as the FIRST failing fact in the fixed
296
+ * precedence the library defines: path existence, then line-range bounds, then
297
+ * revision freshness, then artifact existence. Any relevant fact that is not
298
+ * strictly `true` fails closed, so a missing or non-boolean fact rejects rather
299
+ * than silently resolving. Byte-for-byte the same order as the pipeline library.
300
+ */
301
+ function firstFailingReason(kind, facts, hasLineRange) {
302
+ if (kind === 'repo-path') {
303
+ if (facts.pathExistsAtRevision !== true)
304
+ return 'fabricated-path';
305
+ if (hasLineRange && facts.lineRangeInBounds !== true)
306
+ return 'wrong-line-range';
307
+ if (facts.revisionIsCurrent !== true)
308
+ return 'stale-revision';
309
+ return null;
310
+ }
311
+ if (kind === 'git-revision') {
312
+ if (facts.revisionIsCurrent !== true)
313
+ return 'stale-revision';
314
+ return null;
315
+ }
316
+ if (facts.artifactExists !== true)
317
+ return 'unresolvable';
318
+ return null;
319
+ }
320
+ /**
321
+ * The unresolvable-citation gap for a fail-closed rejection. Its shape and its
322
+ * deterministic id (`GAP-<hex of canonicalDigest({ citation, reason })>`) match
323
+ * the pipeline library's `buildUnresolvableCitationGap` verbatim so a rejection
324
+ * routed here is indistinguishable from one the library would have produced.
325
+ */
326
+ function unresolvableCitationGap(citation, reason, context, now) {
327
+ const createdAt = now.toISOString();
328
+ const gap = {
329
+ kind: 'operating-data-gap',
330
+ schemaVersion: '1.0.0',
331
+ protocolVersion: '1.3.0',
332
+ id: `GAP-${canonicalDigest({ citation, reason }).slice('sha256:'.length)}`,
333
+ cycleId: context.cycleId,
334
+ category: 'unresolvable-citation',
335
+ question: `The ${citationKind(citation)} citation ${describeCitationSubject(citation)} could not be ` +
336
+ `resolved at pinned revision ${citation.pinnedRevision} (${reason}); provide a resolvable ` +
337
+ 'citation before this proposal can be accepted.',
338
+ reason,
339
+ unblocks: [],
340
+ status: 'open',
341
+ owner: context.owner && context.owner.length > 0 ? context.owner : 'chair',
342
+ evidenceRefs: [],
343
+ createdAt,
344
+ updatedAt: createdAt,
345
+ };
346
+ if (context.affectedRoles && context.affectedRoles.length > 0) {
347
+ gap.affectedRoles = [...new Set(context.affectedRoles)].sort();
348
+ }
349
+ return gap;
350
+ }
351
+ /**
352
+ * The gap for a citation that names a workspace component that cannot be resolved
353
+ * on this machine. This is an honest "cannot verify" — never `fabricated-path`,
354
+ * which would accuse the advisor of inventing evidence into a sibling repository
355
+ * it correctly named but whose checkout this machine does not have.
356
+ */
357
+ function externalComponentUnresolvedGap(citation, componentId, context, now) {
358
+ const createdAt = now.toISOString();
359
+ const gap = {
360
+ kind: 'operating-data-gap',
361
+ schemaVersion: '1.0.0',
362
+ protocolVersion: '1.3.0',
363
+ id: `GAP-${canonicalDigest({ citation, reason: 'external-component-unresolved' }).slice('sha256:'.length)}`,
364
+ cycleId: context.cycleId,
365
+ category: 'unresolvable-citation',
366
+ question: `The ${citationKind(citation)} citation ${describeCitationSubject(citation)} names workspace ` +
367
+ `component "${componentId}", which is not resolvable on this machine; register the ` +
368
+ 'component root (or cite the control repository) before this proposal can be accepted. This ' +
369
+ 'is an unverifiable external-component reference, not a fabricated citation.',
370
+ reason: 'external-component-unresolved',
371
+ unblocks: [],
372
+ status: 'open',
373
+ owner: context.owner && context.owner.length > 0 ? context.owner : 'chair',
374
+ evidenceRefs: [],
375
+ createdAt,
376
+ updatedAt: createdAt,
377
+ };
378
+ if (context.affectedRoles && context.affectedRoles.length > 0) {
379
+ gap.affectedRoles = [...new Set(context.affectedRoles)].sort();
380
+ }
381
+ return gap;
382
+ }
383
+ /**
384
+ * Resolve which workspace component a citation is audited against. A citation
385
+ * with no `componentId` — and one that names the control repository's own
386
+ * component ID — resolves against the control project root. A `componentId`
387
+ * naming a supplied sibling component resolves against that sibling's checkout.
388
+ * A `componentId` that matches nothing resolvable returns `null`, which the
389
+ * resolver classifies `external-component-unresolved`.
390
+ */
391
+ function selectCitationComponent(citation, context) {
392
+ const control = {
393
+ componentId: context.descriptor.componentId,
394
+ root: context.projectRoot,
395
+ descriptor: context.descriptor,
396
+ };
397
+ if (typeof citation.componentId !== 'string')
398
+ return control;
399
+ if (citation.componentId === context.descriptor.componentId)
400
+ return control;
401
+ return context.components?.find((entry) => entry.componentId === citation.componentId) ?? null;
402
+ }
188
403
  function factsFor(citation, observation, cyclePinnedRevision, sensitivity) {
189
404
  const facts = { sensitivity };
190
405
  if (observation.kind === 'repo-path') {
@@ -212,29 +427,39 @@ function factsFor(citation, observation, cyclePinnedRevision, sensitivity) {
212
427
  * carries a distinct `reason` and a single unresolvable-citation `gap`.
213
428
  */
214
429
  export async function resolveOperatingCitationAtPin(citation, context) {
215
- const module = await loadCitationModule();
216
- try {
217
- module.validateOperatingCitation(citation);
218
- }
219
- catch (error) {
220
- throw new OperateError('E_OPERATE_STATE_INVALID', `Citation is not a valid operating-citation@1.3.0 anchor: ${error instanceof Error ? error.message : String(error)}.`);
221
- }
430
+ assertOperatingCitationAnchor(citation);
222
431
  const now = context.now ?? new Date();
223
432
  const citationKey = stableCitationKey(citation);
224
433
  const keyed = { ...citation, citationKey };
225
434
  const sensitivity = context.sensitivityFor?.(citation) ?? context.defaultSensitivity ?? 'internal';
226
- // A citation that passed `validateOperatingCitation` always carries exactly one
435
+ // A citation that passed the anchor validation always carries exactly one
227
436
  // locator, so the kind is total here (the `?? 'planr-artifact'` is unreachable
228
437
  // and only keeps the type non-nullable).
229
438
  const expectedCitationKind = citationKind(keyed) ?? 'planr-artifact';
230
- const observation = await observeCitation(keyed, context, sensitivity);
231
- // Distinct dirty-working-tree classification, ahead of the library's
232
- // path-existence precedence: a cited path absent at the pin but present and
233
- // uncommitted in a dirty working tree is named separately from a fabrication.
439
+ // Resolve the workspace component the locator is audited against. A citation
440
+ // that names a component this machine cannot resolve is an honest "cannot
441
+ // verify" (external-component-unresolved), never a fabrication.
442
+ const component = selectCitationComponent(keyed, context);
443
+ if (component === null) {
444
+ const gap = await assertOperatingArtifact('operating-data-gap', externalComponentUnresolvedGap(keyed, keyed.componentId, context, now));
445
+ return {
446
+ citation: keyed,
447
+ citationKey,
448
+ outcome: 'rejected',
449
+ reason: 'external-component-unresolved',
450
+ expectedCitationKind,
451
+ gap,
452
+ sensitivity,
453
+ };
454
+ }
455
+ const observation = await observeCitation(keyed, context, component, sensitivity);
456
+ // Distinct dirty-working-tree classification, ahead of the path-existence
457
+ // precedence: a cited path absent at the pin but present and uncommitted in the
458
+ // resolved component's dirty working tree is named separately from a fabrication.
234
459
  if (observation.kind === 'repo-path' &&
235
460
  observation.pathExistsAtRevision === false &&
236
461
  observation.inWorkingTree === true &&
237
- context.descriptor.dirtyFingerprint !== null) {
462
+ component.descriptor.dirtyFingerprint !== null) {
238
463
  const gap = await assertOperatingArtifact('operating-data-gap', dirtyWorkingTreeGap(keyed, context, now));
239
464
  return {
240
465
  citation: keyed,
@@ -246,25 +471,27 @@ export async function resolveOperatingCitationAtPin(citation, context) {
246
471
  sensitivity,
247
472
  };
248
473
  }
249
- const facts = factsFor(keyed, observation, context.descriptor.pinnedRevision, sensitivity);
250
- const resolution = module.resolveOperatingCitation(keyed, facts);
251
- if (resolution.outcome === 'rejected') {
252
- const gap = module.buildUnresolvableCitationGap(keyed, resolution, {
253
- cycleId: context.cycleId,
254
- createdAt: now.toISOString(),
255
- owner: context.owner,
256
- affectedRoles: context.affectedRoles,
257
- });
474
+ const facts = factsFor(keyed, observation, component.descriptor.pinnedRevision, sensitivity);
475
+ // Byte-identical to the pipeline library's `resolveOperatingCitation`: the
476
+ // snapshot binding is `canonicalDigest({ citation, facts })` (the same JCS the
477
+ // library computes) and the evidence id is `EVD-<hex of that digest>`. The
478
+ // rejection reason follows the identical fail-closed precedence. A conformance
479
+ // test pins both to the installed library's output.
480
+ const reason = firstFailingReason(observation.kind, facts, keyed.lineRange !== undefined);
481
+ if (reason !== null) {
482
+ const gap = await assertOperatingArtifact('operating-data-gap', unresolvableCitationGap(keyed, reason, context, now));
258
483
  return {
259
484
  citation: keyed,
260
485
  citationKey,
261
486
  outcome: 'rejected',
262
- reason: resolution.reason,
487
+ reason,
263
488
  expectedCitationKind,
264
489
  gap,
265
490
  sensitivity,
266
491
  };
267
492
  }
493
+ const snapshotDigest = canonicalDigest({ citation: keyed, facts });
494
+ const evidenceId = `EVD-${snapshotDigest.slice('sha256:'.length)}`;
268
495
  // Resolved: snapshot the cited bytes through the standard redaction path and
269
496
  // persist them as machine-local evidence under the resolver-minted id.
270
497
  const rawContent = observation.content ?? '';
@@ -288,9 +515,9 @@ export async function resolveOperatingCitationAtPin(citation, context) {
288
515
  }
289
516
  const content = observation.preRedacted ? rawContent : redactSensitiveText(rawContent).value;
290
517
  await context.cache.putCitationSnapshot({
291
- evidenceId: resolution.evidenceId,
518
+ evidenceId,
292
519
  citationKey,
293
- snapshotDigest: resolution.snapshotDigest,
520
+ snapshotDigest,
294
521
  sourceLocation: observation.location ?? citationKey,
295
522
  sensitivity,
296
523
  content,
@@ -300,8 +527,8 @@ export async function resolveOperatingCitationAtPin(citation, context) {
300
527
  citationKey,
301
528
  outcome: 'resolved',
302
529
  expectedCitationKind,
303
- evidenceId: resolution.evidenceId,
304
- snapshotDigest: resolution.snapshotDigest,
530
+ evidenceId,
531
+ snapshotDigest,
305
532
  sensitivity,
306
533
  };
307
534
  }
@@ -1 +1 @@
1
- {"version":3,"file":"citation-resolution.js","sourceRoot":"","sources":["../../../src/services/operate/citation-resolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"citation-resolution.js","sourceRoot":"","sources":["../../../src/services/operate/citation-resolution.ts"],"names":[],"mappings":"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"}
@@ -36,13 +36,31 @@ export declare function recordOperatingLastRunAt(input: {
36
36
  changed: boolean;
37
37
  }>;
38
38
  /**
39
- * FR10 / T-008 default adapter session lease: 15 minutes. A prepared native
39
+ * FR10 / T-008 default adapter session lease: 30 minutes. A prepared native
40
40
  * adapter session expires this long after `prepare`, and each successful `record`
41
41
  * refreshes the window forward from the moment the record lands. This was a
42
42
  * hardcoded constant in `maintenance.ts`; it is now the machine-local default,
43
- * overridable per project via `preferences.json`.
43
+ * overridable per project via `preferences.json` and per machine via
44
+ * `OPENPLANR_ADAPTER_LEASE_MS`.
45
+ *
46
+ * The historical 15-minute default sat BELOW observed agent runtimes: the Chair
47
+ * phase is a single ~16-minute dispatch with no intermediate `record` to
48
+ * auto-renew, so a 15-minute lease structurally could not outlast it and expired
49
+ * mid-run. The default is raised to comfortably clear the observed p95 (~16 min)
50
+ * with headroom for the tail — ~1.9× p95 — while staying well inside the 60-minute
51
+ * ceiling so a runaway session still cannot hold the lease for an hour.
44
52
  */
45
53
  export declare const DEFAULT_ADAPTER_LEASE_DURATION_MS: number;
54
+ /**
55
+ * Resolve the compiled adapter-lease default, honoring the `OPENPLANR_ADAPTER_LEASE_MS`
56
+ * machine seam (same shape as `OPENPLANR_ECOSYSTEM_SOURCE` / `OPENPLANR_NPM_BIN`):
57
+ * unset in production, it lets a machine that consistently runs longer agents widen
58
+ * the default without editing every project's `preferences.json`. A present value is
59
+ * bounds-validated [1 min, 60 min] and fails closed on a malformed value — a corrupt
60
+ * seam never quietly weakens or inflates the lease, exactly as a corrupt preference
61
+ * does not.
62
+ */
63
+ export declare function resolveDefaultAdapterLeaseDurationMs(): number;
46
64
  /**
47
65
  * Strictly validate an optional adapter-lease duration (milliseconds) before it is
48
66
  * echoed, persisted, or honored by the adapter lifecycle — mirroring the strict
@@ -53,9 +71,11 @@ export declare const DEFAULT_ADAPTER_LEASE_DURATION_MS: number;
53
71
  */
54
72
  export declare function normalizeOperatingAdapterLeaseDurationMs(value: unknown): number;
55
73
  /**
56
- * Read the machine-local adapter-lease duration (milliseconds), or the 15-minute
57
- * default when unset. Machine-local, alongside `evidenceTtlMs`; a present value is
58
- * rejected rather than trusted.
74
+ * Read the machine-local adapter-lease duration (milliseconds), or the resolved
75
+ * default (30 minutes, or the `OPENPLANR_ADAPTER_LEASE_MS` seam) when unset.
76
+ * Machine-local, alongside `evidenceTtlMs`; a present value is rejected rather than
77
+ * trusted. An explicit per-project `preferences.json` value still wins over the
78
+ * machine seam.
59
79
  *
60
80
  * SPEC-005 FR2: this duration is the size of ONE lease window, not the fix for a
61
81
  * slow lens. The sanctioned way to hold a session open while a role is still
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/operate/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/operate/config.ts"],"names":[],"mappings":"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"}