@codyswann/lisa 4.7.0 → 4.8.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-run-gates.mjs +333 -8
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +1 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +3 -1
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +1 -1
- 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
|
@@ -41,15 +41,17 @@
|
|
|
41
41
|
* @module lisa-run-gates
|
|
42
42
|
*/
|
|
43
43
|
|
|
44
|
+
import { createHash } from "node:crypto";
|
|
44
45
|
import {
|
|
45
46
|
existsSync,
|
|
47
|
+
mkdirSync,
|
|
46
48
|
mkdtempSync,
|
|
47
49
|
readFileSync,
|
|
48
50
|
rmSync,
|
|
49
51
|
writeFileSync,
|
|
50
52
|
} from "node:fs";
|
|
51
53
|
import { tmpdir } from "node:os";
|
|
52
|
-
import { join, relative } from "node:path";
|
|
54
|
+
import { dirname, join, relative } from "node:path";
|
|
53
55
|
import { fileURLToPath } from "node:url";
|
|
54
56
|
|
|
55
57
|
import { DIAGNOSIS, diagnoseFailure } from "./lib/gate-failure-diagnosis.mjs";
|
|
@@ -58,6 +60,7 @@ import { invokedAsScript } from "./lib/invoked-as-script.mjs";
|
|
|
58
60
|
import {
|
|
59
61
|
configurationProblems,
|
|
60
62
|
declarationsAt,
|
|
63
|
+
momentFamily,
|
|
61
64
|
momentsExecutedBy,
|
|
62
65
|
projectScripts,
|
|
63
66
|
readGates,
|
|
@@ -965,6 +968,278 @@ function spawnExec(command) {
|
|
|
965
968
|
}
|
|
966
969
|
}
|
|
967
970
|
|
|
971
|
+
/**
|
|
972
|
+
* Version of the recorded document. Bumped only when a reader must change.
|
|
973
|
+
*/
|
|
974
|
+
export const EVIDENCE_SCHEMA_VERSION = 1;
|
|
975
|
+
|
|
976
|
+
/**
|
|
977
|
+
* Discriminator a reader checks before trusting a file's shape.
|
|
978
|
+
*
|
|
979
|
+
* A reader that parsed any JSON it was handed would credit a file that happens
|
|
980
|
+
* to have a `gates` array, which is how evidence of one thing becomes evidence
|
|
981
|
+
* of another. This token is also what a caller greps for to find out whether
|
|
982
|
+
* the runner it resolved is old enough to ignore `--evidence` entirely.
|
|
983
|
+
*/
|
|
984
|
+
export const EVIDENCE_KIND = "lisa-gate-evidence";
|
|
985
|
+
|
|
986
|
+
/**
|
|
987
|
+
* What this run was able to say about the moment as a whole.
|
|
988
|
+
*
|
|
989
|
+
* Every one of these is written to disk, INCLUDING the ones that prove
|
|
990
|
+
* nothing. That is the point: a reader must be able to tell "ran, and this
|
|
991
|
+
* project declares nothing here" from "never ran", and it cannot do that from
|
|
992
|
+
* a file's absence, because absence is also what a crashed runner leaves.
|
|
993
|
+
*/
|
|
994
|
+
export const EVIDENCE_VERDICT = Object.freeze({
|
|
995
|
+
/** Every required gate at this moment passed. */
|
|
996
|
+
PROVED: "proved",
|
|
997
|
+
/** A required gate went unproved. */
|
|
998
|
+
BLOCKED: "blocked",
|
|
999
|
+
/** The configuration was invalid, so nothing was executed. */
|
|
1000
|
+
REFUSED: "refused",
|
|
1001
|
+
/** The project has no gates block; the registry governs nothing here. */
|
|
1002
|
+
NO_GATES: "no-gates",
|
|
1003
|
+
/** The block is half-written, so the caller's built-in steps still run. */
|
|
1004
|
+
FELL_BACK: "fell-back",
|
|
1005
|
+
/** The runner could not run. Nothing was proved. */
|
|
1006
|
+
RUNNER_FAILED: "runner-failed",
|
|
1007
|
+
});
|
|
1008
|
+
|
|
1009
|
+
/**
|
|
1010
|
+
* A runner state read as one of evidence's three values.
|
|
1011
|
+
*
|
|
1012
|
+
* Only PASSED becomes `pass`. FAILED becomes `fail`. Everything else —
|
|
1013
|
+
* unprovable, killed, skipped, queued behind a blocker — becomes `unknown`,
|
|
1014
|
+
* which is neither an accusation nor a credit: nothing measured the property,
|
|
1015
|
+
* so the honest record says nobody knows. Collapsing any of them into `pass`
|
|
1016
|
+
* is the defect the whole subsystem exists to refuse, and collapsing them into
|
|
1017
|
+
* `fail` would blame a project for a gap in observation.
|
|
1018
|
+
*/
|
|
1019
|
+
const EVIDENCE_STATUS_FOR = Object.freeze({
|
|
1020
|
+
[STATE.PASSED]: "pass",
|
|
1021
|
+
[STATE.FAILED]: "fail",
|
|
1022
|
+
[STATE.UNPROVABLE]: "unknown",
|
|
1023
|
+
[STATE.KILLED]: "unknown",
|
|
1024
|
+
[STATE.SKIPPED]: "unknown",
|
|
1025
|
+
[STATE.NOT_RUN]: "unknown",
|
|
1026
|
+
});
|
|
1027
|
+
|
|
1028
|
+
/**
|
|
1029
|
+
* The same value with every object key in a stable order.
|
|
1030
|
+
*
|
|
1031
|
+
* A digest over `JSON.stringify` of the raw block would change when an editor
|
|
1032
|
+
* reordered two keys, which would make every prior observation read as
|
|
1033
|
+
* produced under a different contract. Ordering is normalised so the digest
|
|
1034
|
+
* answers "is this the same declaration?" and nothing else.
|
|
1035
|
+
* @param {unknown} value Any JSON value.
|
|
1036
|
+
* @returns {unknown} The same value, key-ordered.
|
|
1037
|
+
*/
|
|
1038
|
+
function canonical(value) {
|
|
1039
|
+
if (Array.isArray(value)) return value.map(canonical);
|
|
1040
|
+
if (value === null || typeof value !== "object") return value;
|
|
1041
|
+
return Object.fromEntries(
|
|
1042
|
+
Object.keys(value)
|
|
1043
|
+
// An explicit comparator, never a bare `.sort()`: the default sorts by
|
|
1044
|
+
// UTF-16 code unit through `String()`, and a lint rule in this tree
|
|
1045
|
+
// rejects the bare form for exactly that reason.
|
|
1046
|
+
.sort((left, right) => left.localeCompare(right))
|
|
1047
|
+
.map(key => [key, canonical(value[key])])
|
|
1048
|
+
);
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
/**
|
|
1052
|
+
* Digest of the gates block this run executed.
|
|
1053
|
+
*
|
|
1054
|
+
* Evidence is only reusable while the contract that produced it still holds. A
|
|
1055
|
+
* reader comparing digests can refuse a result recorded when the gate was
|
|
1056
|
+
* `optional` from satisfying a moment that now declares it `required` — which
|
|
1057
|
+
* is a stale-evidence hole that no timestamp closes.
|
|
1058
|
+
* @param {object|null} gates The gates block, or null when it was unreadable.
|
|
1059
|
+
* @returns {string|null} `sha256:<hex>`, or null when there was no block.
|
|
1060
|
+
*/
|
|
1061
|
+
function configDigest(gates) {
|
|
1062
|
+
if (!gates) return null;
|
|
1063
|
+
const canonicalised = JSON.stringify(canonical(gates));
|
|
1064
|
+
return `sha256:${createHash("sha256").update(canonicalised).digest("hex")}`;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
/**
|
|
1068
|
+
* One revision from git, or null when git cannot answer.
|
|
1069
|
+
*
|
|
1070
|
+
* Null rather than a throw: a project without git — a container, an unpacked
|
|
1071
|
+
* tarball — still records everything else, and a subject field that says "not
|
|
1072
|
+
* known" is honest. What it must never do is guess.
|
|
1073
|
+
* @param {string} spec A rev-parse argument, e.g. `HEAD`.
|
|
1074
|
+
* @returns {string|null} The resolved object name.
|
|
1075
|
+
*/
|
|
1076
|
+
function gitRev(spec) {
|
|
1077
|
+
try {
|
|
1078
|
+
const child = boundedSpawnSync("git", ["rev-parse", spec], {
|
|
1079
|
+
encoding: "utf8",
|
|
1080
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
1081
|
+
});
|
|
1082
|
+
if (child.error || child.status !== 0) return null;
|
|
1083
|
+
return String(child.stdout ?? "").trim() || null;
|
|
1084
|
+
} catch {
|
|
1085
|
+
// A killed `git` is not an answer about the tree, and this module's own
|
|
1086
|
+
// doctrine is that an unknown answer is recorded as unknown.
|
|
1087
|
+
return null;
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
/**
|
|
1092
|
+
* What this evidence is ABOUT — the binding that makes it non-transferable.
|
|
1093
|
+
*
|
|
1094
|
+
* `observed_at` alone is a timestamp, not a proof. Without a subject, a reader
|
|
1095
|
+
* cannot tell a `continuous:staging` result from a `pre-deploy:production`
|
|
1096
|
+
* one, or a result for the tree being released from one for a tree that never
|
|
1097
|
+
* shipped. Each field answers one of those questions, and the tree pair is
|
|
1098
|
+
* deliberately BOTH: two commits legitimately share a tree after a rebase, and
|
|
1099
|
+
* that is exactly the case where reuse is sound.
|
|
1100
|
+
* @param {object} options Inputs.
|
|
1101
|
+
* @param {string} options.moment The moment that was run.
|
|
1102
|
+
* @param {object|null} options.gates The gates block that was executed.
|
|
1103
|
+
* @returns {object} The subject binding.
|
|
1104
|
+
*/
|
|
1105
|
+
function evidenceSubject({ moment, gates }) {
|
|
1106
|
+
const family = momentFamily(moment);
|
|
1107
|
+
const [, environment = null] = moment.split(":");
|
|
1108
|
+
return {
|
|
1109
|
+
repository: process.env.GITHUB_REPOSITORY ?? null,
|
|
1110
|
+
commit_sha: process.env.GITHUB_SHA ?? gitRev("HEAD"),
|
|
1111
|
+
tree_sha: gitRev("HEAD^{tree}"),
|
|
1112
|
+
ref: process.env.GITHUB_REF ?? null,
|
|
1113
|
+
moment,
|
|
1114
|
+
family,
|
|
1115
|
+
// `momentFamily` returns the moment itself when it takes no environment
|
|
1116
|
+
// suffix, so that comparison is the test for "this is a deploy family".
|
|
1117
|
+
environment: family === moment ? null : environment,
|
|
1118
|
+
config_digest: configDigest(gates),
|
|
1119
|
+
};
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
/**
|
|
1123
|
+
* Which run produced this, so an auditor can go and read it.
|
|
1124
|
+
* @returns {object} The originating run, with nulls off CI.
|
|
1125
|
+
*/
|
|
1126
|
+
function evidenceRun() {
|
|
1127
|
+
const id = process.env.GITHUB_RUN_ID ?? null;
|
|
1128
|
+
const server = process.env.GITHUB_SERVER_URL ?? null;
|
|
1129
|
+
const repository = process.env.GITHUB_REPOSITORY ?? null;
|
|
1130
|
+
return {
|
|
1131
|
+
id,
|
|
1132
|
+
attempt: process.env.GITHUB_RUN_ATTEMPT ?? null,
|
|
1133
|
+
workflow: process.env.GITHUB_WORKFLOW ?? null,
|
|
1134
|
+
job: process.env.GITHUB_JOB ?? null,
|
|
1135
|
+
actor: process.env.GITHUB_ACTOR ?? null,
|
|
1136
|
+
url:
|
|
1137
|
+
id && server && repository
|
|
1138
|
+
? `${server}/${repository}/actions/runs/${id}`
|
|
1139
|
+
: null,
|
|
1140
|
+
};
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
/**
|
|
1144
|
+
* One gate's outcome in the shipped `EVIDENCE_FIELDS` shape.
|
|
1145
|
+
*
|
|
1146
|
+
* The shape is `lisa-gates.mjs`'s, not a new one. That file has shipped
|
|
1147
|
+
* `EVIDENCE_FIELDS` and a `readEvidence` reader since the continuous moment
|
|
1148
|
+
* was added, with no producer anywhere — so the format already existed and the
|
|
1149
|
+
* only thing missing was something to write it. Inventing a second shape for
|
|
1150
|
+
* the same property is this repository's recurring defect.
|
|
1151
|
+
*
|
|
1152
|
+
* `work` is null and stays null until a prover-output parser exists. That is
|
|
1153
|
+
* not a shortcut: `readEvidence` demotes a `pass` with no work count to
|
|
1154
|
+
* `unknown` for any gate whose registry entry names one, so the conservative
|
|
1155
|
+
* value fails SAFE. A fabricated count would fail the other way.
|
|
1156
|
+
* @param {GateOutcome} outcome One resolved gate and its verdict.
|
|
1157
|
+
* @param {string} observedAt When the run that produced it began.
|
|
1158
|
+
* @returns {object} The gate's evidence record.
|
|
1159
|
+
*/
|
|
1160
|
+
function gateEvidence(outcome, observedAt) {
|
|
1161
|
+
return {
|
|
1162
|
+
gate: outcome.id,
|
|
1163
|
+
status: EVIDENCE_STATUS_FOR[outcome.state] ?? "unknown",
|
|
1164
|
+
work: null,
|
|
1165
|
+
measures: {
|
|
1166
|
+
exit_code: outcome.code ?? null,
|
|
1167
|
+
state: outcome.state,
|
|
1168
|
+
detail: outcome.detail ?? null,
|
|
1169
|
+
diagnosis: outcome.diagnosis ?? null,
|
|
1170
|
+
},
|
|
1171
|
+
prover: { tool: outcome.command ?? null, version: null },
|
|
1172
|
+
observed_at: observedAt,
|
|
1173
|
+
max_age_minutes: null,
|
|
1174
|
+
level: outcome.level,
|
|
1175
|
+
label: outcome.label ?? outcome.id,
|
|
1176
|
+
};
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
/**
|
|
1180
|
+
* The whole document one run of one moment records.
|
|
1181
|
+
*
|
|
1182
|
+
* `observed_at` is the run's START, not its end, and that is the conservative
|
|
1183
|
+
* direction on purpose: a freshness bound computed against it can only ever
|
|
1184
|
+
* judge the evidence OLDER than it truly is, so a bound errs toward `unknown`
|
|
1185
|
+
* rather than toward crediting a stale observation.
|
|
1186
|
+
* @param {object} options Inputs.
|
|
1187
|
+
* @param {string} options.moment The moment that was run.
|
|
1188
|
+
* @param {object|null} [options.gates] The gates block that was executed.
|
|
1189
|
+
* @param {string} options.verdict One of `EVIDENCE_VERDICT`.
|
|
1190
|
+
* @param {GateRun|null} [options.result] What `runGates` produced, if it ran.
|
|
1191
|
+
* @param {string} options.observedAt When the run began, ISO-8601.
|
|
1192
|
+
* @param {string} options.recordedAt When the document was built, ISO-8601.
|
|
1193
|
+
* @returns {object} The evidence envelope.
|
|
1194
|
+
*/
|
|
1195
|
+
export function evidenceDocument({
|
|
1196
|
+
moment,
|
|
1197
|
+
gates = null,
|
|
1198
|
+
verdict,
|
|
1199
|
+
result = null,
|
|
1200
|
+
observedAt,
|
|
1201
|
+
recordedAt,
|
|
1202
|
+
}) {
|
|
1203
|
+
const observations = (result?.results ?? []).map(outcome =>
|
|
1204
|
+
gateEvidence(outcome, observedAt)
|
|
1205
|
+
);
|
|
1206
|
+
return {
|
|
1207
|
+
schema_version: EVIDENCE_SCHEMA_VERSION,
|
|
1208
|
+
kind: EVIDENCE_KIND,
|
|
1209
|
+
verdict,
|
|
1210
|
+
observed: observations.length,
|
|
1211
|
+
observed_at: observedAt,
|
|
1212
|
+
recorded_at: recordedAt,
|
|
1213
|
+
subject: evidenceSubject({ moment, gates }),
|
|
1214
|
+
run: evidenceRun(),
|
|
1215
|
+
gates: observations,
|
|
1216
|
+
};
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
/**
|
|
1220
|
+
* Write the envelope where the caller asked for it.
|
|
1221
|
+
*
|
|
1222
|
+
* The return value is load-bearing rather than advisory: a caller that ignored
|
|
1223
|
+
* it would let a run which recorded NOTHING exit clean, and a missing record
|
|
1224
|
+
* that looks like a clean record is the failure this whole file refuses.
|
|
1225
|
+
* @param {string} path File to write.
|
|
1226
|
+
* @param {object} document The envelope.
|
|
1227
|
+
* @returns {boolean} Whether it was written.
|
|
1228
|
+
*/
|
|
1229
|
+
function writeEvidence(path, document) {
|
|
1230
|
+
try {
|
|
1231
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
1232
|
+
writeFileSync(path, `${JSON.stringify(document, null, 2)}\n`);
|
|
1233
|
+
return true;
|
|
1234
|
+
} catch (err) {
|
|
1235
|
+
console.error(`⚠️ Could not record gate evidence: ${err.message}`);
|
|
1236
|
+
console.error(
|
|
1237
|
+
" Nothing about this run was recorded, so this is NOT a pass."
|
|
1238
|
+
);
|
|
1239
|
+
return false;
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
|
|
968
1243
|
/**
|
|
969
1244
|
* Read a `--name=<value>` flag from the argument list.
|
|
970
1245
|
* @param {string[]} argv Arguments after the script name.
|
|
@@ -1057,13 +1332,53 @@ function main() {
|
|
|
1057
1332
|
const argv = process.argv.slice(2);
|
|
1058
1333
|
const moment = readFlag(argv, "moment");
|
|
1059
1334
|
const coveragePath = readFlag(argv, "coverage");
|
|
1335
|
+
const evidencePath = readFlag(argv, "evidence");
|
|
1336
|
+
// Taken before anything runs. See `evidenceDocument`: a start stamp makes a
|
|
1337
|
+
// freshness bound err toward `unknown` rather than toward crediting a stale
|
|
1338
|
+
// observation, which is the only direction a gate may err in.
|
|
1339
|
+
const observedAt = new Date().toISOString();
|
|
1060
1340
|
if (!moment) {
|
|
1061
1341
|
console.error(
|
|
1062
|
-
"usage: lisa-run-gates.mjs --moment=<moment> [--coverage=<file>]"
|
|
1342
|
+
"usage: lisa-run-gates.mjs --moment=<moment> [--coverage=<file>] " +
|
|
1343
|
+
"[--evidence=<file>]"
|
|
1063
1344
|
);
|
|
1064
1345
|
return EXIT.RUNNER_FAILED;
|
|
1065
1346
|
}
|
|
1066
1347
|
|
|
1348
|
+
/**
|
|
1349
|
+
* Record this run, and refuse to report a verdict we could not record.
|
|
1350
|
+
*
|
|
1351
|
+
* Every exit path below goes through here, including the ones that prove
|
|
1352
|
+
* nothing, because a reader must be able to tell "ran and declared nothing"
|
|
1353
|
+
* from "never ran" — and a file's absence says both.
|
|
1354
|
+
*
|
|
1355
|
+
* A write failure returns RUNNER_FAILED even when a gate verdict was
|
|
1356
|
+
* already reached. The gate's own message is still printed; what the exit
|
|
1357
|
+
* code says is that the runner was asked to leave a record and did not, and
|
|
1358
|
+
* that is a fact about the runner rather than about the code.
|
|
1359
|
+
* @param {number} code The exit code this path would return.
|
|
1360
|
+
* @param {string} verdict One of `EVIDENCE_VERDICT`.
|
|
1361
|
+
* @param {object} [parts] The block that ran and what it produced.
|
|
1362
|
+
* @param {object|null} [parts.gates] The gates block.
|
|
1363
|
+
* @param {GateRun|null} [parts.result] What `runGates` produced.
|
|
1364
|
+
* @returns {number} The exit code, upgraded on a recording failure.
|
|
1365
|
+
*/
|
|
1366
|
+
const settle = (code, verdict, parts = {}) => {
|
|
1367
|
+
if (!evidencePath) return code;
|
|
1368
|
+
const written = writeEvidence(
|
|
1369
|
+
evidencePath,
|
|
1370
|
+
evidenceDocument({
|
|
1371
|
+
moment,
|
|
1372
|
+
gates: parts.gates ?? null,
|
|
1373
|
+
verdict,
|
|
1374
|
+
result: parts.result ?? null,
|
|
1375
|
+
observedAt,
|
|
1376
|
+
recordedAt: new Date().toISOString(),
|
|
1377
|
+
})
|
|
1378
|
+
);
|
|
1379
|
+
return written ? code : EXIT.RUNNER_FAILED;
|
|
1380
|
+
};
|
|
1381
|
+
|
|
1067
1382
|
let config;
|
|
1068
1383
|
try {
|
|
1069
1384
|
config = readGates();
|
|
@@ -1072,14 +1387,14 @@ function main() {
|
|
|
1072
1387
|
`⚠️ Gate runner could not read configuration: ${err.message}`
|
|
1073
1388
|
);
|
|
1074
1389
|
console.error(" Nothing was proved by the gate registry at this moment.");
|
|
1075
|
-
return EXIT.RUNNER_FAILED;
|
|
1390
|
+
return settle(EXIT.RUNNER_FAILED, EVIDENCE_VERDICT.RUNNER_FAILED);
|
|
1076
1391
|
}
|
|
1077
1392
|
|
|
1078
1393
|
// The gates BLOCK is the migration switch. Its absence means this project
|
|
1079
1394
|
// has not adopted the registry, so the caller must run its hardcoded steps.
|
|
1080
1395
|
if (!config.gates || Object.keys(config.gates).length === 0) {
|
|
1081
1396
|
if (coveragePath) writeCoverage(coveragePath, []);
|
|
1082
|
-
return EXIT.NO_GATES;
|
|
1397
|
+
return settle(EXIT.NO_GATES, EVIDENCE_VERDICT.NO_GATES);
|
|
1083
1398
|
}
|
|
1084
1399
|
|
|
1085
1400
|
// FAIL CLOSED ON A CONFIGURATION THE VALIDATOR REFUSES.
|
|
@@ -1115,7 +1430,9 @@ function main() {
|
|
|
1115
1430
|
const blocking = problemsIn(declarationsAt({ gates: config.gates, moment }));
|
|
1116
1431
|
if (blocking.length) {
|
|
1117
1432
|
reportRefusal(moment, blocking, line => console.error(line));
|
|
1118
|
-
return EXIT.BLOCKED
|
|
1433
|
+
return settle(EXIT.BLOCKED, EVIDENCE_VERDICT.REFUSED, {
|
|
1434
|
+
gates: config.gates,
|
|
1435
|
+
});
|
|
1119
1436
|
}
|
|
1120
1437
|
const elsewhere = problemsIn(config.gates).filter(
|
|
1121
1438
|
problem => !blocking.includes(problem)
|
|
@@ -1145,7 +1462,9 @@ function main() {
|
|
|
1145
1462
|
coveredFloor({ gates: config.gates, moment, wired })
|
|
1146
1463
|
)
|
|
1147
1464
|
) {
|
|
1148
|
-
return EXIT.RUNNER_FAILED
|
|
1465
|
+
return settle(EXIT.RUNNER_FAILED, EVIDENCE_VERDICT.RUNNER_FAILED, {
|
|
1466
|
+
gates: config.gates,
|
|
1467
|
+
});
|
|
1149
1468
|
}
|
|
1150
1469
|
if (missing.length) {
|
|
1151
1470
|
console.log(
|
|
@@ -1167,7 +1486,9 @@ function main() {
|
|
|
1167
1486
|
`(a level of "off" counts as a decision) to hand this moment to the ` +
|
|
1168
1487
|
`registry.`
|
|
1169
1488
|
);
|
|
1170
|
-
return EXIT.NO_GATES
|
|
1489
|
+
return settle(EXIT.NO_GATES, EVIDENCE_VERDICT.FELL_BACK, {
|
|
1490
|
+
gates: config.gates,
|
|
1491
|
+
});
|
|
1171
1492
|
}
|
|
1172
1493
|
|
|
1173
1494
|
console.log(`🚦 Gates at ${moment}:`);
|
|
@@ -1189,7 +1510,11 @@ function main() {
|
|
|
1189
1510
|
if (result.total === 0) {
|
|
1190
1511
|
console.log(` (the gates block declares nothing at ${moment})`);
|
|
1191
1512
|
}
|
|
1192
|
-
return
|
|
1513
|
+
return settle(
|
|
1514
|
+
result.blocked ? EXIT.BLOCKED : EXIT.PROVED,
|
|
1515
|
+
result.blocked ? EVIDENCE_VERDICT.BLOCKED : EVIDENCE_VERDICT.PROVED,
|
|
1516
|
+
{ gates: config.gates, result }
|
|
1517
|
+
);
|
|
1193
1518
|
}
|
|
1194
1519
|
|
|
1195
1520
|
// Through the shared helper, not a hand-rolled comparison: a guard that
|
|
@@ -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,CA8mBjC,CAAC"}
|
|
@@ -527,6 +527,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
527
527
|
"0978ac24f28bf9f11230781d271997384009b1528ed61de523333e52a5a4cf57",
|
|
528
528
|
"169d1ba136e4f413dfd8b1b9e296ded55442b083ec203ca5642295186d593cb9",
|
|
529
529
|
"17a6bbf39e7de014d709e3d7f74d9b555316c4d57ab017ea8bfd88f5722de64c",
|
|
530
|
+
"23574bf396cadfaa1e8f8c59b70bca4ecebd145e23917a90d79ee2ded74f2b69",
|
|
530
531
|
"235c541534fc0eca510135ac39b9fbd196965fbeb54d42a09fbf052da1c925cd",
|
|
531
532
|
"242ac60aa8d77842e3704c5568b426084d9f2643ec9bce2a0601f66497835093",
|
|
532
533
|
"2d166a07c9809800771c7f41e515bff8d66c23aeeae2838dd52d5f2547037422",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-owned-hash-ledger.js","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lisa-owned-hash-ledger.js","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAg5EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAg5EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA4lPjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|
|
@@ -26,7 +26,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
26
26
|
"all/copy-overwrite/scripts/lisa-lint-staged-preflight.mjs": "ce4bc224a102e3ac2bc29d8f2038eefd619129d4639c25954c93f05011f7f977",
|
|
27
27
|
"all/copy-overwrite/scripts/lisa-postinstall.mjs": "d22fe47acf9a68828ca28b19b88e269bf535e77bc38952dec9f7a703269f1c44",
|
|
28
28
|
"all/copy-overwrite/scripts/lisa-reconcile-policy.mjs": "5c6b8a6ff3010b11f78b70eda0e73e78e1155b634a781b8abec79e40ac286eb7",
|
|
29
|
-
"all/copy-overwrite/scripts/lisa-run-gates.mjs": "
|
|
29
|
+
"all/copy-overwrite/scripts/lisa-run-gates.mjs": "23574bf396cadfaa1e8f8c59b70bca4ecebd145e23917a90d79ee2ded74f2b69",
|
|
30
30
|
"all/copy-overwrite/scripts/lisa-schema-validate.mjs": "8a1684f5c2b4d37fc782d2090273772814f7ad6c61e7ae5459163a1f28b7a5dc",
|
|
31
31
|
"all/copy-overwrite/scripts/lisa-test-node.mjs": "31b338144af00e20e3de02202982846d7333433a9bbda76a8c77d50e6fdbc47b",
|
|
32
32
|
"all/copy-overwrite/scripts/lisa-work-item.mjs": "04401ae05bf9464e6929180ffdfff80afc528a1df20733b032a0342252ca1d4a",
|
|
@@ -7667,6 +7667,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7667
7667
|
"tests/integration/coverage-scratch-debris.test.ts": true,
|
|
7668
7668
|
"tests/integration/deletion-reference-guard.test.ts": true,
|
|
7669
7669
|
"tests/integration/deploy-gate-blocks-release.test.ts": true,
|
|
7670
|
+
"tests/integration/deploy-moment-evidence.test.ts": true,
|
|
7670
7671
|
"tests/integration/deploy-moment-runner.test.ts": true,
|
|
7671
7672
|
"tests/integration/edit-time-copies-are-derived.test.ts": true,
|
|
7672
7673
|
"tests/integration/edit-time-scripts-resolve-gates.test.ts": true,
|
|
@@ -8269,6 +8270,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8269
8270
|
"tests/unit/scripts/lisa-reconcile-policy.test.ts": true,
|
|
8270
8271
|
"tests/unit/scripts/lisa-ruleset-payload.test.ts": true,
|
|
8271
8272
|
"tests/unit/scripts/lisa-run-gates-conditional-floor.test.ts": true,
|
|
8273
|
+
"tests/unit/scripts/lisa-run-gates-evidence.test.ts": true,
|
|
8272
8274
|
"tests/unit/scripts/lisa-run-gates-fixtures.ts": true,
|
|
8273
8275
|
"tests/unit/scripts/lisa-run-gates-floor.test.ts": true,
|
|
8274
8276
|
"tests/unit/scripts/lisa-run-gates-invalid-config.test.ts": true,
|