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.
- package/CHANGELOG.md +54 -0
- package/dist/cli/commands/operate.d.ts +2 -0
- package/dist/cli/commands/operate.d.ts.map +1 -1
- package/dist/cli/commands/operate.js +187 -23
- package/dist/cli/commands/operate.js.map +1 -1
- package/dist/services/operate/advisors.d.ts +128 -0
- package/dist/services/operate/advisors.d.ts.map +1 -1
- package/dist/services/operate/advisors.js +269 -24
- package/dist/services/operate/advisors.js.map +1 -1
- package/dist/services/operate/artifacts.d.ts +8 -0
- package/dist/services/operate/artifacts.d.ts.map +1 -1
- package/dist/services/operate/artifacts.js +22 -2
- package/dist/services/operate/artifacts.js.map +1 -1
- package/dist/services/operate/citation-resolution.d.ts +49 -3
- package/dist/services/operate/citation-resolution.d.ts.map +1 -1
- package/dist/services/operate/citation-resolution.js +295 -68
- package/dist/services/operate/citation-resolution.js.map +1 -1
- package/dist/services/operate/config.d.ts +25 -5
- package/dist/services/operate/config.d.ts.map +1 -1
- package/dist/services/operate/config.js +38 -7
- package/dist/services/operate/config.js.map +1 -1
- package/dist/services/operate/engine.d.ts +1 -1
- package/dist/services/operate/engine.d.ts.map +1 -1
- package/dist/services/operate/engine.js +8 -1
- package/dist/services/operate/engine.js.map +1 -1
- package/dist/services/operate/index.d.ts.map +1 -1
- package/dist/services/operate/index.js +33 -1
- package/dist/services/operate/index.js.map +1 -1
- package/dist/services/operate/maintenance.d.ts +1 -1
- package/dist/services/operate/maintenance.d.ts.map +1 -1
- package/dist/services/operate/maintenance.js +121 -16
- package/dist/services/operate/maintenance.js.map +1 -1
- package/dist/services/operate/migration.d.ts.map +1 -1
- package/dist/services/operate/migration.js +10 -2
- package/dist/services/operate/migration.js.map +1 -1
- package/dist/services/operate/projection-persistence.d.ts +33 -0
- package/dist/services/operate/projection-persistence.d.ts.map +1 -1
- package/dist/services/operate/projection-persistence.js +99 -2
- package/dist/services/operate/projection-persistence.js.map +1 -1
- package/dist/services/operate/protocol.d.ts +2 -0
- package/dist/services/operate/protocol.d.ts.map +1 -1
- package/dist/services/operate/protocol.js.map +1 -1
- package/dist/services/operate/read-only-providers.d.ts +1 -0
- package/dist/services/operate/read-only-providers.d.ts.map +1 -1
- package/dist/services/operate/read-only-providers.js +10 -5
- package/dist/services/operate/read-only-providers.js.map +1 -1
- package/dist/services/operate/report-html.d.ts +32 -0
- package/dist/services/operate/report-html.d.ts.map +1 -0
- package/dist/services/operate/report-html.js +289 -0
- package/dist/services/operate/report-html.js.map +1 -0
- package/dist/services/operate/workspace.d.ts +10 -1
- package/dist/services/operate/workspace.d.ts.map +1 -1
- package/dist/services/operate/workspace.js +23 -0
- package/dist/services/operate/workspace.js.map +1 -1
- 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 {
|
|
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
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
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
|
-
*
|
|
28
|
-
* has no repo access
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
253
|
+
const resolves = await gitRevisionResolves(component.root, citation.gitRevision);
|
|
163
254
|
const summary = resolves
|
|
164
|
-
? await readGitCommitSummary(
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
231
|
-
//
|
|
232
|
-
//
|
|
233
|
-
|
|
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
|
-
|
|
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,
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
|
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
|
|
518
|
+
evidenceId,
|
|
292
519
|
citationKey,
|
|
293
|
-
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
|
|
304
|
-
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:
|
|
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
|
|
57
|
-
* default
|
|
58
|
-
* rejected rather than
|
|
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":"AAMA,OAAO,EAA6B,KAAK,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAIL,KAAK,gBAAgB,EAErB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAIrB,KAAK,0BAA0B,EAChC,MAAM,YAAY,CAAC;AAiBpB,6FAA6F;AAC7F,eAAO,MAAM,0BAA0B,yCAA0C,CAAC;AAClF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAKxE,CAAC;AAuBH,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAahD,CAAC;AAEX,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAMhF;AA+CD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiDzF;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/operate/config.ts"],"names":[],"mappings":"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"}
|