@codyswann/lisa 4.21.5 → 4.22.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/all/copy-overwrite/scripts/lisa-environment-prepare.mjs +28 -12
- package/dist/cli/doctor-nightly-e2e-guard-command-files.d.ts +19 -0
- package/dist/cli/doctor-nightly-e2e-guard-command-files.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-command-files.js +221 -0
- package/dist/cli/doctor-nightly-e2e-guard-command-files.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-contract.d.ts +113 -0
- package/dist/cli/doctor-nightly-e2e-guard-contract.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-contract.js +87 -0
- package/dist/cli/doctor-nightly-e2e-guard-contract.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-deadline.d.ts +61 -0
- package/dist/cli/doctor-nightly-e2e-guard-deadline.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-deadline.js +97 -0
- package/dist/cli/doctor-nightly-e2e-guard-deadline.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-evidence.d.ts +52 -0
- package/dist/cli/doctor-nightly-e2e-guard-evidence.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-evidence.js +68 -0
- package/dist/cli/doctor-nightly-e2e-guard-evidence.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-graph.d.ts +14 -0
- package/dist/cli/doctor-nightly-e2e-guard-graph.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-graph.js +130 -0
- package/dist/cli/doctor-nightly-e2e-guard-graph.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-io.d.ts +41 -0
- package/dist/cli/doctor-nightly-e2e-guard-io.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-io.js +239 -0
- package/dist/cli/doctor-nightly-e2e-guard-io.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-job.d.ts +31 -0
- package/dist/cli/doctor-nightly-e2e-guard-job.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-job.js +156 -0
- package/dist/cli/doctor-nightly-e2e-guard-job.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-proof.d.ts +42 -0
- package/dist/cli/doctor-nightly-e2e-guard-proof.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-proof.js +57 -0
- package/dist/cli/doctor-nightly-e2e-guard-proof.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-remediation.d.ts +32 -0
- package/dist/cli/doctor-nightly-e2e-guard-remediation.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-remediation.js +55 -0
- package/dist/cli/doctor-nightly-e2e-guard-remediation.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-runtime.d.ts +34 -0
- package/dist/cli/doctor-nightly-e2e-guard-runtime.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-runtime.js +93 -0
- package/dist/cli/doctor-nightly-e2e-guard-runtime.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-scan.d.ts +17 -0
- package/dist/cli/doctor-nightly-e2e-guard-scan.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-scan.js +86 -0
- package/dist/cli/doctor-nightly-e2e-guard-scan.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.d.ts +38 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.js +160 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell.d.ts +40 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell.js +201 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard.d.ts +36 -0
- package/dist/cli/doctor-nightly-e2e-guard.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard.js +186 -0
- package/dist/cli/doctor-nightly-e2e-guard.js.map +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +7 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +2 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.d.ts +25 -0
- package/dist/core/nightly-e2e-guard-behavior-certificate.d.ts.map +1 -0
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +30 -0
- package/dist/core/nightly-e2e-guard-behavior-certificate.js.map +1 -0
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +32 -5
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/migrations/ensure-playwright-dedicated-caller.d.ts +0 -2
- package/dist/migrations/ensure-playwright-dedicated-caller.d.ts.map +1 -1
- package/dist/migrations/ensure-playwright-dedicated-caller.js +12 -40
- package/dist/migrations/ensure-playwright-dedicated-caller.js.map +1 -1
- package/expo/create-only/.github/workflows/maestro-e2e.yml +6 -0
- package/expo/create-only/.github/workflows/playwright-e2e.yml +5 -5
- package/package.json +5 -3
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/scripts/check-derived-artifacts.mjs +32 -5
- package/scripts/generate-nightly-e2e-guard-certificate.mjs +370 -0
- package/scripts/two-channel-couplings.json +16 -4
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file doctor-nightly-e2e-guard-shell.ts
|
|
3
|
+
* @description Static interpreter for the intentionally small guard run grammar
|
|
4
|
+
* @module cli/doctor-nightly-e2e-guard-shell
|
|
5
|
+
*/
|
|
6
|
+
import { normalizeNightlyGuardTarget } from "./doctor-nightly-e2e-guard-contract.js";
|
|
7
|
+
import { inspectNightlyGuardCommandFileWrites, } from "./doctor-nightly-e2e-guard-command-files.js";
|
|
8
|
+
import { lexNightlyGuardRun, } from "./doctor-nightly-e2e-guard-shell-lexer.js";
|
|
9
|
+
import { isExecutionChangingEnvironmentName, nightlyGuardEnvironmentFailure, nightlyGuardPosixContextFailure, } from "./doctor-nightly-e2e-guard-runtime.js";
|
|
10
|
+
const ENVIRONMENT_NAME = /^[A-Z][A-Z0-9_]*$/u;
|
|
11
|
+
const ENVIRONMENT_TARGET = /^\$(?:\{([A-Z][A-Z0-9_]*)\}|([A-Z][A-Z0-9_]*))$/u;
|
|
12
|
+
const BYPASS_ENVIRONMENT_NAMES = new Set([
|
|
13
|
+
"GATE_BYPASS",
|
|
14
|
+
"NIGHTLY_BYPASS",
|
|
15
|
+
"NIGHTLY_BYPASS_LABEL",
|
|
16
|
+
"NIGHTLY_BYPASS_MAX_HOURS",
|
|
17
|
+
"NIGHTLY_BYPASS_REASON_PATTERN",
|
|
18
|
+
]);
|
|
19
|
+
const EXACT_BYPASS_REFERENCE = /(?:^|[^A-Z0-9_])(?:GATE_BYPASS|NIGHTLY_BYPASS)(?=$|[^A-Z0-9_])/iu;
|
|
20
|
+
/**
|
|
21
|
+
* Compare bypass vocabulary independently of label case and punctuation.
|
|
22
|
+
* @param value - Executable expression or literal environment value
|
|
23
|
+
* @returns Whether the normalized text can denote nightly bypass state
|
|
24
|
+
*/
|
|
25
|
+
export const hasNightlyBypassReference = (value) => {
|
|
26
|
+
const terms = value
|
|
27
|
+
.toLowerCase()
|
|
28
|
+
.split(/[^a-z0-9]+/u)
|
|
29
|
+
.filter(Boolean);
|
|
30
|
+
const candidates = value
|
|
31
|
+
.split(/['"`()$,{}[\]]+/u)
|
|
32
|
+
.map(candidate => candidate.toLowerCase().replace(/[^a-z0-9]/gu, ""));
|
|
33
|
+
const constructedExpression = /\$\{\{[\s\S]*\}\}/u.test(value) &&
|
|
34
|
+
["nightly", "e2e", "bypass"].every(term => terms.includes(term)) &&
|
|
35
|
+
!terms.includes("cache");
|
|
36
|
+
return (EXACT_BYPASS_REFERENCE.test(value) ||
|
|
37
|
+
candidates.includes("nightlye2ebypass") ||
|
|
38
|
+
constructedExpression);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Match the exact environment names implemented by the shipped guard.
|
|
42
|
+
* @param value - YAML or shell environment name
|
|
43
|
+
* @returns Whether the name is part of the bounded-waiver contract
|
|
44
|
+
*/
|
|
45
|
+
export const isNightlyBypassEnvironmentName = (value) => ENVIRONMENT_NAME.test(value) && BYPASS_ENVIRONMENT_NAMES.has(value);
|
|
46
|
+
const words = (tokens) => tokens.filter((token) => token.kind === "word");
|
|
47
|
+
const actualEnvironmentTarget = (word) => word.quote === "single"
|
|
48
|
+
? undefined
|
|
49
|
+
: ENVIRONMENT_TARGET.exec(word.value)?.[0];
|
|
50
|
+
const environmentName = (word) => {
|
|
51
|
+
const match = ENVIRONMENT_TARGET.exec(word.value);
|
|
52
|
+
return match?.[1] ?? match?.[2];
|
|
53
|
+
};
|
|
54
|
+
const targetFromWord = (word, env) => {
|
|
55
|
+
if (word.quote === "single" && ENVIRONMENT_TARGET.test(word.value)) {
|
|
56
|
+
return {
|
|
57
|
+
reason: "single-quoted environment target is a literal shell string and cannot resolve a guard",
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const variable = actualEnvironmentTarget(word);
|
|
61
|
+
const candidate = variable ? env[environmentName(word) ?? ""] : word.value;
|
|
62
|
+
if (candidate === undefined) {
|
|
63
|
+
return {
|
|
64
|
+
reason: "could not resolve the Node target from one unquoted or double-quoted literal environment level",
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const target = normalizeNightlyGuardTarget(candidate);
|
|
68
|
+
return target
|
|
69
|
+
? { target }
|
|
70
|
+
: {
|
|
71
|
+
reason: "Node target must be one literal contained relative ASCII .js/.mjs/.cjs path; expressions, substitutions, absolute/escaping paths, and multiple commands are unsupported",
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
const bypassAssignment = (word) => {
|
|
75
|
+
const equals = word.value.indexOf("=");
|
|
76
|
+
if (equals <= 0)
|
|
77
|
+
return false;
|
|
78
|
+
const name = word.value.slice(0, equals);
|
|
79
|
+
return isNightlyBypassEnvironmentName(name);
|
|
80
|
+
};
|
|
81
|
+
const safeEnvironmentFileName = (name) => !isNightlyBypassEnvironmentName(name) &&
|
|
82
|
+
!hasNightlyBypassReference(name) &&
|
|
83
|
+
!isExecutionChangingEnvironmentName(name);
|
|
84
|
+
const runMetadata = (tokens) => {
|
|
85
|
+
const commandWords = words(tokens);
|
|
86
|
+
const node = commandWords.findIndex(word => word.value === "node");
|
|
87
|
+
const containsNode = node >= 0;
|
|
88
|
+
const fileWrites = inspectNightlyGuardCommandFileWrites(tokens, safeEnvironmentFileName);
|
|
89
|
+
const bypassEvidence = commandWords.some(word => bypassAssignment(word) || hasNightlyBypassReference(word.value));
|
|
90
|
+
const normalizedRun = commandWords.map(word => word.value).join(" ");
|
|
91
|
+
const inlineEnvironment = containsNode &&
|
|
92
|
+
(commandWords.slice(0, node).some(bypassAssignment) ||
|
|
93
|
+
(commandWords[0]?.value === "env" &&
|
|
94
|
+
hasNightlyBypassReference(normalizedRun)));
|
|
95
|
+
const bypassWiring = fileWrites.some(write => write.file === "GITHUB_ENV" && write.safety !== "safe")
|
|
96
|
+
? "GITHUB_ENV"
|
|
97
|
+
: inlineEnvironment
|
|
98
|
+
? "inline environment"
|
|
99
|
+
: undefined;
|
|
100
|
+
return {
|
|
101
|
+
commandWords,
|
|
102
|
+
node,
|
|
103
|
+
containsNode,
|
|
104
|
+
bypassEvidence,
|
|
105
|
+
...(bypassWiring ? { bypassWiring } : {}),
|
|
106
|
+
...(fileWrites.length > 0 ? { commandFileWrites: fileWrites } : {}),
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
const resultBase = (metadata) => ({
|
|
110
|
+
reportingOnly: false,
|
|
111
|
+
containsNode: metadata.containsNode,
|
|
112
|
+
bypassEvidence: metadata.bypassEvidence,
|
|
113
|
+
...(metadata.bypassWiring ? { bypassWiring: metadata.bypassWiring } : {}),
|
|
114
|
+
...(metadata.commandFileWrites
|
|
115
|
+
? { commandFileWrites: metadata.commandFileWrites }
|
|
116
|
+
: {}),
|
|
117
|
+
});
|
|
118
|
+
const commandGroups = (tokens) => tokens
|
|
119
|
+
.reduce((groups, token) => {
|
|
120
|
+
if (token.kind === "operator" &&
|
|
121
|
+
(token.value === "\n" || token.value === ";")) {
|
|
122
|
+
return groups.at(-1)?.length === 0 ? groups : [...groups, []];
|
|
123
|
+
}
|
|
124
|
+
const prior = groups.slice(0, -1);
|
|
125
|
+
const last = groups.at(-1) ?? [];
|
|
126
|
+
return [...prior, [...last, token]];
|
|
127
|
+
}, [[]])
|
|
128
|
+
.filter(group => group.length > 0);
|
|
129
|
+
const unsupportedCommandShape = (tokens) => tokens.some(token => token.kind === "operator" && token.value !== "\n" && token.value !== ";") || commandGroups(tokens).length !== 1;
|
|
130
|
+
const nodePrefixFailure = (commandWords, node) => {
|
|
131
|
+
const prefix = commandWords.slice(0, node);
|
|
132
|
+
if (prefix.length === 0 ||
|
|
133
|
+
(prefix.length === 1 && prefix[0]?.value === "env")) {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
const assignments = prefix.filter(word => word.value.includes("="));
|
|
137
|
+
const dangerous = assignments.find(word => isExecutionChangingEnvironmentName(word.value.slice(0, word.value.indexOf("="))));
|
|
138
|
+
if (dangerous) {
|
|
139
|
+
return `${dangerous.value.slice(0, dangerous.value.indexOf("="))} pre-node assignment is unsafe`;
|
|
140
|
+
}
|
|
141
|
+
return assignments.length > 0
|
|
142
|
+
? "pre-node environment assignments are unsupported because they can change certified handler behavior"
|
|
143
|
+
: "Node command does not match the supported literal grammar";
|
|
144
|
+
};
|
|
145
|
+
const inspectNodeCommand = (metadata, env, environmentFailure) => {
|
|
146
|
+
const base = resultBase(metadata);
|
|
147
|
+
const afterNode = metadata.commandWords.slice(metadata.node + 1);
|
|
148
|
+
const prefixFailure = nodePrefixFailure(metadata.commandWords, metadata.node);
|
|
149
|
+
const refusal = environmentFailure ?? prefixFailure;
|
|
150
|
+
if (refusal || (afterNode.length !== 1 && afterNode.length !== 2)) {
|
|
151
|
+
return {
|
|
152
|
+
...base,
|
|
153
|
+
reason: refusal ?? "Node command does not match the supported literal grammar",
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
const option = afterNode[1]?.value;
|
|
157
|
+
if (option === "--contract-version" || option === "--report-issues") {
|
|
158
|
+
return { ...base, reportingOnly: true };
|
|
159
|
+
}
|
|
160
|
+
if (afterNode.length !== 1) {
|
|
161
|
+
return { ...base, reason: "Node target has unsupported arguments" };
|
|
162
|
+
}
|
|
163
|
+
return {
|
|
164
|
+
...base,
|
|
165
|
+
...targetFromWord(afterNode[0], env),
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Interpret the supported Node grammar after bounded comment-aware lexing.
|
|
170
|
+
* @param run - YAML-decoded shell scalar
|
|
171
|
+
* @param env - Literal YAML environment levels available to this step
|
|
172
|
+
* @param context - Runner and effective shell metadata proving POSIX semantics
|
|
173
|
+
* @returns Static target/reporting/refusal and bypass-wiring evidence
|
|
174
|
+
*/
|
|
175
|
+
export function inspectNightlyGuardRun(run, env, context) {
|
|
176
|
+
const lexical = lexNightlyGuardRun(run);
|
|
177
|
+
if (!lexical.tokens) {
|
|
178
|
+
return {
|
|
179
|
+
reportingOnly: false,
|
|
180
|
+
containsNode: /(?:^|[ \t])node(?:[ \t]|$)/u.test(run),
|
|
181
|
+
bypassEvidence: hasNightlyBypassReference(run),
|
|
182
|
+
...(lexical.reason ? { reason: lexical.reason } : {}),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
const tokens = lexical.tokens;
|
|
186
|
+
const metadata = runMetadata(tokens);
|
|
187
|
+
const contextFailure = nightlyGuardPosixContextFailure(run, context);
|
|
188
|
+
if (contextFailure) {
|
|
189
|
+
return { ...resultBase(metadata), reason: contextFailure };
|
|
190
|
+
}
|
|
191
|
+
if (!metadata.containsNode)
|
|
192
|
+
return resultBase(metadata);
|
|
193
|
+
if (unsupportedCommandShape(tokens)) {
|
|
194
|
+
return {
|
|
195
|
+
...resultBase(metadata),
|
|
196
|
+
reason: "multiple commands, pipelines, and shell operators are unsupported",
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
return inspectNodeCommand(metadata, env, nightlyGuardEnvironmentFailure(context.environment));
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=doctor-nightly-e2e-guard-shell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-nightly-e2e-guard-shell.js","sourceRoot":"","sources":["../../src/cli/doctor-nightly-e2e-guard-shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { HashLedger } from "../core/lisa-owned-provenance.js";
|
|
2
|
+
import type { DoctorCheck } from "./doctor.js";
|
|
3
|
+
import { type NightlyGuardProbeResult, type NightlyGuardScanResult } from "./doctor-nightly-e2e-guard-contract.js";
|
|
4
|
+
import { proveNightlyE2eGuardTarget, type NightlyGuardBehaviorCertificates, type NightlyGuardProofDependencies } from "./doctor-nightly-e2e-guard-proof.js";
|
|
5
|
+
import { type NightlyGuardScanDependencies } from "./doctor-nightly-e2e-guard-scan.js";
|
|
6
|
+
/** Stable doctor row name shared by human and JSON output. */
|
|
7
|
+
export declare const NIGHTLY_GUARD_CHECK_NAME = "Nightly E2E bypass guard bounded?";
|
|
8
|
+
/** Injected read-only collaborators for deterministic deadline/provenance tests. */
|
|
9
|
+
export interface NightlyGuardDependencies {
|
|
10
|
+
/** Installed Lisa root, for package-copy remediation classification. */
|
|
11
|
+
readonly lisaRoot?: string;
|
|
12
|
+
/** Known shipped hashes, injectable for provenance bite controls. */
|
|
13
|
+
readonly ledger?: HashLedger;
|
|
14
|
+
/** Exact behavior certificates, injectable for package fixture tests. */
|
|
15
|
+
readonly certificates?: NightlyGuardBehaviorCertificates;
|
|
16
|
+
/** Monotonic clock started before discovery. */
|
|
17
|
+
readonly now?: () => number;
|
|
18
|
+
/** Discovery seam used to prove the outer deadline includes scanning. */
|
|
19
|
+
readonly scanImpl?: (projectRoot: string, dependencies?: NightlyGuardScanDependencies) => Promise<NightlyGuardScanResult>;
|
|
20
|
+
/** Static target proof seam used to prove target deduplication. */
|
|
21
|
+
readonly probeImpl?: (projectRoot: string, target: string, dependencies?: NightlyGuardProofDependencies) => Promise<NightlyGuardProbeResult>;
|
|
22
|
+
/** Target ceiling override used only by deterministic tests. */
|
|
23
|
+
readonly timeoutMs?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Report whether every active bypass-bearing nightly caller runs a trusted,
|
|
27
|
+
* compatible major-1 guard without evaluating any target bytes.
|
|
28
|
+
* @param projectRoot - Project root to inspect without mutation
|
|
29
|
+
* @param dependencies - Optional read-only collaborators for tests
|
|
30
|
+
* @returns Existing `DoctorCheck` shape used by both renderers and exit logic
|
|
31
|
+
*/
|
|
32
|
+
export declare function checkNightlyE2eGuard(projectRoot: string, dependencies?: NightlyGuardDependencies): Promise<DoctorCheck>;
|
|
33
|
+
/** Backward-compatible name for direct callers of the former executable probe. */
|
|
34
|
+
export declare const probeNightlyE2eGuardTarget: typeof proveNightlyE2eGuardTarget;
|
|
35
|
+
export type { NightlyGuardProbeResult } from "./doctor-nightly-e2e-guard-contract.js";
|
|
36
|
+
//# sourceMappingURL=doctor-nightly-e2e-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-nightly-e2e-guard.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-nightly-e2e-guard.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EACL,0BAA0B,EAC1B,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EACnC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,oCAAoC,CAAC;AAE5C,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,sCAAsC,CAAC;AAqB5E,oFAAoF;AACpF,MAAM,WAAW,wBAAwB;IACvC,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,gCAAgC,CAAC;IACzD,gDAAgD;IAChD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,4BAA4B,KACxC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,mEAAmE;IACnE,QAAQ,CAAC,SAAS,CAAC,EAAE,CACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,6BAA6B,KACzC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AA4MD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,wBAA6B,GAC1C,OAAO,CAAC,WAAW,CAAC,CAsBtB;AAED,kFAAkF;AAClF,eAAO,MAAM,0BAA0B,mCAA6B,CAAC;AACrE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file doctor-nightly-e2e-guard.ts
|
|
3
|
+
* @description Read-only doctor verdict for active bounded nightly bypass guards
|
|
4
|
+
* @module cli/doctor-nightly-e2e-guard
|
|
5
|
+
*/
|
|
6
|
+
import * as path from "node:path";
|
|
7
|
+
import { fileURLToPath } from "node:url";
|
|
8
|
+
import { TextDecoder } from "node:util";
|
|
9
|
+
import { MAX_NIGHTLY_GUARD_DETAIL_BYTES, NIGHTLY_GUARD_OPERATION_TIMEOUT_MS, } from "./doctor-nightly-e2e-guard-contract.js";
|
|
10
|
+
import { createNightlyGuardDeadline, NightlyGuardDeadlineError, withinNightlyGuardDeadline, } from "./doctor-nightly-e2e-guard-deadline.js";
|
|
11
|
+
import { proveNightlyE2eGuardTarget, } from "./doctor-nightly-e2e-guard-proof.js";
|
|
12
|
+
import { nightlyGuardRemediation } from "./doctor-nightly-e2e-guard-remediation.js";
|
|
13
|
+
import { scanNightlyE2eGuardCallers, } from "./doctor-nightly-e2e-guard-scan.js";
|
|
14
|
+
/** Stable doctor row name shared by human and JSON output. */
|
|
15
|
+
export const NIGHTLY_GUARD_CHECK_NAME = "Nightly E2E bypass guard bounded?";
|
|
16
|
+
const DETAIL_SUFFIX = "\n[detail truncated at the 4 KiB nightly-guard limit]";
|
|
17
|
+
const UTF8 = new TextDecoder();
|
|
18
|
+
const boundedDetail = (detail) => {
|
|
19
|
+
const bytes = Buffer.from(detail);
|
|
20
|
+
if (bytes.length <= MAX_NIGHTLY_GUARD_DETAIL_BYTES)
|
|
21
|
+
return detail;
|
|
22
|
+
const suffixBytes = Buffer.byteLength(DETAIL_SUFFIX);
|
|
23
|
+
const available = MAX_NIGHTLY_GUARD_DETAIL_BYTES - suffixBytes;
|
|
24
|
+
const prefix = [0, 1, 2, 3]
|
|
25
|
+
.map(offset => UTF8.decode(bytes.subarray(0, available - offset)))
|
|
26
|
+
.find(candidate => Buffer.byteLength(candidate) <= available) ?? "";
|
|
27
|
+
return `${prefix}${DETAIL_SUFFIX}`;
|
|
28
|
+
};
|
|
29
|
+
const boundedCheck = (check) => ({
|
|
30
|
+
...check,
|
|
31
|
+
detail: boundedDetail(check.detail),
|
|
32
|
+
});
|
|
33
|
+
const defaultLisaRoot = () => path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
34
|
+
const displayError = (error) => error instanceof Error ? error.message : String(error);
|
|
35
|
+
const deadlineFailure = (reason) => ({
|
|
36
|
+
name: NIGHTLY_GUARD_CHECK_NAME,
|
|
37
|
+
status: "fail",
|
|
38
|
+
detail: `Guard proof unavailable: ${reason} across discovery, target proof, and remediation.`,
|
|
39
|
+
});
|
|
40
|
+
const discoveryFailure = (scan) => {
|
|
41
|
+
const facts = scan.failures
|
|
42
|
+
.map(failure => `${failure.workflow}: ${failure.reason}`)
|
|
43
|
+
.join("; ");
|
|
44
|
+
return {
|
|
45
|
+
name: NIGHTLY_GUARD_CHECK_NAME,
|
|
46
|
+
status: "fail",
|
|
47
|
+
detail: `Guard discovery unavailable: ${facts}. Remediation: keep workflow/job names and required-check context, use one literal \`node <relative-guard.js>\` target, then run \`node <relative-guard.js> --contract-version\`.`,
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
const determinateZero = () => ({
|
|
51
|
+
name: NIGHTLY_GUARD_CHECK_NAME,
|
|
52
|
+
status: "ok",
|
|
53
|
+
detail: "Inspected active workflows: 0 bypass-bearing nightly callers (determinate zero).",
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Prove distinct targets sequentially so the shared deadline remains exact.
|
|
57
|
+
* @param projectRoot - Project containment root
|
|
58
|
+
* @param targets - Distinct literal target paths
|
|
59
|
+
* @param deadline - Whole-operation deadline
|
|
60
|
+
* @param dependencies - Injected proof collaborators
|
|
61
|
+
* @returns Target-keyed proof results
|
|
62
|
+
*/
|
|
63
|
+
async function proveTargets(projectRoot, targets, deadline, dependencies) {
|
|
64
|
+
const prove = dependencies.probeImpl ?? proveNightlyE2eGuardTarget;
|
|
65
|
+
const proveNext = async (index, prior) => {
|
|
66
|
+
const target = targets[index];
|
|
67
|
+
if (target === undefined)
|
|
68
|
+
return prior;
|
|
69
|
+
if (deadline.expiresAt - deadline.now() <= 0) {
|
|
70
|
+
throw new NightlyGuardDeadlineError(deadline.reason);
|
|
71
|
+
}
|
|
72
|
+
const result = await prove(projectRoot, target, {
|
|
73
|
+
deadline,
|
|
74
|
+
...(dependencies.certificates
|
|
75
|
+
? { certificates: dependencies.certificates }
|
|
76
|
+
: {}),
|
|
77
|
+
...(dependencies.timeoutMs ? { timeoutMs: dependencies.timeoutMs } : {}),
|
|
78
|
+
});
|
|
79
|
+
return await proveNext(index + 1, [...prior, { target, result }]);
|
|
80
|
+
};
|
|
81
|
+
return await proveNext(0, []);
|
|
82
|
+
}
|
|
83
|
+
const successfulFinding = (callers, results) => {
|
|
84
|
+
const facts = callers.map(caller => {
|
|
85
|
+
const result = results.get(caller.target);
|
|
86
|
+
const version = result?.state === "compatible" ? result.version : "unavailable";
|
|
87
|
+
return `${caller.callPath} -> ${caller.target} (${version})`;
|
|
88
|
+
});
|
|
89
|
+
return {
|
|
90
|
+
name: NIGHTLY_GUARD_CHECK_NAME,
|
|
91
|
+
status: "ok",
|
|
92
|
+
detail: `Inspected ${callers.length} bypass-bearing nightly caller(s) and ${results.size} target(s): ${facts.join("; ")}.`,
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Format one failed caller with target proof and exact repair advice.
|
|
97
|
+
* @param caller - Active attributed call path
|
|
98
|
+
* @param result - Deduplicated target proof
|
|
99
|
+
* @param projectRoot - Project containment root
|
|
100
|
+
* @param deadline - Whole-operation deadline
|
|
101
|
+
* @param dependencies - Package/provenance collaborators
|
|
102
|
+
* @returns One operator-readable failure fact
|
|
103
|
+
*/
|
|
104
|
+
async function failedFact(caller, result, projectRoot, deadline, dependencies) {
|
|
105
|
+
const reason = result?.state === "failure" ? result.reason : "proof unavailable";
|
|
106
|
+
const version = result?.state === "failure" && result.version
|
|
107
|
+
? ` (reported ${result.version})`
|
|
108
|
+
: "";
|
|
109
|
+
const remediation = await nightlyGuardRemediation({
|
|
110
|
+
projectRoot,
|
|
111
|
+
lisaRoot: dependencies.lisaRoot ?? defaultLisaRoot(),
|
|
112
|
+
caller,
|
|
113
|
+
deadline,
|
|
114
|
+
...(dependencies.ledger ? { ledger: dependencies.ledger } : {}),
|
|
115
|
+
...(dependencies.certificates
|
|
116
|
+
? { certificates: dependencies.certificates }
|
|
117
|
+
: {}),
|
|
118
|
+
});
|
|
119
|
+
return `${caller.callPath} -> ${caller.target}: ${reason}${version}. Remediation: ${remediation}`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Build deterministic failure facts while retaining every active call path.
|
|
123
|
+
* @param callers - Active caller paths
|
|
124
|
+
* @param results - Deduplicated target proofs
|
|
125
|
+
* @param projectRoot - Project containment root
|
|
126
|
+
* @param deadline - Whole-operation deadline
|
|
127
|
+
* @param dependencies - Package/provenance collaborators
|
|
128
|
+
* @returns Failed doctor row
|
|
129
|
+
*/
|
|
130
|
+
async function failedFinding(callers, results, projectRoot, deadline, dependencies) {
|
|
131
|
+
const failed = callers.filter(caller => results.get(caller.target)?.state !== "compatible");
|
|
132
|
+
const facts = await Promise.all(failed.map(caller => failedFact(caller, results.get(caller.target), projectRoot, deadline, dependencies)));
|
|
133
|
+
return {
|
|
134
|
+
name: NIGHTLY_GUARD_CHECK_NAME,
|
|
135
|
+
status: "fail",
|
|
136
|
+
detail: `Nightly bypass guard contract failed for ${failed.length} caller(s):\n${facts.map(fact => ` - ${fact}`).join("\n")}`,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Evaluate discovery and static proof under one already-started deadline.
|
|
141
|
+
* @param projectRoot - Project containment root
|
|
142
|
+
* @param deadline - Deadline started before discovery
|
|
143
|
+
* @param dependencies - Read-only collaborators
|
|
144
|
+
* @returns Complete doctor row
|
|
145
|
+
*/
|
|
146
|
+
async function evaluateNightlyGuard(projectRoot, deadline, dependencies) {
|
|
147
|
+
const scan = await (dependencies.scanImpl ?? scanNightlyE2eGuardCallers)(projectRoot, { deadline });
|
|
148
|
+
if (deadline.expiresAt - deadline.now() <= 0) {
|
|
149
|
+
throw new NightlyGuardDeadlineError(deadline.reason);
|
|
150
|
+
}
|
|
151
|
+
if (scan.state === "unavailable")
|
|
152
|
+
return discoveryFailure(scan);
|
|
153
|
+
if (scan.callers.length === 0)
|
|
154
|
+
return determinateZero();
|
|
155
|
+
const targets = [...new Set(scan.callers.map(caller => caller.target))];
|
|
156
|
+
const proofs = await proveTargets(projectRoot, targets, deadline, dependencies);
|
|
157
|
+
const results = new Map(proofs.map(proof => [proof.target, proof.result]));
|
|
158
|
+
return proofs.every(proof => proof.result.state === "compatible")
|
|
159
|
+
? successfulFinding(scan.callers, results)
|
|
160
|
+
: await failedFinding(scan.callers, results, projectRoot, deadline, dependencies);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Report whether every active bypass-bearing nightly caller runs a trusted,
|
|
164
|
+
* compatible major-1 guard without evaluating any target bytes.
|
|
165
|
+
* @param projectRoot - Project root to inspect without mutation
|
|
166
|
+
* @param dependencies - Optional read-only collaborators for tests
|
|
167
|
+
* @returns Existing `DoctorCheck` shape used by both renderers and exit logic
|
|
168
|
+
*/
|
|
169
|
+
export async function checkNightlyE2eGuard(projectRoot, dependencies = {}) {
|
|
170
|
+
const deadline = createNightlyGuardDeadline(dependencies.now, NIGHTLY_GUARD_OPERATION_TIMEOUT_MS);
|
|
171
|
+
try {
|
|
172
|
+
return boundedCheck(await withinNightlyGuardDeadline(deadline, () => evaluateNightlyGuard(projectRoot, deadline, dependencies)));
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
return boundedCheck(error instanceof NightlyGuardDeadlineError
|
|
176
|
+
? deadlineFailure(error.message)
|
|
177
|
+
: {
|
|
178
|
+
name: NIGHTLY_GUARD_CHECK_NAME,
|
|
179
|
+
status: "fail",
|
|
180
|
+
detail: `Guard proof unavailable: ${displayError(error)}.`,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/** Backward-compatible name for direct callers of the former executable probe. */
|
|
185
|
+
export const probeNightlyE2eGuardTarget = proveNightlyE2eGuardTarget;
|
|
186
|
+
//# sourceMappingURL=doctor-nightly-e2e-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-nightly-e2e-guard.js","sourceRoot":"","sources":["../../src/cli/doctor-nightly-e2e-guard.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAsBnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAsBnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAWzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,mDAAmD;AACnD,KAAK,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAO3C,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACjD;AAaD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAyBtB;AA0KD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,aAAa,EACtB,YAAY,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC7C,OAAO,CAAC,YAAY,CAAC,CAoHvB"}
|
package/dist/cli/doctor.js
CHANGED
|
@@ -26,6 +26,7 @@ import { checkOverrideFloorConflicts } from "./doctor-override-floor-conflicts.j
|
|
|
26
26
|
import { renderDoctorResult } from "./doctor-render.js";
|
|
27
27
|
import { checkSkipJobsMigration } from "./doctor-skip-jobs-migration.js";
|
|
28
28
|
import { checkTwoChannelDrift } from "./doctor-two-channel-drift.js";
|
|
29
|
+
import { checkNightlyE2eGuard } from "./doctor-nightly-e2e-guard.js";
|
|
29
30
|
import { checkWiki } from "./doctor-wiki.js";
|
|
30
31
|
import { checkDeclaredContexts } from "./doctor-declared-contexts.js";
|
|
31
32
|
import { checkTraceabilityGate } from "./doctor-traceability-gate.js";
|
|
@@ -276,6 +277,12 @@ export async function runDoctor(targetPath, options, dependencies = {}) {
|
|
|
276
277
|
// arrived — the body travels at `@main` and the script only on an apply, so
|
|
277
278
|
// the halves land out of order and nothing reads as red (#3050).
|
|
278
279
|
await checkTwoChannelDrift(resolvedTarget),
|
|
280
|
+
// The two-channel check asks whether a workflow's companion file arrived;
|
|
281
|
+
// this one follows the file the ACTIVE bypass-bearing caller invokes and
|
|
282
|
+
// proves its shipped provenance plus contract declaration without executing
|
|
283
|
+
// untrusted project JavaScript. A current managed copy sitting unused next
|
|
284
|
+
// to an older renamed fork must not make either check look green (#2519).
|
|
285
|
+
await checkNightlyE2eGuard(resolvedTarget),
|
|
279
286
|
await checkApplyFailure(resolvedTarget),
|
|
280
287
|
// Immediately after the recorded-failure check, because they are the two
|
|
281
288
|
// halves of the same operator question. That one reports that an apply DID
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA0sBjC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA6mBjC,CAAC"}
|
|
@@ -323,6 +323,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
323
323
|
"scripts/lisa-environment-prepare.mjs": Object.freeze([
|
|
324
324
|
"5cce1e1cd585d5b82db05c0fcea9fe4e24171f54c3ddba82cde151a97e277745",
|
|
325
325
|
"63879152ebb67f289e900167daf035f2d03d7773c6e110ed5ab708c95417c55c",
|
|
326
|
+
"9f42451a38eabd69e453fbaabd34de2490dfbc8ab79b1d7a2f27f574d3314090",
|
|
326
327
|
"c765c7a44ea81d54c7820f2068c8811fb73ca3e5f063cb55a8c30391d1326323",
|
|
327
328
|
"f8c8e276fa6d68ed661f07882f20ee095d18a5e8a90136f78f1ed2b032ce33d4",
|
|
328
329
|
"f936bc8a038a7901ade1ba58cc52e5f5a8b8b2a52a9f0c1516567cc80eb02ccb",
|
|
@@ -1029,6 +1030,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
|
|
|
1029
1030
|
"scripts/lisa-environment-prepare.mjs": Object.freeze([
|
|
1030
1031
|
"5cce1e1cd585d5b82db05c0fcea9fe4e24171f54c3ddba82cde151a97e277745",
|
|
1031
1032
|
"63879152ebb67f289e900167daf035f2d03d7773c6e110ed5ab708c95417c55c",
|
|
1033
|
+
"9f42451a38eabd69e453fbaabd34de2490dfbc8ab79b1d7a2f27f574d3314090",
|
|
1032
1034
|
"c765c7a44ea81d54c7820f2068c8811fb73ca3e5f063cb55a8c30391d1326323",
|
|
1033
1035
|
"f8c8e276fa6d68ed661f07882f20ee095d18a5e8a90136f78f1ed2b032ce33d4",
|
|
1034
1036
|
"f936bc8a038a7901ade1ba58cc52e5f5a8b8b2a52a9f0c1516567cc80eb02ccb",
|