@open-agent-toolkit/cli 0.2.54 → 0.2.55
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/assets/bundle-metadata.json +1 -1
- package/assets/docs/workflows/skills/recon.md +28 -12
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-dispatch-subagents/SKILL.md +4 -105
- package/assets/skills/oat-dispatch-subagents/references/record-schema.md +0 -226
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +2 -2
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +2 -2
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +2 -2
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +2 -2
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +2 -2
- package/assets/skills/recon/SKILL.md +76 -38
- package/assets/skills/recon/references/packet-contract.md +138 -105
- package/assets/skills/recon/scripts/lib/contracts.mjs +181 -674
- package/assets/skills/recon/scripts/lib/validated-run.mjs +10 -16
- package/assets/skills/recon/scripts/render-packet.mjs +7 -20
- package/assets/skills/recon/scripts/validate-packet.mjs +177 -344
- package/package.json +2 -2
|
@@ -14,18 +14,12 @@ function deepFreeze(value) {
|
|
|
14
14
|
return Object.freeze(value);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
function
|
|
18
|
-
return
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
.map(([
|
|
22
|
-
|
|
23
|
-
completeArtifactIdsByMode: Object.fromEntries(
|
|
24
|
-
[...topology.completeArtifactIdsByMode.entries()]
|
|
25
|
-
.sort(([left], [right]) => left.localeCompare(right))
|
|
26
|
-
.map(([mode, ids]) => [mode, [...ids].sort()]),
|
|
27
|
-
),
|
|
28
|
-
};
|
|
17
|
+
function normalizePasses(passes) {
|
|
18
|
+
return Object.fromEntries(
|
|
19
|
+
[...passes.entries()]
|
|
20
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
21
|
+
.map(([mode, ids]) => [mode, [...ids].sort()]),
|
|
22
|
+
);
|
|
29
23
|
}
|
|
30
24
|
|
|
31
25
|
export function createValidatedRun({
|
|
@@ -36,9 +30,9 @@ export function createValidatedRun({
|
|
|
36
30
|
ledger,
|
|
37
31
|
artifactsById,
|
|
38
32
|
exactEvidence,
|
|
39
|
-
|
|
33
|
+
passes,
|
|
40
34
|
achievedProfile,
|
|
41
|
-
|
|
35
|
+
assuranceReviewIds,
|
|
42
36
|
reconciliationContext,
|
|
43
37
|
}) {
|
|
44
38
|
const run = {
|
|
@@ -59,9 +53,9 @@ export function createValidatedRun({
|
|
|
59
53
|
}))
|
|
60
54
|
.sort((left, right) => left.id.localeCompare(right.id)),
|
|
61
55
|
exactEvidenceIds: [...exactEvidence].sort(),
|
|
62
|
-
|
|
56
|
+
passes: normalizePasses(passes),
|
|
63
57
|
achievedProfile,
|
|
64
|
-
|
|
58
|
+
assuranceReviewIds: [...assuranceReviewIds].sort(),
|
|
65
59
|
terminalReconciliation: reconciliationContext?.reconciliation
|
|
66
60
|
? clone(reconciliationContext.reconciliation)
|
|
67
61
|
: null,
|
|
@@ -49,7 +49,7 @@ function bulletLines(values, empty = 'None.') {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export function renderPacketDocument(validatedRun) {
|
|
52
|
-
const { manifest, ledger
|
|
52
|
+
const { manifest, ledger } = assertValidatedRun(validatedRun);
|
|
53
53
|
const evidenceById = new Map(
|
|
54
54
|
ledger.evidence.map((evidence) => [evidence.id, evidence]),
|
|
55
55
|
);
|
|
@@ -63,9 +63,6 @@ export function renderPacketDocument(validatedRun) {
|
|
|
63
63
|
claim.status === 'unsupported' ||
|
|
64
64
|
(claim.challenges ?? []).length > 0,
|
|
65
65
|
);
|
|
66
|
-
const failedStages = topology.stages
|
|
67
|
-
.map(({ stage }) => stage)
|
|
68
|
-
.filter((stage) => stage.status !== 'complete');
|
|
69
66
|
const omittedGaps = manifest.gaps.filter((gap) =>
|
|
70
67
|
/PASS_(?:FAILED|OMITTED)/.test(gap.code),
|
|
71
68
|
);
|
|
@@ -141,15 +138,11 @@ export function renderPacketDocument(validatedRun) {
|
|
|
141
138
|
'',
|
|
142
139
|
'## Failed or Omitted Passes',
|
|
143
140
|
'',
|
|
144
|
-
...bulletLines(
|
|
145
|
-
|
|
146
|
-
(stage) =>
|
|
147
|
-
`**${escapeInline(stage.mode)}:** ${escapeInline(stage.status)}${stage.message ? ` — ${escapeInline(stage.message)}` : ''}`,
|
|
148
|
-
),
|
|
149
|
-
...omittedGaps.map(
|
|
141
|
+
...bulletLines(
|
|
142
|
+
omittedGaps.map(
|
|
150
143
|
(gap) => `**${escapeInline(gap.code)}:** ${escapeInline(gap.message)}`,
|
|
151
144
|
),
|
|
152
|
-
|
|
145
|
+
),
|
|
153
146
|
'',
|
|
154
147
|
'## Provenance',
|
|
155
148
|
'',
|
|
@@ -320,15 +313,9 @@ export async function renderValidatedPacket(
|
|
|
320
313
|
achievedProfile: run.achievedProfile,
|
|
321
314
|
claimCounts: claimCounts(ledger),
|
|
322
315
|
gapCount: manifest.gaps.length,
|
|
323
|
-
failedOrOmittedPasses:
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
.filter((stage) => stage.status !== 'complete')
|
|
327
|
-
.map((stage) => stage.mode),
|
|
328
|
-
...manifest.gaps
|
|
329
|
-
.filter((gap) => /PASS_(?:FAILED|OMITTED)/.test(gap.code))
|
|
330
|
-
.map((gap) => gap.code),
|
|
331
|
-
],
|
|
316
|
+
failedOrOmittedPasses: manifest.gaps
|
|
317
|
+
.filter((gap) => /PASS_(?:FAILED|OMITTED)/.test(gap.code))
|
|
318
|
+
.map((gap) => ({ code: gap.code, message: gap.message })),
|
|
332
319
|
digest,
|
|
333
320
|
};
|
|
334
321
|
await assertCanonicalPacketBytes(run);
|