@codyswann/lisa 2.271.0 → 2.273.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/dist/cli/doctor-readiness-blockers.d.ts +154 -0
- package/dist/cli/doctor-readiness-blockers.d.ts.map +1 -0
- package/dist/cli/doctor-readiness-blockers.js +280 -0
- package/dist/cli/doctor-readiness-blockers.js.map +1 -0
- package/dist/cli/doctor-readiness.d.ts +9 -5
- package/dist/cli/doctor-readiness.d.ts.map +1 -1
- package/dist/cli/doctor-readiness.js +18 -25
- package/dist/cli/doctor-readiness.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +18 -2
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/health/agentic.d.ts +73 -0
- package/dist/health/agentic.d.ts.map +1 -0
- package/dist/health/agentic.js +328 -0
- package/dist/health/agentic.js.map +1 -0
- package/dist/health/contract.js +2 -3
- package/dist/health/contract.js.map +1 -1
- package/dist/health/deadline.d.ts.map +1 -1
- package/dist/health/deadline.js +0 -1
- package/dist/health/deadline.js.map +1 -1
- package/dist/health/index.d.ts +1 -0
- package/dist/health/index.d.ts.map +1 -1
- package/dist/health/index.js +1 -0
- package/dist/health/index.js.map +1 -1
- package/package.json +3 -2
- 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/verify-health-agentic-built.mjs +842 -0
- package/scripts/verify-health-contract-built.mjs +24 -4
- package/ui/README.md +15 -11
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { type HealthFinding, type HealthResult } from "./contract.js";
|
|
2
|
+
import { type DeterministicHealthOptions } from "./deterministic.js";
|
|
3
|
+
/** Read-only evidence kinds exposed to an injected evaluator. */
|
|
4
|
+
export type AgenticArtifactKind = "eslint-override" | "eslint-ignore-override" | "managed-drift" | "workflow";
|
|
5
|
+
/**
|
|
6
|
+
* One bounded, project-relative source artifact. Artifact content comes from
|
|
7
|
+
* the host project and must be treated as untrusted prompt material.
|
|
8
|
+
*/
|
|
9
|
+
export interface AgenticHealthArtifact {
|
|
10
|
+
readonly kind: AgenticArtifactKind;
|
|
11
|
+
readonly path: string;
|
|
12
|
+
readonly content: string;
|
|
13
|
+
}
|
|
14
|
+
/** Deeply frozen input passed to the evaluator without filesystem capability. */
|
|
15
|
+
export interface AgenticHealthRequest {
|
|
16
|
+
readonly schemaVersion: 1;
|
|
17
|
+
readonly deterministicFindings: readonly HealthFinding[];
|
|
18
|
+
readonly config: {
|
|
19
|
+
readonly quality: {
|
|
20
|
+
readonly mutation: {
|
|
21
|
+
readonly gate: {
|
|
22
|
+
readonly enabled: boolean | null;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
readonly artifacts: readonly AgenticHealthArtifact[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* One optional warning proposed by an evaluator.
|
|
31
|
+
*
|
|
32
|
+
* At most 50 judgments are accepted. `check` must use the `agentic.` namespace,
|
|
33
|
+
* cannot be the reserved `agentic.review-completed` id, and is limited to 128
|
|
34
|
+
* UTF-8 bytes. `reason` must be trimmed, within 2,000 UTF-8 bytes, and contain
|
|
35
|
+
* no control or bidirectional-formatting characters. Lisa, rather than the
|
|
36
|
+
* evaluator, stamps every accepted judgment as agentic and warn.
|
|
37
|
+
*/
|
|
38
|
+
export interface AgenticHealthJudgment {
|
|
39
|
+
readonly check: string;
|
|
40
|
+
readonly reason: string;
|
|
41
|
+
}
|
|
42
|
+
/** Closed evaluator response; unavailable and completed are the only states. */
|
|
43
|
+
export type AgenticHealthEvaluation = {
|
|
44
|
+
readonly status: "completed";
|
|
45
|
+
readonly judgments: readonly AgenticHealthJudgment[];
|
|
46
|
+
} | {
|
|
47
|
+
readonly status: "unavailable";
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Injected harness-neutral judgment boundary.
|
|
51
|
+
*
|
|
52
|
+
* The callback is arbitrary JavaScript, not a security sandbox. Lisa supplies
|
|
53
|
+
* no filesystem capability, but consumers must still trust their evaluator.
|
|
54
|
+
* Evaluators must honor the AbortSignal and release their own timers, streams,
|
|
55
|
+
* and other resources when it aborts. Runtime output remains hostile-validated.
|
|
56
|
+
*/
|
|
57
|
+
export type AgenticHealthEvaluator = (request: AgenticHealthRequest, signal: AbortSignal) => Promise<AgenticHealthEvaluation>;
|
|
58
|
+
/** Explicit optional agentic-pass configuration. */
|
|
59
|
+
export interface AgenticHealthConfig {
|
|
60
|
+
readonly enabled: boolean;
|
|
61
|
+
readonly evaluator?: AgenticHealthEvaluator;
|
|
62
|
+
readonly timeoutMs?: number;
|
|
63
|
+
}
|
|
64
|
+
/** Deterministic options plus the optional agentic pass. */
|
|
65
|
+
export interface HealthOptions extends DeterministicHealthOptions {
|
|
66
|
+
readonly agentic?: AgenticHealthConfig;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Run deterministic health and, only when explicitly enabled and available,
|
|
70
|
+
* compose one bounded optional agentic review. Collection never persists.
|
|
71
|
+
*/
|
|
72
|
+
export declare function runHealth(projectPath: string, options?: HealthOptions): Promise<HealthResult>;
|
|
73
|
+
//# sourceMappingURL=agentic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentic.d.ts","sourceRoot":"","sources":["../../src/health/agentic.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,oBAAoB,CAAC;AAqC5B,iEAAiE;AACjE,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,wBAAwB,GACxB,eAAe,GACf,UAAU,CAAC;AAEf;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,qBAAqB,EAAE,SAAS,aAAa,EAAE,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE;YAChB,QAAQ,CAAC,QAAQ,EAAE;gBACjB,QAAQ,CAAC,IAAI,EAAE;oBAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;iBAAE,CAAC;aACrD,CAAC;SACH,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACtD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,gFAAgF;AAChF,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACtD,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEtC,oDAAoD;AACpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAc,SAAQ,0BAA0B;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAiXD;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA+CvB"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/** Optional, read-only agentic Health composition over deterministic facts. */
|
|
2
|
+
/* eslint-disable functional/immutable-data, functional/no-let, jsdoc/require-param, jsdoc/require-param-description, jsdoc/require-returns, max-lines -- one auditable hostile boundary stays cohesive */
|
|
3
|
+
import { lstat, readdir, realpath } from "node:fs/promises";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { isProxy } from "node:util/types";
|
|
6
|
+
import { hasUnsafeTextCharacter, readStrictDenseArray, readStrictProperty as read, requireBoundedMachineId, requireClosedString, requireStrictRecord, } from "./strict-validation.js";
|
|
7
|
+
import { summarizeHealthFindings, validateHealthResult, } from "./contract.js";
|
|
8
|
+
import { runDeterministicHealth, } from "./deterministic.js";
|
|
9
|
+
import { HealthDeadline } from "./deadline.js";
|
|
10
|
+
import { projectPathKind, readProjectJsonObject, readProjectText, resolveProjectPath, } from "./read-only-fs.js";
|
|
11
|
+
const DEFAULT_AGENTIC_TIMEOUT_MS = 60_000;
|
|
12
|
+
const MAX_AGENTIC_ARTIFACTS = 67;
|
|
13
|
+
const MAX_WORKFLOW_FILES = 64;
|
|
14
|
+
const MAX_ARTIFACT_BYTES = 128 * 1024;
|
|
15
|
+
const MAX_TOTAL_ARTIFACT_BYTES = 512 * 1024;
|
|
16
|
+
const MAX_JUDGMENTS = 50;
|
|
17
|
+
const MAX_FINAL_FINDINGS = 200;
|
|
18
|
+
const MAX_CHECK_BYTES = 128;
|
|
19
|
+
const MAX_REASON_BYTES = 2_000;
|
|
20
|
+
const RESERVED_CHECK = "agentic.review-completed";
|
|
21
|
+
const WORKFLOW_DIRECTORY = path.join(".github", "workflows");
|
|
22
|
+
const CONFIG_PATH = ".lisa.config.json";
|
|
23
|
+
const LOCAL_CONFIG_PATH = ".lisa.config.local.json";
|
|
24
|
+
const WORKFLOW_CONTROL = /^\s*(?:skip_jobs|verify_enforced|mutation(?:_gate)?(?:_enabled)?)\s*:/u;
|
|
25
|
+
const YAML_COMMENT = /^\s*#/u;
|
|
26
|
+
const JOB_IDENTIFIER = /^ {2}[a-zA-Z0-9_-]+:\s*(?:#.*)?$/u;
|
|
27
|
+
const OVERRIDE_PATHS = [
|
|
28
|
+
{
|
|
29
|
+
kind: "eslint-override",
|
|
30
|
+
path: "eslint.config.local.ts",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
kind: "eslint-ignore-override",
|
|
34
|
+
path: "eslint.ignore.config.local.json",
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
/** Read one optional fixed-path override artifact. */
|
|
38
|
+
async function readOptionalArtifact(projectRoot, descriptor) {
|
|
39
|
+
const kind = await projectPathKind(projectRoot, descriptor.path);
|
|
40
|
+
if (kind === "missing")
|
|
41
|
+
return undefined;
|
|
42
|
+
if (kind !== "file")
|
|
43
|
+
throw new Error("Unsafe agentic evidence path");
|
|
44
|
+
const content = await readProjectText(projectRoot, descriptor.path, MAX_ARTIFACT_BYTES);
|
|
45
|
+
if (content === undefined)
|
|
46
|
+
return undefined;
|
|
47
|
+
return Object.freeze({ ...descriptor, content });
|
|
48
|
+
}
|
|
49
|
+
/** Enumerate bounded regular workflow files without following special paths. */
|
|
50
|
+
async function workflowPaths(projectRoot) {
|
|
51
|
+
const kind = await projectPathKind(projectRoot, WORKFLOW_DIRECTORY);
|
|
52
|
+
if (kind === "missing")
|
|
53
|
+
return [];
|
|
54
|
+
if (kind !== "directory")
|
|
55
|
+
throw new Error("Unsafe workflow evidence path");
|
|
56
|
+
const directory = resolveProjectPath(projectRoot, WORKFLOW_DIRECTORY);
|
|
57
|
+
const entries = await readdir(directory, { withFileTypes: true });
|
|
58
|
+
const workflows = entries
|
|
59
|
+
.filter(entry => /\.ya?ml$/u.test(entry.name))
|
|
60
|
+
.map(entry => {
|
|
61
|
+
if (!entry.isFile())
|
|
62
|
+
throw new Error("Unsafe workflow evidence file");
|
|
63
|
+
return path.join(WORKFLOW_DIRECTORY, entry.name);
|
|
64
|
+
})
|
|
65
|
+
.sort((left, right) => left.localeCompare(right));
|
|
66
|
+
if (workflows.length > MAX_WORKFLOW_FILES) {
|
|
67
|
+
throw new Error("Agentic workflow evidence exceeds file limit");
|
|
68
|
+
}
|
|
69
|
+
return workflows;
|
|
70
|
+
}
|
|
71
|
+
/** Reduce workflow YAML in one pass to controls, job ids, and comment blocks. */
|
|
72
|
+
function workflowExcerpt(source) {
|
|
73
|
+
const lines = source.split(/\r?\n/u);
|
|
74
|
+
const selected = new Map();
|
|
75
|
+
let currentJob;
|
|
76
|
+
let pendingComments = [];
|
|
77
|
+
let captureFollowingComments = false;
|
|
78
|
+
lines.forEach((line, index) => {
|
|
79
|
+
if (JOB_IDENTIFIER.test(line)) {
|
|
80
|
+
currentJob = Object.freeze({ index, line });
|
|
81
|
+
pendingComments = [];
|
|
82
|
+
captureFollowingComments = false;
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (YAML_COMMENT.test(line)) {
|
|
86
|
+
const comment = Object.freeze({ index, line });
|
|
87
|
+
pendingComments.push(comment);
|
|
88
|
+
if (captureFollowingComments)
|
|
89
|
+
selected.set(index, line);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (WORKFLOW_CONTROL.test(line)) {
|
|
93
|
+
if (currentJob !== undefined) {
|
|
94
|
+
selected.set(currentJob.index, currentJob.line);
|
|
95
|
+
}
|
|
96
|
+
pendingComments.forEach(comment => selected.set(comment.index, comment.line));
|
|
97
|
+
selected.set(index, line);
|
|
98
|
+
pendingComments = [];
|
|
99
|
+
captureFollowingComments = true;
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
pendingComments = [];
|
|
103
|
+
captureFollowingComments = false;
|
|
104
|
+
});
|
|
105
|
+
return [...selected.entries()]
|
|
106
|
+
.map(([index, line]) => `${index + 1}: ${line}`)
|
|
107
|
+
.join("\n");
|
|
108
|
+
}
|
|
109
|
+
/** Read current managed ESLint content only when deterministic drift names it. */
|
|
110
|
+
async function readManagedDriftArtifact(projectRoot, deterministic) {
|
|
111
|
+
const finding = deterministic.findings.find(candidate => candidate.check === "templates.managed" &&
|
|
112
|
+
candidate.status === "fail" &&
|
|
113
|
+
/(?:^|[ :,])eslint\.config\.ts(?:$|[ ,])/u.test(candidate.reason));
|
|
114
|
+
if (finding === undefined)
|
|
115
|
+
return undefined;
|
|
116
|
+
return readOptionalArtifact(projectRoot, {
|
|
117
|
+
kind: "managed-drift",
|
|
118
|
+
path: "eslint.config.ts",
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/** Resolve the allowlisted path without retaining unrelated config values. */
|
|
122
|
+
function mutationGateRead(config) {
|
|
123
|
+
let current = config;
|
|
124
|
+
for (const field of ["quality", "mutation", "gate", "enabled"]) {
|
|
125
|
+
if (current === null ||
|
|
126
|
+
typeof current !== "object" ||
|
|
127
|
+
Array.isArray(current)) {
|
|
128
|
+
return Object.freeze({ present: true, enabled: null });
|
|
129
|
+
}
|
|
130
|
+
if (!Object.prototype.hasOwnProperty.call(current, field)) {
|
|
131
|
+
return Object.freeze({ present: false, enabled: null });
|
|
132
|
+
}
|
|
133
|
+
current = current[field];
|
|
134
|
+
}
|
|
135
|
+
return Object.freeze({
|
|
136
|
+
present: true,
|
|
137
|
+
enabled: typeof current === "boolean" ? current : null,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/** Read the effective mutation-gate boolean with local-config precedence. */
|
|
141
|
+
async function readAgenticConfig(projectRoot) {
|
|
142
|
+
const [committed, local] = await Promise.all([
|
|
143
|
+
readProjectJsonObject(projectRoot, CONFIG_PATH),
|
|
144
|
+
readProjectJsonObject(projectRoot, LOCAL_CONFIG_PATH),
|
|
145
|
+
]);
|
|
146
|
+
const localGate = mutationGateRead(local ?? {});
|
|
147
|
+
const committedGate = mutationGateRead(committed ?? {});
|
|
148
|
+
const enabled = localGate.present ? localGate.enabled : committedGate.enabled;
|
|
149
|
+
return Object.freeze({
|
|
150
|
+
quality: Object.freeze({
|
|
151
|
+
mutation: Object.freeze({
|
|
152
|
+
gate: Object.freeze({ enabled }),
|
|
153
|
+
}),
|
|
154
|
+
}),
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/** Collect confined project evidence with hard per-file and aggregate bounds. */
|
|
158
|
+
async function collectAgenticArtifacts(projectRoot, deterministic) {
|
|
159
|
+
const [overrides, managedDrift] = await Promise.all([
|
|
160
|
+
Promise.all(OVERRIDE_PATHS.map(descriptor => readOptionalArtifact(projectRoot, descriptor))),
|
|
161
|
+
readManagedDriftArtifact(projectRoot, deterministic),
|
|
162
|
+
]);
|
|
163
|
+
const workflows = (await Promise.all((await workflowPaths(projectRoot)).map(async (relativePath) => {
|
|
164
|
+
const content = await readProjectText(projectRoot, relativePath, MAX_ARTIFACT_BYTES);
|
|
165
|
+
if (content === undefined) {
|
|
166
|
+
throw new Error("Workflow evidence disappeared during collection");
|
|
167
|
+
}
|
|
168
|
+
const excerpt = workflowExcerpt(content);
|
|
169
|
+
if (excerpt.length === 0)
|
|
170
|
+
return undefined;
|
|
171
|
+
if (Buffer.byteLength(excerpt, "utf8") > MAX_ARTIFACT_BYTES) {
|
|
172
|
+
throw new Error("Workflow excerpt exceeds artifact size limit");
|
|
173
|
+
}
|
|
174
|
+
return Object.freeze({
|
|
175
|
+
kind: "workflow",
|
|
176
|
+
path: relativePath.split(path.sep).join("/"),
|
|
177
|
+
content: excerpt,
|
|
178
|
+
});
|
|
179
|
+
}))).filter(item => item !== undefined);
|
|
180
|
+
const artifacts = [
|
|
181
|
+
...overrides.filter(item => item !== undefined),
|
|
182
|
+
...(managedDrift === undefined ? [] : [managedDrift]),
|
|
183
|
+
...workflows,
|
|
184
|
+
].sort((left, right) => left.path.localeCompare(right.path));
|
|
185
|
+
if (artifacts.length > MAX_AGENTIC_ARTIFACTS) {
|
|
186
|
+
throw new Error("Agentic evidence exceeds artifact limit");
|
|
187
|
+
}
|
|
188
|
+
const totalBytes = artifacts.reduce((total, artifact) => total + Buffer.byteLength(artifact.content, "utf8"), 0);
|
|
189
|
+
if (totalBytes > MAX_TOTAL_ARTIFACT_BYTES) {
|
|
190
|
+
throw new Error("Agentic evidence exceeds aggregate size limit");
|
|
191
|
+
}
|
|
192
|
+
return Object.freeze(artifacts);
|
|
193
|
+
}
|
|
194
|
+
/** Create a detached deeply frozen evaluator request. */
|
|
195
|
+
function evaluatorRequest(deterministic, config, artifacts) {
|
|
196
|
+
const deterministicFindings = deterministic.findings.map(finding => Object.freeze({ ...finding }));
|
|
197
|
+
return Object.freeze({
|
|
198
|
+
schemaVersion: 1,
|
|
199
|
+
deterministicFindings: Object.freeze(deterministicFindings),
|
|
200
|
+
config,
|
|
201
|
+
artifacts: Object.freeze(artifacts.map(artifact => Object.freeze({ ...artifact }))),
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
/** Validate one evaluator-produced warning without accepting attribution fields. */
|
|
205
|
+
function validateJudgment(candidate, index) {
|
|
206
|
+
const input = requireStrictRecord(candidate, ["check", "reason"], `agentic judgments[${index}]`);
|
|
207
|
+
const check = requireBoundedMachineId(read(input, "check"), `agentic judgments[${index}].check`, MAX_CHECK_BYTES);
|
|
208
|
+
if (!check.startsWith("agentic.") || check === RESERVED_CHECK) {
|
|
209
|
+
throw new Error("Invalid agentic judgment check namespace");
|
|
210
|
+
}
|
|
211
|
+
const reason = read(input, "reason");
|
|
212
|
+
if (typeof reason !== "string" ||
|
|
213
|
+
reason.trim() !== reason ||
|
|
214
|
+
reason.length === 0 ||
|
|
215
|
+
Buffer.byteLength(reason, "utf8") > MAX_REASON_BYTES ||
|
|
216
|
+
hasUnsafeTextCharacter(reason)) {
|
|
217
|
+
throw new Error("Invalid agentic judgment reason");
|
|
218
|
+
}
|
|
219
|
+
return Object.freeze({ check, reason });
|
|
220
|
+
}
|
|
221
|
+
/** Validate the evaluator's exact closed result union atomically. */
|
|
222
|
+
function validateEvaluation(candidate) {
|
|
223
|
+
if (candidate === null ||
|
|
224
|
+
typeof candidate !== "object" ||
|
|
225
|
+
isProxy(candidate)) {
|
|
226
|
+
throw new Error("Invalid agentic evaluation: expected a plain object");
|
|
227
|
+
}
|
|
228
|
+
const statusInput = requireStrictRecord(candidate, Object.prototype.hasOwnProperty.call(candidate, "judgments")
|
|
229
|
+
? ["status", "judgments"]
|
|
230
|
+
: ["status"], "agentic evaluation");
|
|
231
|
+
const status = requireClosedString(read(statusInput, "status"), ["completed", "unavailable"], "agentic evaluation.status");
|
|
232
|
+
if (status === "unavailable") {
|
|
233
|
+
if (Object.prototype.hasOwnProperty.call(candidate, "judgments")) {
|
|
234
|
+
throw new Error("Unavailable agentic evaluation cannot carry judgments");
|
|
235
|
+
}
|
|
236
|
+
return Object.freeze({ status });
|
|
237
|
+
}
|
|
238
|
+
if (!Object.prototype.hasOwnProperty.call(candidate, "judgments")) {
|
|
239
|
+
throw new Error("Completed agentic evaluation requires judgments");
|
|
240
|
+
}
|
|
241
|
+
const judgments = readStrictDenseArray(read(statusInput, "judgments"), 0, MAX_JUDGMENTS, "agentic judgments").map(validateJudgment);
|
|
242
|
+
const checks = judgments.map(judgment => judgment.check);
|
|
243
|
+
if (new Set(checks).size !== checks.length) {
|
|
244
|
+
throw new Error("Agentic judgment checks must be unique");
|
|
245
|
+
}
|
|
246
|
+
return Object.freeze({ status, judgments: Object.freeze(judgments) });
|
|
247
|
+
}
|
|
248
|
+
/** Compose completed, validated judgments without changing deterministic facts. */
|
|
249
|
+
function composeFullResult(deterministic, evaluation, now) {
|
|
250
|
+
const deterministicChecks = new Set(deterministic.findings.map(finding => finding.check));
|
|
251
|
+
if (evaluation.judgments.some(judgment => deterministicChecks.has(judgment.check))) {
|
|
252
|
+
throw new Error("Agentic judgment check collides with deterministic output");
|
|
253
|
+
}
|
|
254
|
+
if (deterministic.findings.length + evaluation.judgments.length >
|
|
255
|
+
MAX_FINAL_FINDINGS) {
|
|
256
|
+
throw new Error("Completed agentic output exceeds final finding capacity");
|
|
257
|
+
}
|
|
258
|
+
const warnings = [...evaluation.judgments]
|
|
259
|
+
.sort((left, right) => left.check === right.check
|
|
260
|
+
? left.reason.localeCompare(right.reason)
|
|
261
|
+
: left.check.localeCompare(right.check))
|
|
262
|
+
.map(judgment => Object.freeze({
|
|
263
|
+
check: judgment.check,
|
|
264
|
+
layer: "agentic",
|
|
265
|
+
status: "warn",
|
|
266
|
+
reason: judgment.reason,
|
|
267
|
+
}));
|
|
268
|
+
const findings = [...deterministic.findings, ...warnings];
|
|
269
|
+
const observedCompleted = now().toISOString();
|
|
270
|
+
const completedAt = observedCompleted < deterministic.completedAt
|
|
271
|
+
? deterministic.completedAt
|
|
272
|
+
: observedCompleted;
|
|
273
|
+
return validateHealthResult({
|
|
274
|
+
schemaVersion: 1,
|
|
275
|
+
runId: deterministic.runId,
|
|
276
|
+
mode: "full",
|
|
277
|
+
startedAt: deterministic.startedAt,
|
|
278
|
+
completedAt,
|
|
279
|
+
findings,
|
|
280
|
+
summary: summarizeHealthFindings(findings),
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
/** Resolve a canonical project directory for confined evidence collection. */
|
|
284
|
+
async function canonicalProjectRoot(projectPath) {
|
|
285
|
+
const root = await realpath(path.resolve(projectPath));
|
|
286
|
+
if (!(await lstat(root)).isDirectory()) {
|
|
287
|
+
throw new Error("Health project root is not a directory");
|
|
288
|
+
}
|
|
289
|
+
return root;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Run deterministic health and, only when explicitly enabled and available,
|
|
293
|
+
* compose one bounded optional agentic review. Collection never persists.
|
|
294
|
+
*/
|
|
295
|
+
export async function runHealth(projectPath, options = {}) {
|
|
296
|
+
const { agentic, ...deterministicOptions } = options;
|
|
297
|
+
const deterministic = await runDeterministicHealth(projectPath, deterministicOptions);
|
|
298
|
+
if (agentic?.enabled !== true || agentic.evaluator === undefined) {
|
|
299
|
+
return deterministic;
|
|
300
|
+
}
|
|
301
|
+
const deadline = new HealthDeadline(agentic.timeoutMs ?? DEFAULT_AGENTIC_TIMEOUT_MS);
|
|
302
|
+
try {
|
|
303
|
+
const root = await deadline.run(() => canonicalProjectRoot(projectPath), undefined);
|
|
304
|
+
if (root === undefined)
|
|
305
|
+
return deterministic;
|
|
306
|
+
const evidence = await deadline.run(async () => Promise.all([
|
|
307
|
+
readAgenticConfig(root),
|
|
308
|
+
collectAgenticArtifacts(root, deterministic),
|
|
309
|
+
]), undefined);
|
|
310
|
+
if (evidence === undefined)
|
|
311
|
+
return deterministic;
|
|
312
|
+
const [config, artifacts] = evidence;
|
|
313
|
+
const request = evaluatorRequest(deterministic, config, artifacts);
|
|
314
|
+
const evaluation = await deadline.run(async () => validateEvaluation(await agentic.evaluator(request, deadline.signal)), undefined);
|
|
315
|
+
if (evaluation === undefined || evaluation.status === "unavailable") {
|
|
316
|
+
return deterministic;
|
|
317
|
+
}
|
|
318
|
+
return composeFullResult(deterministic, evaluation, options.now ?? (() => new Date()));
|
|
319
|
+
}
|
|
320
|
+
catch {
|
|
321
|
+
return deterministic;
|
|
322
|
+
}
|
|
323
|
+
finally {
|
|
324
|
+
deadline.close();
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/* eslint-enable functional/immutable-data, functional/no-let, jsdoc/require-param, jsdoc/require-param-description, jsdoc/require-returns, max-lines -- restore repository defaults */
|
|
328
|
+
//# sourceMappingURL=agentic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentic.js","sourceRoot":"","sources":["../../src/health/agentic.ts"],"names":[],"mappings":"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"}
|
package/dist/health/contract.js
CHANGED
|
@@ -145,9 +145,8 @@ function assertModeLayers(mode, findings) {
|
|
|
145
145
|
(layers.size !== 1 || !layers.has("deterministic"))) {
|
|
146
146
|
throw new Error("Invalid findings: deterministic mode permits deterministic findings only");
|
|
147
147
|
}
|
|
148
|
-
if (mode === "full" &&
|
|
149
|
-
(
|
|
150
|
-
throw new Error("Invalid findings: full mode requires both deterministic and agentic findings");
|
|
148
|
+
if (mode === "full" && !layers.has("deterministic")) {
|
|
149
|
+
throw new Error("Invalid findings: full mode requires deterministic findings");
|
|
151
150
|
}
|
|
152
151
|
}
|
|
153
152
|
//# sourceMappingURL=contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/health/contract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/health/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deadline.d.ts","sourceRoot":"","sources":["../../src/health/deadline.ts"],"names":[],"mappings":"AAMA,2DAA2D;AAC3D,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IAEvC;;;OAGG;gBACS,WAAW,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"deadline.d.ts","sourceRoot":"","sources":["../../src/health/deadline.ts"],"names":[],"mappings":"AAMA,2DAA2D;AAC3D,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IAEvC;;;OAGG;gBACS,WAAW,EAAE,MAAM;IAU/B,mEAAmE;IACnE,WAAW,IAAI,MAAM;IAIrB;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ7D,4DAA4D;IAC5D,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/health/deadline.js
CHANGED
|
@@ -21,7 +21,6 @@ export class HealthDeadline {
|
|
|
21
21
|
this.signal.addEventListener("abort", () => resolve(), { once: true });
|
|
22
22
|
});
|
|
23
23
|
this.timer = setTimeout(() => this.controller.abort(), duration);
|
|
24
|
-
this.timer.unref();
|
|
25
24
|
}
|
|
26
25
|
/** Remaining whole milliseconds available to a bounded command. */
|
|
27
26
|
remainingMs() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deadline.js","sourceRoot":"","sources":["../../src/health/deadline.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,wFAAwF;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,2DAA2D;AAC3D,MAAM,OAAO,cAAc;IAChB,MAAM,CAAc;IACZ,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,OAAO,CAAgB;IACvB,SAAS,CAAS;IAClB,KAAK,CAAiB;IAEvC;;;OAGG;IACH,YAAY,WAAmB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"deadline.js","sourceRoot":"","sources":["../../src/health/deadline.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,wFAAwF;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,2DAA2D;AAC3D,MAAM,OAAO,cAAc;IAChB,MAAM,CAAc;IACZ,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,OAAO,CAAgB;IACvB,SAAS,CAAS;IAClB,KAAK,CAAiB;IAEvC;;;OAGG;IACH,YAAY,WAAmB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,mEAAmE;IACnE,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAI,IAAsB,EAAE,QAAW;QAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACrE,OAAO,OAAO,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,KAAK;QACH,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF;AACD,sFAAsF"}
|
package/dist/health/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
package/dist/health/index.js
CHANGED
package/dist/health/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -39,7 +39,8 @@
|
|
|
39
39
|
"check:workflow-inputs": "node scripts/detect-stale-workflow-inputs.mjs --project . --project typescript/create-only --project rails/create-only --json",
|
|
40
40
|
"verify:health-contract": "bun run build:dist && node scripts/verify-health-contract-built.mjs",
|
|
41
41
|
"verify:health-deterministic": "bun run build:dist && node scripts/verify-health-deterministic-built.mjs",
|
|
42
|
-
"verify:learner-frontmatter-built": "bun run build:dist && node scripts/verify-learner-frontmatter-built.mjs"
|
|
42
|
+
"verify:learner-frontmatter-built": "bun run build:dist && node scripts/verify-learner-frontmatter-built.mjs",
|
|
43
|
+
"verify:health-agentic": "bun run build:dist && node scripts/verify-health-agentic-built.mjs"
|
|
43
44
|
},
|
|
44
45
|
"engines": {
|
|
45
46
|
"npm": "please-use-bun",
|
|
@@ -110,7 +111,7 @@
|
|
|
110
111
|
"brace-expansion": ">=5.0.6"
|
|
111
112
|
},
|
|
112
113
|
"name": "@codyswann/lisa",
|
|
113
|
-
"version": "2.
|
|
114
|
+
"version": "2.273.0",
|
|
114
115
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
115
116
|
"main": "dist/index.js",
|
|
116
117
|
"exports": {
|