@revfleet/hscli 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,37 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.9.1 - 2026-07-10
6
+
7
+ **RevFleet evidence bridge.** A read-only `portal-baseline` can now produce and
8
+ submit a signed aggregate contract without sending its raw step outputs or
9
+ turning partial coverage into a misleading portal score.
10
+
11
+ ### Added — signed aggregate evidence
12
+
13
+ - Added `agent evidence export <run-directory>` for deterministic
14
+ `revfleet.hscli-evidence/v1` JSON. The export contains only allowlisted
15
+ counts, sampled fill rates, coverage state, portal routing metadata, and a
16
+ SHA-256 digest; HubSpot records, user identities, scopes, and asset names are
17
+ excluded.
18
+ - Added `agent evidence submit <run-directory>`. The RevFleet API key is read
19
+ from `REVFLEET_API_KEY` (or an explicitly named environment variable), never
20
+ from argv. Remote submissions require HTTPS; localhost HTTP remains
21
+ available for development.
22
+ - Evidence coverage records every baseline signal as `collected`, `failed`,
23
+ `missing`, or `invalid`. Submission is explicitly evidence-only and does not
24
+ claim to create the complete RevFleet 53-check score.
25
+
26
+ ### Security and tests
27
+
28
+ - Added strict file-size, schema, property allowlist, backend-origin, API-key
29
+ environment, and PII-exclusion controls around evidence export/submission.
30
+ - Evidence export now rejects incomplete or unattributable runs, and
31
+ `audit timeline` exposes deterministic request/error totals consumed by the
32
+ evidence contract.
33
+ - Added contract, deterministic-digest, partial-coverage, CLI-command,
34
+ transport, and insecure-destination tests.
35
+
5
36
  ## 0.9.0 - 2026-07-09
6
37
 
7
38
  **Agent-safe operator release.** hscli now wraps its broad HubSpot command
package/README.md CHANGED
@@ -87,6 +87,28 @@ HubSpot request telemetry, `events.jsonl` records runbook progress, and
87
87
  `steps/*.stdout.jsonl` preserves every deterministic result. Missing scopes are
88
88
  kept as explicit failed steps while the rest of the baseline continues.
89
89
 
90
+ Turn that local bundle into a signed, aggregate-only RevFleet evidence
91
+ contract without uploading raw steps, CRM records, user identities, or tokens:
92
+
93
+ ```bash
94
+ hscli agent evidence export ./evidence/portal-baseline \
95
+ --output ./evidence/revfleet-evidence.json
96
+
97
+ export REVFLEET_API_KEY="<scan:run key from RevFleet>"
98
+ export REVFLEET_BACKEND_URL="https://your-revfleet-origin.example"
99
+ hscli agent evidence submit ./evidence/portal-baseline
100
+ ```
101
+
102
+ `--backend-url <origin>` overrides `REVFLEET_BACKEND_URL`. hscli has no hidden
103
+ hosted default: the destination must be explicit and remote origins must use
104
+ HTTPS.
105
+
106
+ The exported `revfleet.hscli-evidence/v1` document declares coverage for every
107
+ baseline signal and carries a deterministic SHA-256 digest. A missing or failed
108
+ signal remains `missing` or `failed`; it is never converted into a bad portal
109
+ score. RevFleet stores this evidence separately from the complete 53-check
110
+ extension scan.
111
+
90
112
  ## Operator workflows
91
113
 
92
114
  Start from intent instead of memorizing the whole command tree:
