@neurcode-ai/cli 0.20.7 → 0.20.8
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/dist/commands/pilot.d.ts.map +1 -1
- package/dist/commands/pilot.js +81 -0
- package/dist/commands/pilot.js.map +1 -1
- package/dist/runtime-build.json +4 -4
- package/dist/utils/pilot-evidence-io.d.ts +52 -0
- package/dist/utils/pilot-evidence-io.d.ts.map +1 -0
- package/dist/utils/pilot-evidence-io.js +251 -0
- package/dist/utils/pilot-evidence-io.js.map +1 -0
- package/dist/utils/pilot-evidence-pack.d.ts +280 -0
- package/dist/utils/pilot-evidence-pack.d.ts.map +1 -0
- package/dist/utils/pilot-evidence-pack.js +630 -0
- package/dist/utils/pilot-evidence-pack.js.map +1 -0
- package/package.json +8 -7
- package/LICENSE +0 -201
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pilot Evidence Pack — pure builders (Iteration 10).
|
|
3
|
+
*
|
|
4
|
+
* After a pilot, a founder needs to hand engineering managers, principal
|
|
5
|
+
* engineers, security reviewers, and procurement/IT a single, shareable packet
|
|
6
|
+
* that explains what the Neurcode runtime control plane actually did — without a
|
|
7
|
+
* live walkthrough and without leaking a single line of source.
|
|
8
|
+
*
|
|
9
|
+
* This module is the source-free, deterministic core. It takes already-parsed,
|
|
10
|
+
* source-free inputs (extracted by the thin `neurcode pilot export` command from
|
|
11
|
+
* `.neurcode/sessions/*.change-record.json`, `.neurcode/admission/*.json`, and
|
|
12
|
+
* `.neurcode/pilot-metrics.json`) and turns them into:
|
|
13
|
+
*
|
|
14
|
+
* 1. {@link buildPilotEvidencePack} — a machine-readable manifest
|
|
15
|
+
* (`neurcode.pilot-evidence-pack.v1`).
|
|
16
|
+
* 2. {@link renderPilotEvidencePackMarkdown} / {@link renderPilotEvidencePackHtml}
|
|
17
|
+
* — the human-readable executive packet.
|
|
18
|
+
*
|
|
19
|
+
* Hard rules (shared with utils/enterprise-eval-report.ts + utils/guided-eval.ts):
|
|
20
|
+
* - Source-free. Only paths, owners, symbol names, counts, verdicts, hashes,
|
|
21
|
+
* and tier labels are read or emitted. We NEVER copy source, diffs, patch
|
|
22
|
+
* bodies, raw prompts, secrets, or the admission record's natural-language
|
|
23
|
+
* `intentSummary` / `goal` prose — intent is represented by its hash and
|
|
24
|
+
* categories only. {@link assertPilotEvidencePackSourceFree} is the backstop.
|
|
25
|
+
* - Honest tiers. Deterministic path/approval/hash facts are separated from
|
|
26
|
+
* advisory inference; trust posture is reported truthfully (self-attested vs
|
|
27
|
+
* backend-signed) and never overclaims enforcement.
|
|
28
|
+
* - Deterministic. {@link computePilotEvidencePackHash} excludes wall-clock
|
|
29
|
+
* timestamps so the same input yields the same `contentHash`.
|
|
30
|
+
*
|
|
31
|
+
* Everything here is pure (no filesystem or network I/O).
|
|
32
|
+
*/
|
|
33
|
+
export declare const PILOT_EVIDENCE_PACK_SCHEMA_VERSION: "neurcode.pilot-evidence-pack.v1";
|
|
34
|
+
/**
|
|
35
|
+
* Keys that would carry intent/prompt/task prose. The pilot evidence pack is
|
|
36
|
+
* stricter than the admission record: even though the admission record's
|
|
37
|
+
* `intentSummary` passes the project's source-free gate (it is intent, not
|
|
38
|
+
* source), an executive packet for a security reviewer must not echo task text.
|
|
39
|
+
* Mirror this set in scripts/source-free-leak-scan.mjs (SOURCE_LIKE_KEYS).
|
|
40
|
+
*/
|
|
41
|
+
export declare const FORBIDDEN_PROSE_KEYS: ReadonlySet<string>;
|
|
42
|
+
/** Source-free projection of one `.neurcode/sessions/<id>.change-record.json`. */
|
|
43
|
+
export interface PilotSessionInput {
|
|
44
|
+
sessionId: string;
|
|
45
|
+
status: string | null;
|
|
46
|
+
scopeMode: string | null;
|
|
47
|
+
trustLevel: string | null;
|
|
48
|
+
verdict: string | null;
|
|
49
|
+
counts: {
|
|
50
|
+
ok: number;
|
|
51
|
+
warn: number;
|
|
52
|
+
block: number;
|
|
53
|
+
approval: number;
|
|
54
|
+
planEvents: number;
|
|
55
|
+
events: number;
|
|
56
|
+
};
|
|
57
|
+
/** Intent is represented by hash + categories only — never the prose summary. */
|
|
58
|
+
intentHash: string | null;
|
|
59
|
+
intentCategories: string[];
|
|
60
|
+
approvals: {
|
|
61
|
+
approvalRequired: boolean;
|
|
62
|
+
exactPathApprovalOnly: boolean;
|
|
63
|
+
approvedExactPathCount: number;
|
|
64
|
+
neighborSensitiveBlocked: boolean;
|
|
65
|
+
blockedBoundaryCount: number;
|
|
66
|
+
boundaryOwnerCount: number;
|
|
67
|
+
};
|
|
68
|
+
/** Deterministic blocked-boundary globs (repo-relative; coarse patterns). */
|
|
69
|
+
blockedBoundaries: string[];
|
|
70
|
+
plan: {
|
|
71
|
+
timelineCount: number;
|
|
72
|
+
pendingAmendmentCount: number;
|
|
73
|
+
};
|
|
74
|
+
reuseAdvisoryCount: number;
|
|
75
|
+
evidenceReceipt: string | null;
|
|
76
|
+
hashes: {
|
|
77
|
+
recordHash: string | null;
|
|
78
|
+
replayHash: string | null;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/** Source-free projection of one `.neurcode/admission/<id>.json`. */
|
|
82
|
+
export interface PilotAdmissionInput {
|
|
83
|
+
sessionId: string;
|
|
84
|
+
attestationKind: string | null;
|
|
85
|
+
trustLevel: string | null;
|
|
86
|
+
sessionStatus: string | null;
|
|
87
|
+
counts: {
|
|
88
|
+
changedPaths: number;
|
|
89
|
+
blockedPaths: number;
|
|
90
|
+
suggestedApprovalPaths: number;
|
|
91
|
+
approvedExactPaths: number;
|
|
92
|
+
deniedPaths: number;
|
|
93
|
+
approvalRequiredSurfaces: number;
|
|
94
|
+
owners: number;
|
|
95
|
+
preWriteChecks: number;
|
|
96
|
+
allowedChecks: number;
|
|
97
|
+
warningChecks: number;
|
|
98
|
+
};
|
|
99
|
+
/** Repo-relative globs / paths — coarse risk surfaces, never source. */
|
|
100
|
+
paths: {
|
|
101
|
+
blocked: string[];
|
|
102
|
+
denied: string[];
|
|
103
|
+
approvalRequiredSurfaces: string[];
|
|
104
|
+
approvedExact: string[];
|
|
105
|
+
changed: string[];
|
|
106
|
+
};
|
|
107
|
+
manifest: {
|
|
108
|
+
entryCount: number;
|
|
109
|
+
deltaHash: string | null;
|
|
110
|
+
coverageSetHash: string | null;
|
|
111
|
+
/** Per-path git object metadata: path + change type + blob object ids (hashes, not contents). */
|
|
112
|
+
delta: Array<{
|
|
113
|
+
path: string;
|
|
114
|
+
changeType: string;
|
|
115
|
+
oldObjectId: string | null;
|
|
116
|
+
newObjectId: string | null;
|
|
117
|
+
}>;
|
|
118
|
+
};
|
|
119
|
+
integrity: {
|
|
120
|
+
sourceFree: boolean;
|
|
121
|
+
replayHash: string | null;
|
|
122
|
+
evidenceIntegrityStatus: string | null;
|
|
123
|
+
receiptPresent: boolean;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/** Source-free projection of the local pilot-metrics rollup (optional). */
|
|
127
|
+
export interface PilotMetricsInput {
|
|
128
|
+
periodDays: number;
|
|
129
|
+
totalVerifyRuns: number;
|
|
130
|
+
totalBlockingCaught: number;
|
|
131
|
+
totalStructuralCaught: number;
|
|
132
|
+
averagePassRate: number;
|
|
133
|
+
suppressionRate: number;
|
|
134
|
+
aiDebtTrend: string;
|
|
135
|
+
}
|
|
136
|
+
/** Source-free projection of `neurcode brain readiness` (optional). */
|
|
137
|
+
export interface PilotBrainReadinessInput {
|
|
138
|
+
state: string | null;
|
|
139
|
+
filesIndexed: number | null;
|
|
140
|
+
filesScanned: number | null;
|
|
141
|
+
percent: number | null;
|
|
142
|
+
}
|
|
143
|
+
export interface BuildPilotEvidencePackInput {
|
|
144
|
+
generatedAt: string;
|
|
145
|
+
cliVersion: string | null;
|
|
146
|
+
repoRootHash: string | null;
|
|
147
|
+
repoName: string | null;
|
|
148
|
+
sessions: PilotSessionInput[];
|
|
149
|
+
admissions: PilotAdmissionInput[];
|
|
150
|
+
metrics: PilotMetricsInput | null;
|
|
151
|
+
brainReadiness?: PilotBrainReadinessInput | null;
|
|
152
|
+
}
|
|
153
|
+
export type PilotCompletenessStatus = 'complete' | 'partial' | 'empty';
|
|
154
|
+
export interface PilotEvidencePack {
|
|
155
|
+
schemaVersion: typeof PILOT_EVIDENCE_PACK_SCHEMA_VERSION;
|
|
156
|
+
/** Wall-clock generation time — EXCLUDED from {@link contentHash}. */
|
|
157
|
+
generatedAt: string;
|
|
158
|
+
/** sha256 of the stable serialization of this pack with `generatedAt` removed. */
|
|
159
|
+
contentHash: string;
|
|
160
|
+
cli: {
|
|
161
|
+
version: string | null;
|
|
162
|
+
};
|
|
163
|
+
repo: {
|
|
164
|
+
rootHash: string | null;
|
|
165
|
+
name: string | null;
|
|
166
|
+
};
|
|
167
|
+
completeness: {
|
|
168
|
+
status: PilotCompletenessStatus;
|
|
169
|
+
missingArtifacts: string[];
|
|
170
|
+
notes: string[];
|
|
171
|
+
};
|
|
172
|
+
summary: {
|
|
173
|
+
sessionCount: number;
|
|
174
|
+
admissionRecordCount: number;
|
|
175
|
+
verdictCounts: Record<string, number>;
|
|
176
|
+
governedEditChecks: number;
|
|
177
|
+
blockedPathTotal: number;
|
|
178
|
+
deniedPathTotal: number;
|
|
179
|
+
approvedExactPathTotal: number;
|
|
180
|
+
riskFamilyCount: number;
|
|
181
|
+
dependencyChangeCount: number;
|
|
182
|
+
trustPosture: {
|
|
183
|
+
selfAttested: number;
|
|
184
|
+
backendSigned: number;
|
|
185
|
+
other: number;
|
|
186
|
+
};
|
|
187
|
+
headline: string;
|
|
188
|
+
};
|
|
189
|
+
sessions: Array<{
|
|
190
|
+
sessionId: string;
|
|
191
|
+
status: string | null;
|
|
192
|
+
verdict: string | null;
|
|
193
|
+
scopeMode: string | null;
|
|
194
|
+
trustLevel: string | null;
|
|
195
|
+
intentHash: string | null;
|
|
196
|
+
intentCategories: string[];
|
|
197
|
+
counts: PilotSessionInput['counts'];
|
|
198
|
+
approvedExactPathCount: number;
|
|
199
|
+
neighborSensitiveBlocked: boolean;
|
|
200
|
+
planEvents: number;
|
|
201
|
+
pendingAmendments: number;
|
|
202
|
+
reuseAdvisoryCount: number;
|
|
203
|
+
}>;
|
|
204
|
+
blockedRiskFamilies: Array<{
|
|
205
|
+
family: string;
|
|
206
|
+
surfaceCount: number;
|
|
207
|
+
sampleSurfaces: string[];
|
|
208
|
+
}>;
|
|
209
|
+
approvals: {
|
|
210
|
+
sessionsRequiringApproval: number;
|
|
211
|
+
exactPathOnlySessions: number;
|
|
212
|
+
approvedExactPathTotal: number;
|
|
213
|
+
neighborDenyObservedSessions: number;
|
|
214
|
+
blockedPathTotal: number;
|
|
215
|
+
deniedPathTotal: number;
|
|
216
|
+
};
|
|
217
|
+
planDrift: {
|
|
218
|
+
planEventTotal: number;
|
|
219
|
+
pendingAmendmentTotal: number;
|
|
220
|
+
planTimelineTotal: number;
|
|
221
|
+
sessionsWithPlanActivity: number;
|
|
222
|
+
note: string;
|
|
223
|
+
};
|
|
224
|
+
dependencyChanges: {
|
|
225
|
+
governedChangeCount: number;
|
|
226
|
+
files: Array<{
|
|
227
|
+
path: string;
|
|
228
|
+
changeType: string;
|
|
229
|
+
objectHash: string | null;
|
|
230
|
+
}>;
|
|
231
|
+
note: string;
|
|
232
|
+
};
|
|
233
|
+
evidenceHashes: Array<{
|
|
234
|
+
sessionId: string;
|
|
235
|
+
recordHash: string | null;
|
|
236
|
+
replayHash: string | null;
|
|
237
|
+
deltaHash: string | null;
|
|
238
|
+
coverageSetHash: string | null;
|
|
239
|
+
}>;
|
|
240
|
+
brainReadiness: PilotBrainReadinessInput | null;
|
|
241
|
+
metrics: PilotMetricsInput | null;
|
|
242
|
+
whatStayedLocal: {
|
|
243
|
+
statement: string;
|
|
244
|
+
facts: string[];
|
|
245
|
+
};
|
|
246
|
+
limitations: string[];
|
|
247
|
+
truthTiers: {
|
|
248
|
+
deterministic: string[];
|
|
249
|
+
advisory: string[];
|
|
250
|
+
};
|
|
251
|
+
privacy: {
|
|
252
|
+
sourceFree: true;
|
|
253
|
+
excludes: string[];
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
/** Map a coarse glob / path to a stable risk-family bucket. Source-free. */
|
|
257
|
+
export declare function classifyRiskFamily(surface: string): string;
|
|
258
|
+
/** True when a repo-relative path is a recognized dependency manifest / lockfile. */
|
|
259
|
+
export declare function isDependencyManifest(path: string): boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Build the source-free pilot evidence pack from already-parsed inputs. The
|
|
262
|
+
* returned object carries a stable {@link PilotEvidencePack.contentHash}; the
|
|
263
|
+
* caller should still run {@link assertPilotEvidencePackSourceFree} before
|
|
264
|
+
* writing or printing (defense in depth — the harness asserts the same).
|
|
265
|
+
*/
|
|
266
|
+
export declare function buildPilotEvidencePack(input: BuildPilotEvidencePackInput): PilotEvidencePack;
|
|
267
|
+
/**
|
|
268
|
+
* Compute the stable content hash of a pack: sha256 over the sorted-key
|
|
269
|
+
* serialization with `generatedAt` (and the hash field itself) removed, so the
|
|
270
|
+
* same input always yields the same hash regardless of generation time.
|
|
271
|
+
*/
|
|
272
|
+
export declare function computePilotEvidencePackHash(pack: PilotEvidencePack): string;
|
|
273
|
+
/**
|
|
274
|
+
* Throw if a would-be pilot evidence artifact carries source/diff/secret shapes
|
|
275
|
+
* (delegated to the shared enterprise-eval scan) or any prose-intent key.
|
|
276
|
+
*/
|
|
277
|
+
export declare function assertPilotEvidencePackSourceFree(value: unknown, label?: string): void;
|
|
278
|
+
export declare function renderPilotEvidencePackMarkdown(pack: PilotEvidencePack): string;
|
|
279
|
+
export declare function renderPilotEvidencePackHtml(pack: PilotEvidencePack): string;
|
|
280
|
+
//# sourceMappingURL=pilot-evidence-pack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pilot-evidence-pack.d.ts","sourceRoot":"","sources":["../../src/utils/pilot-evidence-pack.ts"],"names":[],"mappings":"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"}
|