@@ -109,6 +131,7 @@ instead of open-ended portal access:
109
131
  ```bash
110
132
  hscli agent list
111
133
  hscli agent plan portal-baseline --json
134
+ hscli agent evidence export ./evidence/portal-baseline --output ./evidence/revfleet-evidence.json
112
135
  hscli agent plan automation-risk --json
113
136
  hscli --profile sandbox agent run automation-risk --output ./evidence/automation-risk
114
137
  hscli --profile sandbox agent run automation-risk --output ./evidence/automation-risk --resume
@@ -0,0 +1,68 @@
1
+ type SignalStatus = "collected" | "failed" | "missing" | "invalid";
2
+ interface FillRateSummary {
3
+ sampled: number;
4
+ propertyFillRates: Record<string, number>;
5
+ }
6
+ export interface RevFleetEvidence {
7
+ schema: "revfleet.hscli-evidence/v1";
8
+ source: {
9
+ product: "hscli";
10
+ recipe: "portal-baseline";
11
+ };
12
+ portal: {
13
+ id: string;
14
+ hublet: string | null;
15
+ };
16
+ run: {
17
+ id: string;
18
+ status: "completed" | "completed_with_errors";
19
+ startedAt: string;
20
+ completedAt: string;
21
+ totalSteps: number;
22
+ completedSteps: number;
23
+ failedSteps: number;
24
+ };
25
+ coverage: {
26
+ status: "complete" | "partial";
27
+ total: number;
28
+ collected: number;
29
+ failed: number;
30
+ missing: number;
31
+ invalid: number;
32
+ signals: Array<{
33
+ id: string;
34
+ step: number;
35
+ status: SignalStatus;
36
+ }>;
37
+ };
38
+ modules: {
39
+ settings: Record<string, number>;
40
+ sales: Record<string, number>;
41
+ crmCore: {
42
+ contacts?: FillRateSummary;
43
+ companies?: FillRateSummary;
44
+ deals?: FillRateSummary;
45
+ };
46
+ marketing: Record<string, number>;
47
+ audit: Record<string, number>;
48
+ };
49
+ privacy: {
50
+ aggregateOnly: true;
51
+ containsContactRecords: false;
52
+ containsUserIdentities: false;
53
+ };
54
+ generatedAt: string;
55
+ digest: {
56
+ algorithm: "sha256";
57
+ value: string;
58
+ };
59
+ }
60
+ export interface SubmitRevFleetEvidenceOptions {
61
+ backendUrl?: string;
62
+ apiKeyEnv?: string;
63
+ }
64
+ export declare function resolveRevFleetBackendUrl(explicit?: string): string;
65
+ export declare function buildRevFleetEvidence(runDirectory: string): RevFleetEvidence;
66
+ export declare function writeRevFleetEvidence(runDirectory: string, outputFile: string): RevFleetEvidence;
67
+ export declare function submitRevFleetEvidence(runDirectory: string, options: SubmitRevFleetEvidenceOptions): Promise<Record<string, unknown>>;
68
+ export {};
@@ -0,0 +1,358 @@
1
+ import { createHash } from "node:crypto";
2
+ import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, } from "node:fs";
3
+ import { dirname, join, resolve } from "node:path";
4
+ import { CliError } from "../../core/output.js";
5
+ const MAX_EVIDENCE_FILE_BYTES = 25 * 1024 * 1024;
6
+ const MAX_EVIDENCE_COUNT = 10_000_000;
7
+ const PORTAL_BASELINE_PROPERTIES = {
8
+ contacts: new Set(["email", "firstname", "lastname", "company", "hubspot_owner_id", "country"]),
9
+ companies: new Set(["name", "domain", "hubspot_owner_id", "lifecyclestage"]),
10
+ deals: new Set(["dealname", "dealstage", "hubspot_owner_id", "amount", "closedate"]),
11
+ };
12
+ const PORTAL_BASELINE_SIGNALS = [
13
+ "portal_identity",
14
+ "api_capabilities",
15
+ "account_metadata",
16
+ "users_sample",
17
+ "teams_inventory",
18
+ "deal_pipeline_inventory",
19
+ "contacts_fill_rate",
20
+ "companies_fill_rate",
21
+ "deals_fill_rate",
22
+ "workflows_v4_sample",
23
+ "workflows_v3_sample",
24
+ "request_audit",
25
+ ];
26
+ export function resolveRevFleetBackendUrl(explicit) {
27
+ const backendUrl = explicit?.trim() || process.env.REVFLEET_BACKEND_URL?.trim();
28
+ if (!backendUrl) {
29
+ throw new CliError("AGENT_EVIDENCE_BACKEND_URL_MISSING", "Pass --backend-url or set REVFLEET_BACKEND_URL to your RevFleet origin.");
30
+ }
31
+ return backendUrl;
32
+ }
33
+ export function buildRevFleetEvidence(runDirectory) {
34
+ const root = resolve(runDirectory);
35
+ const manifest = readJson(join(root, "manifest.json"), "run manifest");
36
+ const checkpoint = readJson(join(root, "checkpoint.json"), "run checkpoint");
37
+ validateRun(manifest, checkpoint);
38
+ const parsedSteps = PORTAL_BASELINE_SIGNALS.map((_signal, index) => (parseStep(root, index, checkpoint)));
39
+ const portalIdentity = firstRecord(parsedSteps[0]);
40
+ const portalId = normalizePortalId(portalIdentity?.portalId);
41
+ if (!portalId) {
42
+ throw new CliError("AGENT_EVIDENCE_PORTAL_ID_MISSING", "RevFleet evidence requires a numeric portal ID from the portal-baseline identity step.");
43
+ }
44
+ const hublet = normalizeHublet(portalIdentity?.hublet);
45
+ const settings = {};
46
+ if (parsedSteps[3].status === "collected")
47
+ settings.usersSampled = recordCount(parsedSteps[3]);
48
+ if (parsedSteps[4].status === "collected")
49
+ settings.teamsSampled = recordCount(parsedSteps[4]);
50
+ const sales = {};
51
+ if (parsedSteps[5].status === "collected") {
52
+ const pipelines = records(parsedSteps[5]);
53
+ sales.dealPipelinesSampled = pipelines.length;
54
+ sales.dealStagesSampled = pipelines.reduce((sum, pipeline) => (sum + (Array.isArray(pipeline.stages) ? pipeline.stages.length : 0)), 0);
55
+ }
56
+ const crmCore = {};
57
+ const crmSteps = [
58
+ ["contacts", parsedSteps[6]],
59
+ ["companies", parsedSteps[7]],
60
+ ["deals", parsedSteps[8]],
61
+ ];
62
+ for (const [objectType, step] of crmSteps) {
63
+ if (step.status === "collected")
64
+ crmCore[objectType] = summarizeFillRates(step, PORTAL_BASELINE_PROPERTIES[objectType]);
65
+ }
66
+ const marketing = {};
67
+ if (parsedSteps[9].status === "collected") {
68
+ marketing.workflowsV4Sampled = recordCount(parsedSteps[9]);
69
+ }
70
+ if (parsedSteps[10].status === "collected") {
71
+ const report = firstRecord(parsedSteps[10]);
72
+ marketing.workflowsV3Reported = evidenceCount(report?.total) ?? recordCount(parsedSteps[10]);
73
+ }
74
+ const audit = {};
75
+ if (parsedSteps[11].status === "collected") {
76
+ const report = firstRecord(parsedSteps[11]);
77
+ const summary = asRecord(report?.summary);
78
+ const requests = evidenceCount(summary?.requests) ?? evidenceCount(report?.totalLoaded);
79
+ const errors = evidenceCount(summary?.errors);
80
+ if (requests !== null)
81
+ audit.requestsReported = requests;
82
+ if (errors !== null)
83
+ audit.errorsReported = errors;
84
+ if (requests === null)
85
+ parsedSteps[11].status = "invalid";
86
+ }
87
+ const signalCoverage = PORTAL_BASELINE_SIGNALS.map((id, index) => ({
88
+ id,
89
+ step: index + 1,
90
+ status: parsedSteps[index].status,
91
+ }));
92
+ const statusCounts = countStatuses(signalCoverage);
93
+ const unsigned = {
94
+ schema: "revfleet.hscli-evidence/v1",
95
+ source: { product: "hscli", recipe: "portal-baseline" },
96
+ portal: { id: portalId, hublet },
97
+ run: {
98
+ id: manifest.runId,
99
+ status: manifest.status,
100
+ startedAt: manifest.startedAt,
101
+ completedAt: manifest.completedAt,
102
+ totalSteps: manifest.totalSteps,
103
+ completedSteps: checkpoint.completedSteps.length,
104
+ failedSteps: checkpoint.failedSteps.length,
105
+ },
106
+ coverage: {
107
+ status: statusCounts.collected === PORTAL_BASELINE_SIGNALS.length ? "complete" : "partial",
108
+ total: PORTAL_BASELINE_SIGNALS.length,
109
+ ...statusCounts,
110
+ signals: signalCoverage,
111
+ },
112
+ modules: { settings, sales, crmCore, marketing, audit },
113
+ privacy: {
114
+ aggregateOnly: true,
115
+ containsContactRecords: false,
116
+ containsUserIdentities: false,
117
+ },
118
+ generatedAt: manifest.completedAt,
119
+ };
120
+ return {
121
+ ...unsigned,
122
+ digest: {
123
+ algorithm: "sha256",
124
+ value: createHash("sha256").update(stableStringify(unsigned)).digest("hex"),
125
+ },
126
+ };
127
+ }
128
+ export function writeRevFleetEvidence(runDirectory, outputFile) {
129
+ const evidence = buildRevFleetEvidence(runDirectory);
130
+ const destination = resolve(outputFile);
131
+ mkdirSync(dirname(destination), { recursive: true, mode: 0o700 });
132
+ writeFileSync(destination, `${JSON.stringify(evidence, null, 2)}\n`, { mode: 0o600 });
133
+ return evidence;
134
+ }
135
+ export async function submitRevFleetEvidence(runDirectory, options) {
136
+ const evidence = buildRevFleetEvidence(runDirectory);
137
+ const apiKeyEnv = options.apiKeyEnv ?? "REVFLEET_API_KEY";
138
+ if (!/^[A-Z][A-Z0-9_]{1,100}$/.test(apiKeyEnv)) {
139
+ throw new CliError("AGENT_EVIDENCE_API_KEY_ENV_INVALID", "--api-key-env must be an uppercase environment variable name.");
140
+ }
141
+ const apiKey = process.env[apiKeyEnv]?.trim();
142
+ if (!apiKey || !/^rvft_[A-Za-z0-9_-]{8,}$/.test(apiKey)) {
143
+ throw new CliError("AGENT_EVIDENCE_API_KEY_MISSING", `Set ${apiKeyEnv} to a RevFleet API key with scan:run scope.`);
144
+ }
145
+ const endpoint = resolveRevFleetEvidenceEndpoint(resolveRevFleetBackendUrl(options.backendUrl));
146
+ const response = await fetch(endpoint, {
147
+ method: "POST",
148
+ headers: {
149
+ authorization: `Bearer ${apiKey}`,
150
+ "content-type": "application/json",
151
+ accept: "application/json",
152
+ "user-agent": "hscli-agent-evidence/v1",
153
+ },
154
+ body: JSON.stringify(evidence),
155
+ signal: AbortSignal.timeout(30_000),
156
+ });
157
+ const responseText = await response.text();
158
+ let result = {};
159
+ if (responseText) {
160
+ try {
161
+ const parsed = JSON.parse(responseText);
162
+ result = asRecord(parsed) ?? { message: responseText.slice(0, 2_000) };
163
+ }
164
+ catch {
165
+ result = { message: responseText.slice(0, 2_000) };
166
+ }
167
+ }
168
+ if (!response.ok) {
169
+ throw new CliError("AGENT_EVIDENCE_SUBMIT_FAILED", `RevFleet evidence import returned HTTP ${response.status}.`, response.status, result);
170
+ }
171
+ return result;
172
+ }
173
+ function validateRun(manifest, checkpoint) {
174
+ if (manifest.schema !== "hscli.agent-run/v1" || checkpoint.schema !== "hscli.agent-checkpoint/v1") {
175
+ throw new CliError("AGENT_EVIDENCE_SCHEMA_INVALID", "Expected hscli agent-run/checkpoint v1 files.");
176
+ }
177
+ if (manifest.recipe !== "portal-baseline" || checkpoint.recipe !== "portal-baseline") {
178
+ throw new CliError("AGENT_EVIDENCE_RECIPE_UNSUPPORTED", "RevFleet evidence export currently requires a portal-baseline run.");
179
+ }
180
+ if (manifest.totalSteps !== PORTAL_BASELINE_SIGNALS.length) {
181
+ throw new CliError("AGENT_EVIDENCE_STEP_COUNT_MISMATCH", `Portal baseline expected ${PORTAL_BASELINE_SIGNALS.length} steps, received ${manifest.totalSteps}.`);
182
+ }
183
+ if (!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|run-[A-Za-z0-9_-]{1,100})$/i.test(manifest.runId)) {
184
+ throw new CliError("AGENT_EVIDENCE_RUN_ID_INVALID", "Portal-baseline run ID is not a supported UUID or run-* identifier.");
185
+ }
186
+ if (!isIsoDateTime(manifest.startedAt) || !manifest.completedAt || !isIsoDateTime(manifest.completedAt)
187
+ || !["completed", "completed_with_errors"].includes(manifest.status)) {
188
+ throw new CliError("AGENT_EVIDENCE_RUN_INCOMPLETE", "RevFleet evidence export requires a completed portal-baseline run.");
189
+ }
190
+ validateCheckpointSteps(checkpoint.completedSteps, "completedSteps");
191
+ validateCheckpointSteps(checkpoint.failedSteps, "failedSteps");
192
+ if (checkpoint.failedSteps.some((step) => checkpoint.completedSteps.includes(step))) {
193
+ throw new CliError("AGENT_EVIDENCE_CHECKPOINT_INVALID", "Checkpoint completedSteps and failedSteps must not overlap.");
194
+ }
195
+ if (!isIsoDateTime(checkpoint.updatedAt)) {
196
+ throw new CliError("AGENT_EVIDENCE_CHECKPOINT_INVALID", "Checkpoint updatedAt must be an ISO timestamp.");
197
+ }
198
+ }
199
+ function resolveRevFleetEvidenceEndpoint(rawUrl) {
200
+ let base;
201
+ try {
202
+ base = new URL(rawUrl);
203
+ }
204
+ catch {
205
+ throw new CliError("AGENT_EVIDENCE_BACKEND_URL_INVALID", "--backend-url must be a valid absolute URL.");
206
+ }
207
+ const localHttp = base.protocol === "http:" && ["localhost", "127.0.0.1", "::1"].includes(base.hostname);
208
+ if (base.protocol !== "https:" && !localHttp) {
209
+ throw new CliError("AGENT_EVIDENCE_BACKEND_URL_INVALID", "RevFleet evidence submission requires HTTPS (HTTP is allowed only for localhost).");
210
+ }
211
+ if (base.username || base.password || base.hash || (base.pathname !== "/" && base.pathname !== "")) {
212
+ throw new CliError("AGENT_EVIDENCE_BACKEND_URL_INVALID", "--backend-url must be an origin without credentials, fragment, or path.");
213
+ }
214
+ return new URL("/api/evidence/hscli", base).toString();
215
+ }
216
+ function parseStep(root, index, checkpoint) {
217
+ if (checkpoint.failedSteps.includes(index))
218
+ return { status: "failed", envelopes: [] };
219
+ const file = join(root, "steps", `${String(index + 1).padStart(3, "0")}.stdout.jsonl`);
220
+ if (!checkpoint.completedSteps.includes(index) || !existsSync(file)) {
221
+ return { status: "missing", envelopes: [] };
222
+ }
223
+ try {
224
+ assertReadableSize(file);
225
+ const lines = readFileSync(file, "utf8").split("\n").map((line) => line.trim()).filter(Boolean);
226
+ if (lines.length === 0)
227
+ return { status: "invalid", envelopes: [] };
228
+ const envelopes = lines.map((line) => JSON.parse(line));
229
+ if (envelopes.some((envelope) => envelope.ok !== true || envelope.data === undefined)) {
230
+ return { status: "invalid", envelopes: [] };
231
+ }
232
+ return { status: "collected", envelopes };
233
+ }
234
+ catch {
235
+ return { status: "invalid", envelopes: [] };
236
+ }
237
+ }
238
+ function summarizeFillRates(step, allowedProperties) {
239
+ const propertyFillRates = {};
240
+ let sampled = 0;
241
+ for (const envelope of step.envelopes) {
242
+ const data = asRecord(envelope.data);
243
+ const meta = asRecord(envelope.meta);
244
+ const property = normalizePropertyName(data?.property);
245
+ const fillRate = finiteRatio(data?.fillRate);
246
+ if (property && allowedProperties.has(property) && fillRate !== null)
247
+ propertyFillRates[property] = fillRate;
248
+ sampled = Math.max(sampled, evidenceCount(meta?.sampled) ?? evidenceCount(data?.sampled) ?? 0);
249
+ }
250
+ return { sampled, propertyFillRates };
251
+ }
252
+ function records(step) {
253
+ const out = [];
254
+ for (const envelope of step.envelopes) {
255
+ if (Array.isArray(envelope.data)) {
256
+ for (const value of envelope.data) {
257
+ const record = asRecord(value);
258
+ if (record)
259
+ out.push(record);
260
+ }
261
+ continue;
262
+ }
263
+ const data = asRecord(envelope.data);
264
+ if (!data)
265
+ continue;
266
+ if (Array.isArray(data.results)) {
267
+ for (const value of data.results) {
268
+ const record = asRecord(value);
269
+ if (record)
270
+ out.push(record);
271
+ }
272
+ }
273
+ else {
274
+ out.push(data);
275
+ }
276
+ }
277
+ return out;
278
+ }
279
+ function firstRecord(step) {
280
+ return records(step)[0];
281
+ }
282
+ function recordCount(step) {
283
+ return records(step).length;
284
+ }
285
+ function countStatuses(signals) {
286
+ return signals.reduce((counts, signal) => {
287
+ counts[signal.status] += 1;
288
+ return counts;
289
+ }, { collected: 0, failed: 0, missing: 0, invalid: 0 });
290
+ }
291
+ function readJson(file, label) {
292
+ if (!existsSync(file))
293
+ throw new CliError("AGENT_EVIDENCE_FILE_MISSING", `Missing ${label}: ${file}`);
294
+ try {
295
+ assertReadableSize(file);
296
+ return JSON.parse(readFileSync(file, "utf8"));
297
+ }
298
+ catch (error) {
299
+ if (error instanceof CliError)
300
+ throw error;
301
+ throw new CliError("AGENT_EVIDENCE_FILE_INVALID", `Invalid ${label}: ${file}`);
302
+ }
303
+ }
304
+ function assertReadableSize(file) {
305
+ if (statSync(file).size > MAX_EVIDENCE_FILE_BYTES) {
306
+ throw new CliError("AGENT_EVIDENCE_FILE_TOO_LARGE", `Evidence file exceeds ${MAX_EVIDENCE_FILE_BYTES} bytes: ${file}`);
307
+ }
308
+ }
309
+ function normalizePortalId(value) {
310
+ const normalized = typeof value === "number" ? String(value) : typeof value === "string" ? value.trim() : "";
311
+ return /^\d+$/.test(normalized) ? normalized : null;
312
+ }
313
+ function normalizeHublet(value) {
314
+ if (typeof value !== "string")
315
+ return null;
316
+ const normalized = value.trim().toLowerCase();
317
+ return ["us", "na", "na1", "na2", "eu1", "ap1"].includes(normalized)
318
+ ? normalized
319
+ : null;
320
+ }
321
+ function normalizePropertyName(value) {
322
+ if (typeof value !== "string")
323
+ return null;
324
+ return /^[A-Za-z0-9_]{1,120}$/.test(value) ? value : null;
325
+ }
326
+ function finiteRatio(value) {
327
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 1 ? value : null;
328
+ }
329
+ function evidenceCount(value) {
330
+ return typeof value === "number" && Number.isInteger(value) && value >= 0 && value <= MAX_EVIDENCE_COUNT
331
+ ? value
332
+ : null;
333
+ }
334
+ function isIsoDateTime(value) {
335
+ return typeof value === "string" && !Number.isNaN(Date.parse(value)) && value.includes("T");
336
+ }
337
+ function validateCheckpointSteps(steps, label) {
338
+ if (!Array.isArray(steps)
339
+ || new Set(steps).size !== steps.length
340
+ || steps.some((step) => !Number.isInteger(step) || step < 0 || step >= PORTAL_BASELINE_SIGNALS.length)) {
341
+ throw new CliError("AGENT_EVIDENCE_CHECKPOINT_INVALID", `Checkpoint ${label} must contain unique portal-baseline step indexes.`);
342
+ }
343
+ }
344
+ function asRecord(value) {
345
+ return value !== null && typeof value === "object" && !Array.isArray(value)
346
+ ? value
347
+ : undefined;
348
+ }
349
+ function stableStringify(value) {
350
+ if (Array.isArray(value))
351
+ return `[${value.map(stableStringify).join(",")}]`;
352
+ if (value !== null && typeof value === "object") {
353
+ const record = value;
354
+ return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${stableStringify(record[key])}`).join(",")}}`;
355
+ }
356
+ return JSON.stringify(value);
357
+ }
358
+ //# sourceMappingURL=evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../src/commands/agent/evidence.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { resolve } from "node:path";
1
2
  import { CliError, printResult } from "../../core/output.js";
2
3
  import { registerActionContractCommands } from "./contracts.js";
4
+ import { buildRevFleetEvidence, submitRevFleetEvidence, writeRevFleetEvidence, } from "./evidence.js";
3
5
  import { AGENT_PRINCIPLES, recipeIds, resolveRecipe } from "./recipes.js";
4
6
  import { runAgentRecipe } from "./runner.js";
5
7
  function shellQuoteArg(value) {
@@ -162,6 +164,39 @@ export function registerAgent(program, getCtx) {
162
164
  });
163
165
  printResult(ctx, result);
164
166
  });
167
+ const evidence = agent
168
+ .command("evidence")
169
+ .description("Export aggregate, PII-free evidence from an hscli agent run");
170
+ evidence
171
+ .command("export")
172
+ .argument("<run-directory>", "Completed portal-baseline evidence directory")
173
+ .option("--output <file>", "Write revfleet.hscli-evidence/v1 JSON to this file")
174
+ .description("Build a deterministic RevFleet evidence contract without uploading raw records or user identities")
175
+ .action((runDirectory, opts) => {
176
+ const ctx = getCtx();
177
+ const outputFile = opts.output ? resolve(String(opts.output)) : null;
178
+ const exported = outputFile
179
+ ? writeRevFleetEvidence(String(runDirectory), outputFile)
180
+ : buildRevFleetEvidence(String(runDirectory));
181
+ printResult(ctx, {
182
+ outputFile,
183
+ evidence: exported,
184
+ });
185
+ });
186
+ evidence
187
+ .command("submit")
188
+ .argument("<run-directory>", "Completed portal-baseline evidence directory")
189
+ .option("--backend-url <url>", "RevFleet origin (or set REVFLEET_BACKEND_URL)")
190
+ .option("--api-key-env <name>", "Environment variable holding a scan:run RevFleet API key", "REVFLEET_API_KEY")
191
+ .description("Submit only the signed aggregate evidence contract; raw step files remain local")
192
+ .action(async (runDirectory, opts) => {
193
+ const ctx = getCtx();
194
+ const result = await submitRevFleetEvidence(String(runDirectory), {
195
+ backendUrl: opts.backendUrl ? String(opts.backendUrl) : undefined,
196
+ apiKeyEnv: String(opts.apiKeyEnv),
197
+ });
198
+ printResult(ctx, result);
199
+ });
165
200
  const schedule = agent.command("schedule").description("Render schedule artifacts for agent runbooks");
166
201
  schedule
167
202
  .command("render")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAuB,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAW7C,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,QAAQ,CAAC,6BAA6B,EAAE,yDAAyD,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,GAAe;IACjC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,GAAG,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,GAAG,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,GAAe,EAAE,IAAc;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1G,OAAO,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,GAAe,EAAE,QAAgB;IACrD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAe,EAAE,QAAgB;IACnD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACL,aAAa,EAAE,WAAW;QAC1B,MAAM,EAAE,MAAM,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;QAClC,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;QACtC,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE;YACV,yCAAyC;YACzC,8CAA8C;YAC9C,uDAAuD;YACvD,6DAA6D;YAC7D,6DAA6D;YAC7D,6FAA6F;SAC9F;QACD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,GAAe,EACf,QAAgB,EAChB,MAAsB,EACtB,OAAe;IAEf,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,GAAG,IAAI,IAAI,OAAO,mBAAmB,QAAQ,aAAa,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAChC,OAAO;YACL,2BAA2B;YAC3B,KAAK;YACL,aAAa;YACb,gBAAgB,IAAI,GAAG;YACvB,OAAO;YACP,YAAY;YACZ,4BAA4B;YAC5B,YAAY;YACZ,qCAAqC;YACrC,eAAe;YACf,8BAA8B;YAC9B,6CAA6C;YAC7C,gBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE;SAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvF,OAAO;QACL,4CAA4C;QAC5C,4GAA4G;QAC5G,yBAAyB;QACzB,QAAQ;QACR,4DAA4D;QAC5D,+BAA+B;QAC/B,WAAW;QACX,GAAG,WAAW;QACd,YAAY;QACZ,oCAAoC;QACpC,yFAAyF;QACzF,SAAS;QACT,UAAU;KACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAwB;IACtE,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4FAA4F,CAAC,CAAC;IAE7G,8BAA8B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE9C,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,GAAG,EAAE;YACf,UAAU,EAAE,gBAAgB;YAC5B,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;gBACjC,OAAO;oBACL,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;iBAClD,CAAC;YACJ,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,UAAU,EAAE,4DAA4D,CAAC;SAClF,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,UAAU,EAAE,4DAA4D,CAAC;SAClF,MAAM,CAAC,gBAAgB,EAAE,qEAAqE,CAAC;SAC/F,MAAM,CAAC,UAAU,EAAE,gDAAgD,CAAC;SACpE,MAAM,CAAC,qBAAqB,EAAE,sDAAsD,CAAC;SACrF,WAAW,CAAC,uEAAuE,CAAC;SACpF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACrD,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5B,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;SAC/C,CAAC,CAAC;QACH,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,8CAA8C,CAAC,CAAC;IACvG,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,UAAU,EAAE,4DAA4D,CAAC;SAClF,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;SAClE,MAAM,CAAC,eAAe,EAAE,iDAAiD,EAAE,WAAW,CAAC;SACvF,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAmB,CAAC;QAC/D,IAAI,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,QAAQ,CAAC,+BAA+B,EAAE,+CAA+C,CAAC,CAAC;QACvG,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;QAC9C,WAAW,CAAC,GAAG,EAAE;YACf,MAAM;YACN,MAAM;YACN,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,10 @@ export function registerAudit(program, getCtx) {
83
83
  totalLoaded: all.length,
84
84
  afterFilters: events.length,
85
85
  showing: Math.min(events.length, limit),
86
+ summary: {
87
+ requests: all.length,
88
+ errors: all.filter((event) => Boolean(event.error) || (event.status !== undefined && event.status >= 400)).length,
89
+ },
86
90
  filters: {
87
91
  since: opts.since ?? "(none)",
88
92
  writesOnly: Boolean(opts.writesOnly),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/audit/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/audit/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  # COMMAND_TREE
2
2
 
3
- > Updated: 2026-07-09 for 0.9.0
3
+ > Updated: 2026-07-10 for 0.9.1
4
4
  > See also: [COMMAND_COMPATIBILITY.md](COMMAND_COMPATIBILITY.md) · [ARCHITECTURE.md](ARCHITECTURE.md) · [MCP.md](MCP.md)
5
5
 
6
6
  High-level map of every hscli command. For detailed args and examples per command, run `hscli <domain> <cmd> --help`.
@@ -54,8 +54,11 @@ High-level map of every hscli command. For detailed args and examples per comman
54
54
 
55
55
  ## Agent
56
56
 
57
- - `hscli agent list` — list deterministic operator recipes (`data-cleanup`, `pipeline-risk`, `automation-risk`)
57
+ - `hscli agent list` — list deterministic operator recipes (`portal-baseline`, `data-cleanup`, `pipeline-risk`, `automation-risk`)
58
58
  - `hscli agent plan <recipe>` — render a public-API-first, audit-friendly runbook without executing HubSpot requests
59
+ - `hscli agent run <recipe> [--output <dir>] [--resume] [--continue-on-error]` — execute a read-only runbook into a resumable local evidence directory
60
+ - `hscli agent evidence export <run-directory> [--output <file>]` — create signed aggregate-only `revfleet.hscli-evidence/v1` JSON; raw steps and identities remain local
61
+ - `hscli agent evidence submit <run-directory> [--backend-url <origin>] [--api-key-env <name>]` — submit signed aggregate evidence to an explicit RevFleet origin (`REVFLEET_BACKEND_URL` is the fallback); does not create a full scan score
59
62
  - `hscli agent schedule render <recipe> [--target cron|github-actions|launchd] [--cron "0 8 * * 1"]` — render a schedule artifact; does not install it
60
63
 
61
64
  ## Context
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revfleet/hscli",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "HubSpot operations and migration control plane for humans and agents, with deterministic runbooks, policy guardrails, and auditable evidence.",
5
5
  "type": "module",
6
6
  "bin": {