@davidahmann/mill 0.1.4
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/LICENSE +202 -0
- package/README.md +335 -0
- package/dist/audit/repository.d.ts +8 -0
- package/dist/audit/repository.d.ts.map +1 -0
- package/dist/audit/repository.js +232 -0
- package/dist/audit/repository.js.map +1 -0
- package/dist/cli-program.d.ts +12 -0
- package/dist/cli-program.d.ts.map +1 -0
- package/dist/cli-program.js +1020 -0
- package/dist/cli-program.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +7 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/lock.d.ts +12 -0
- package/dist/config/lock.d.ts.map +1 -0
- package/dist/config/lock.js +83 -0
- package/dist/config/lock.js.map +1 -0
- package/dist/contracts/canonical.d.ts +7 -0
- package/dist/contracts/canonical.d.ts.map +1 -0
- package/dist/contracts/canonical.js +30 -0
- package/dist/contracts/canonical.js.map +1 -0
- package/dist/contracts/schemas.d.ts +2705 -0
- package/dist/contracts/schemas.d.ts.map +1 -0
- package/dist/contracts/schemas.js +988 -0
- package/dist/contracts/schemas.js.map +1 -0
- package/dist/doctor.d.ts +21 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +138 -0
- package/dist/doctor.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +31 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/intake/prd.d.ts +14 -0
- package/dist/intake/prd.d.ts.map +1 -0
- package/dist/intake/prd.js +39 -0
- package/dist/intake/prd.js.map +1 -0
- package/dist/planning/impact.d.ts +59 -0
- package/dist/planning/impact.d.ts.map +1 -0
- package/dist/planning/impact.js +400 -0
- package/dist/planning/impact.js.map +1 -0
- package/dist/planning/specification.d.ts +42 -0
- package/dist/planning/specification.d.ts.map +1 -0
- package/dist/planning/specification.js +235 -0
- package/dist/planning/specification.js.map +1 -0
- package/dist/qualification/public-alpha.d.ts +16 -0
- package/dist/qualification/public-alpha.d.ts.map +1 -0
- package/dist/qualification/public-alpha.js +128 -0
- package/dist/qualification/public-alpha.js.map +1 -0
- package/dist/recipes/node-typescript-next-web.d.ts +19 -0
- package/dist/recipes/node-typescript-next-web.d.ts.map +1 -0
- package/dist/recipes/node-typescript-next-web.js +136 -0
- package/dist/recipes/node-typescript-next-web.js.map +1 -0
- package/dist/repository/integration.d.ts +58 -0
- package/dist/repository/integration.d.ts.map +1 -0
- package/dist/repository/integration.js +1385 -0
- package/dist/repository/integration.js.map +1 -0
- package/dist/repository/scan.d.ts +27 -0
- package/dist/repository/scan.d.ts.map +1 -0
- package/dist/repository/scan.js +388 -0
- package/dist/repository/scan.js.map +1 -0
- package/dist/result.d.ts +23 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +24 -0
- package/dist/result.js.map +1 -0
- package/dist/runtime/codex.d.ts +28 -0
- package/dist/runtime/codex.d.ts.map +1 -0
- package/dist/runtime/codex.js +439 -0
- package/dist/runtime/codex.js.map +1 -0
- package/dist/runtime/context.d.ts +10 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +151 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/delivery.d.ts +58 -0
- package/dist/runtime/delivery.d.ts.map +1 -0
- package/dist/runtime/delivery.js +1073 -0
- package/dist/runtime/delivery.js.map +1 -0
- package/dist/runtime/dependencies.d.ts +19 -0
- package/dist/runtime/dependencies.d.ts.map +1 -0
- package/dist/runtime/dependencies.js +495 -0
- package/dist/runtime/dependencies.js.map +1 -0
- package/dist/runtime/github.d.ts +112 -0
- package/dist/runtime/github.d.ts.map +1 -0
- package/dist/runtime/github.js +510 -0
- package/dist/runtime/github.js.map +1 -0
- package/dist/runtime/inputs.d.ts +24 -0
- package/dist/runtime/inputs.d.ts.map +1 -0
- package/dist/runtime/inputs.js +237 -0
- package/dist/runtime/inputs.js.map +1 -0
- package/dist/runtime/lease.d.ts +11 -0
- package/dist/runtime/lease.d.ts.map +1 -0
- package/dist/runtime/lease.js +52 -0
- package/dist/runtime/lease.js.map +1 -0
- package/dist/runtime/lifecycle.d.ts +87 -0
- package/dist/runtime/lifecycle.d.ts.map +1 -0
- package/dist/runtime/lifecycle.js +1024 -0
- package/dist/runtime/lifecycle.js.map +1 -0
- package/dist/runtime/process.d.ts +39 -0
- package/dist/runtime/process.d.ts.map +1 -0
- package/dist/runtime/process.js +304 -0
- package/dist/runtime/process.js.map +1 -0
- package/dist/runtime/repository.d.ts +36 -0
- package/dist/runtime/repository.d.ts.map +1 -0
- package/dist/runtime/repository.js +458 -0
- package/dist/runtime/repository.js.map +1 -0
- package/dist/runtime/state.d.ts +121 -0
- package/dist/runtime/state.d.ts.map +1 -0
- package/dist/runtime/state.js +1017 -0
- package/dist/runtime/state.js.map +1 -0
- package/dist/runtime/verifier.d.ts +31 -0
- package/dist/runtime/verifier.d.ts.map +1 -0
- package/dist/runtime/verifier.js +478 -0
- package/dist/runtime/verifier.js.map +1 -0
- package/dist/runtime/worker.d.ts +67 -0
- package/dist/runtime/worker.d.ts.map +1 -0
- package/dist/runtime/worker.js +34 -0
- package/dist/runtime/worker.js.map +1 -0
- package/dist/security/safe-path.d.ts +3 -0
- package/dist/security/safe-path.d.ts.map +1 -0
- package/dist/security/safe-path.js +102 -0
- package/dist/security/safe-path.js.map +1 -0
- package/dist/version.d.ts +4 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -0
- package/dist/workflows/founder.d.ts +33 -0
- package/dist/workflows/founder.d.ts.map +1 -0
- package/dist/workflows/founder.js +422 -0
- package/dist/workflows/founder.js.map +1 -0
- package/package.json +79 -0
- package/recipes/node-typescript-next-web/.github/workflows/ci.yml +34 -0
- package/recipes/node-typescript-next-web/.node-version +1 -0
- package/recipes/node-typescript-next-web/.tool-versions +1 -0
- package/recipes/node-typescript-next-web/AGENTS.md +44 -0
- package/recipes/node-typescript-next-web/README.md +16 -0
- package/recipes/node-typescript-next-web/WORKFLOW.md +6 -0
- package/recipes/node-typescript-next-web/app/api/health/route.ts +5 -0
- package/recipes/node-typescript-next-web/app/layout.tsx +19 -0
- package/recipes/node-typescript-next-web/app/page.tsx +12 -0
- package/recipes/node-typescript-next-web/app/styles.css +21 -0
- package/recipes/node-typescript-next-web/docs/development.md +16 -0
- package/recipes/node-typescript-next-web/eslint.config.mjs +9 -0
- package/recipes/node-typescript-next-web/gitignore.template +5 -0
- package/recipes/node-typescript-next-web/next-env.d.ts +7 -0
- package/recipes/node-typescript-next-web/next.config.ts +11 -0
- package/recipes/node-typescript-next-web/package-lock.json +7540 -0
- package/recipes/node-typescript-next-web/package.json +39 -0
- package/recipes/node-typescript-next-web/playwright.config.ts +23 -0
- package/recipes/node-typescript-next-web/recipe.yaml +71 -0
- package/recipes/node-typescript-next-web/scripts/check-package.mjs +3 -0
- package/recipes/node-typescript-next-web/src/health.ts +3 -0
- package/recipes/node-typescript-next-web/test/browser/home.spec.ts +14 -0
- package/recipes/node-typescript-next-web/test/integration/health-route.test.ts +11 -0
- package/recipes/node-typescript-next-web/test/unit/health.test.ts +9 -0
- package/recipes/node-typescript-next-web/tsconfig.json +33 -0
- package/schemas/README.md +64 -0
- package/schemas/audit-report.schema.json +59 -0
- package/schemas/blueprint.schema.json +34 -0
- package/schemas/context-manifest.schema.json +88 -0
- package/schemas/delivery-record.schema.json +266 -0
- package/schemas/impact-manifest.schema.json +146 -0
- package/schemas/managed-repository.schema.json +36 -0
- package/schemas/mill-config.schema.json +212 -0
- package/schemas/mill-lock.schema.json +96 -0
- package/schemas/outcome-plan.schema.json +51 -0
- package/schemas/product-contract.schema.json +181 -0
- package/schemas/public-alpha-qualification.schema.json +391 -0
- package/schemas/recipe-manifest.schema.json +187 -0
- package/schemas/release-evidence.schema.json +170 -0
- package/schemas/repository-integration-plan.schema.json +156 -0
- package/schemas/review-result.schema.json +57 -0
- package/schemas/scenario-set.schema.json +84 -0
- package/schemas/source-manifest.schema.json +96 -0
- package/schemas/specification-proposal.schema.json +406 -0
- package/schemas/support-tuple.schema.json +107 -0
- package/schemas/task-packet.schema.json +395 -0
- package/schemas/validation-evidence.schema.json +125 -0
- package/schemas/worker-invocation.schema.json +119 -0
- package/schemas/worker-profile.schema.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/runtime/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
import { millConfigSchema, taskPacketSchema } from "../contracts/schemas.js";
|
|
3
|
+
import { type ContinuityProductContract, type ContinuityScenarioSet, type ImpactManifest } from "../planning/impact.js";
|
|
4
|
+
export type MillConfig = z.infer<typeof millConfigSchema>;
|
|
5
|
+
export type TaskPacket = z.infer<typeof taskPacketSchema>;
|
|
6
|
+
export interface RuntimeInputs {
|
|
7
|
+
config: MillConfig;
|
|
8
|
+
task: TaskPacket;
|
|
9
|
+
taskPath: string;
|
|
10
|
+
taskDigest: string;
|
|
11
|
+
configDigest: string;
|
|
12
|
+
protectedPaths: readonly string[];
|
|
13
|
+
continuity?: {
|
|
14
|
+
product: ContinuityProductContract;
|
|
15
|
+
scenarios: ContinuityScenarioSet;
|
|
16
|
+
impact: ImpactManifest;
|
|
17
|
+
impactDigest: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare function textDigest(value: string): string;
|
|
21
|
+
export declare function assertNewRunTaskContract(task: TaskPacket): void;
|
|
22
|
+
export declare function loadRuntimeInputs(root: string, taskPath: string, authorityMode?: "authorize" | "readback"): Promise<RuntimeInputs>;
|
|
23
|
+
export declare function loadMillConfig(root: string): Promise<MillConfig>;
|
|
24
|
+
//# sourceMappingURL=inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/runtime/inputs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAEL,gBAAgB,EAGhB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE;QACX,OAAO,EAAE,yBAAyB,CAAC;QACnC,SAAS,EAAE,qBAAqB,CAAC;QACjC,MAAM,EAAE,cAAc,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAQ/D;AA0GD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,aAAa,GAAE,WAAW,GAAG,UAAwB,GACpD,OAAO,CAAC,aAAa,CAAC,CAsNxB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAGtE"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { parse as parseYaml } from "yaml";
|
|
4
|
+
import { impactManifestSchema, millConfigSchema, productContractSchema, scenarioSetSchema, taskPacketSchema, } from "../contracts/schemas.js";
|
|
5
|
+
import { canonicalDigest } from "../contracts/canonical.js";
|
|
6
|
+
import { ExitCode, MillError } from "../errors.js";
|
|
7
|
+
import { safeReadText } from "../security/safe-path.js";
|
|
8
|
+
import { assessImpactManifest, } from "../planning/impact.js";
|
|
9
|
+
export function textDigest(value) {
|
|
10
|
+
return `sha256:${createHash("sha256").update(value, "utf8").digest("hex")}`;
|
|
11
|
+
}
|
|
12
|
+
export function assertNewRunTaskContract(task) {
|
|
13
|
+
if (task.schemaVersion !== "2") {
|
|
14
|
+
throw new MillError("CONTINUITY_TASK_VERSION_REQUIRED", "A new run requires task-packet version 2 and an approved impact manifest; version 1 is resume-only.", ExitCode.configuration);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function sameMembers(actual, expected) {
|
|
18
|
+
return (actual.length === expected.length &&
|
|
19
|
+
new Set(actual).size === actual.length &&
|
|
20
|
+
actual.every((item) => expected.includes(item)));
|
|
21
|
+
}
|
|
22
|
+
function scenarioCoverage(values) {
|
|
23
|
+
if (values.every((value) => value === "new_behavior"))
|
|
24
|
+
return "new_behavior";
|
|
25
|
+
if (values.every((value) => value === "preservation"))
|
|
26
|
+
return "preservation";
|
|
27
|
+
return "both";
|
|
28
|
+
}
|
|
29
|
+
function parseContract(source, schema, label) {
|
|
30
|
+
let raw;
|
|
31
|
+
try {
|
|
32
|
+
raw = parseYaml(source);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
throw new MillError("INVALID_RUNTIME_CONTRACT", `${label} is not valid YAML.`, ExitCode.data, { cause: String(error) });
|
|
36
|
+
}
|
|
37
|
+
const parsed = schema.safeParse(raw);
|
|
38
|
+
if (!parsed.success) {
|
|
39
|
+
throw new MillError("INVALID_RUNTIME_CONTRACT", `${label} does not satisfy its schema.`, ExitCode.data, { issues: parsed.error.issues });
|
|
40
|
+
}
|
|
41
|
+
return parsed.data;
|
|
42
|
+
}
|
|
43
|
+
function validateRelative(value, label) {
|
|
44
|
+
if (path.isAbsolute(value) ||
|
|
45
|
+
value.split(/[\\/]/u).includes("..") ||
|
|
46
|
+
value.includes("\0")) {
|
|
47
|
+
throw new MillError("INVALID_RUNTIME_PATH", `${label} must be an in-repository relative path.`, ExitCode.configuration, { value });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function validatePathPattern(value, label) {
|
|
51
|
+
const remaining = value.endsWith("/**") ? value.slice(0, -3) : value;
|
|
52
|
+
validateRelative(remaining, label);
|
|
53
|
+
if (/[*?[\]]/u.test(remaining)) {
|
|
54
|
+
throw new MillError("UNSUPPORTED_PATH_PATTERN", `${label} must be exact or use only a trailing /** directory prefix.`, ExitCode.configuration, { value });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function matchesPattern(candidate, pattern) {
|
|
58
|
+
if (pattern.endsWith("/**")) {
|
|
59
|
+
const prefix = pattern.slice(0, -3).replace(/\/$/u, "");
|
|
60
|
+
return candidate === prefix || candidate.startsWith(`${prefix}/`);
|
|
61
|
+
}
|
|
62
|
+
return candidate === pattern;
|
|
63
|
+
}
|
|
64
|
+
function patternsOverlap(first, second) {
|
|
65
|
+
const firstPrefix = first.endsWith("/**");
|
|
66
|
+
const secondPrefix = second.endsWith("/**");
|
|
67
|
+
const firstBase = firstPrefix
|
|
68
|
+
? first.slice(0, -3).replace(/\/$/u, "")
|
|
69
|
+
: first;
|
|
70
|
+
const secondBase = secondPrefix
|
|
71
|
+
? second.slice(0, -3).replace(/\/$/u, "")
|
|
72
|
+
: second;
|
|
73
|
+
if (firstPrefix && secondPrefix) {
|
|
74
|
+
return (firstBase === secondBase ||
|
|
75
|
+
firstBase.startsWith(`${secondBase}/`) ||
|
|
76
|
+
secondBase.startsWith(`${firstBase}/`));
|
|
77
|
+
}
|
|
78
|
+
if (firstPrefix)
|
|
79
|
+
return matchesPattern(secondBase, first);
|
|
80
|
+
if (secondPrefix)
|
|
81
|
+
return matchesPattern(firstBase, second);
|
|
82
|
+
return firstBase === secondBase;
|
|
83
|
+
}
|
|
84
|
+
export async function loadRuntimeInputs(root, taskPath, authorityMode = "authorize") {
|
|
85
|
+
validateRelative(taskPath, "Task path");
|
|
86
|
+
const [configSource, taskSource] = await Promise.all([
|
|
87
|
+
safeReadText(root, "mill.yaml", 512 * 1024),
|
|
88
|
+
safeReadText(root, taskPath, 512 * 1024),
|
|
89
|
+
]);
|
|
90
|
+
const config = parseContract(configSource, millConfigSchema, "mill.yaml");
|
|
91
|
+
const task = parseContract(taskSource, taskPacketSchema, taskPath);
|
|
92
|
+
for (const candidate of [
|
|
93
|
+
...task.contextPaths,
|
|
94
|
+
task.authority.productContract.path,
|
|
95
|
+
task.authority.scenarioSet.path,
|
|
96
|
+
task.authority.policy.path,
|
|
97
|
+
...(task.schemaVersion === "2" ? [task.authority.impactManifest.path] : []),
|
|
98
|
+
...Object.values(config.commands).map((command) => command.cwd),
|
|
99
|
+
...Object.values(config.commands).flatMap((command) => command.controlPaths),
|
|
100
|
+
...(config.verifier?.dependencies?.lockPaths ?? []),
|
|
101
|
+
...(config.verifier?.dependencies === undefined
|
|
102
|
+
? []
|
|
103
|
+
: [config.verifier.dependencies.targetPath]),
|
|
104
|
+
...Object.values(config.commands).flatMap((command) => command.writablePaths ?? []),
|
|
105
|
+
]) {
|
|
106
|
+
validateRelative(candidate.replace(/\/\*\*$/u, ""), "Runtime path");
|
|
107
|
+
}
|
|
108
|
+
for (const candidate of [...task.allowedPaths, ...config.sensitivePaths]) {
|
|
109
|
+
validatePathPattern(candidate, "Runtime path pattern");
|
|
110
|
+
}
|
|
111
|
+
const dependencyTarget = config.verifier?.dependencies?.targetPath;
|
|
112
|
+
if (dependencyTarget !== undefined) {
|
|
113
|
+
for (const command of Object.values(config.commands)) {
|
|
114
|
+
for (const writablePath of command.writablePaths ?? []) {
|
|
115
|
+
if (patternsOverlap(dependencyTarget, writablePath)) {
|
|
116
|
+
throw new MillError("VERIFIER_MOUNT_OVERLAP", "A verifier dependency target cannot overlap a writable scratch mount.", ExitCode.configuration, { dependencyTarget, writablePath });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
for (const commandId of task.commandIds) {
|
|
122
|
+
if (!Object.hasOwn(config.commands, commandId)) {
|
|
123
|
+
throw new MillError("UNKNOWN_COMMAND_ID", `Task selects unknown command ID: ${commandId}`, ExitCode.configuration);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
const selectedControlPaths = task.commandIds.flatMap((commandId) => config.commands[commandId]?.controlPaths ?? []);
|
|
127
|
+
const dependencyLockPaths = config.verifier?.dependencies?.lockPaths ?? [];
|
|
128
|
+
const protectedPaths = [
|
|
129
|
+
"mill.yaml",
|
|
130
|
+
taskPath,
|
|
131
|
+
...Object.values(task.authority).map((reference) => reference.path),
|
|
132
|
+
...task.contextPaths,
|
|
133
|
+
...selectedControlPaths,
|
|
134
|
+
...dependencyLockPaths,
|
|
135
|
+
".gitattributes",
|
|
136
|
+
".gitmodules",
|
|
137
|
+
].filter((candidate, index, values) => values.indexOf(candidate) === index);
|
|
138
|
+
for (const protectedPath of protectedPaths) {
|
|
139
|
+
if (task.allowedPaths.some((pattern) => patternsOverlap(protectedPath, pattern))) {
|
|
140
|
+
throw new MillError("BOUND_INPUT_SCOPE_OVERLAP", `Allowed output scope overlaps a bound runtime input: ${protectedPath}`, ExitCode.configuration);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
for (const reference of Object.values(task.authority)) {
|
|
144
|
+
const source = await safeReadText(root, reference.path, 2 * 1024 * 1024);
|
|
145
|
+
if (textDigest(source) !== reference.digest) {
|
|
146
|
+
throw new MillError("AUTHORITY_DIGEST_MISMATCH", `Authority digest does not match ${reference.path}.`, ExitCode.configuration);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
for (const controlPath of selectedControlPaths) {
|
|
150
|
+
if (!controlPath.endsWith("/**")) {
|
|
151
|
+
await safeReadText(root, controlPath, 2 * 1024 * 1024);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
let continuity;
|
|
155
|
+
if (task.schemaVersion === "2") {
|
|
156
|
+
const [productSource, scenarioSource, impactSource] = await Promise.all([
|
|
157
|
+
safeReadText(root, task.authority.productContract.path, 2 * 1024 * 1024),
|
|
158
|
+
safeReadText(root, task.authority.scenarioSet.path, 2 * 1024 * 1024),
|
|
159
|
+
safeReadText(root, task.authority.impactManifest.path, 2 * 1024 * 1024),
|
|
160
|
+
]);
|
|
161
|
+
const product = parseContract(productSource, productContractSchema, task.authority.productContract.path);
|
|
162
|
+
const scenarios = parseContract(scenarioSource, scenarioSetSchema, task.authority.scenarioSet.path);
|
|
163
|
+
const impact = parseContract(impactSource, impactManifestSchema, task.authority.impactManifest.path);
|
|
164
|
+
const assessment = assessImpactManifest({
|
|
165
|
+
manifest: impact,
|
|
166
|
+
product,
|
|
167
|
+
scenarios,
|
|
168
|
+
authorityMode,
|
|
169
|
+
});
|
|
170
|
+
const blockers = [...assessment.blockers];
|
|
171
|
+
if (impact.riskClass !== task.riskClass) {
|
|
172
|
+
blockers.push("task and impact risk classes differ");
|
|
173
|
+
}
|
|
174
|
+
for (const id of impact.commandIds) {
|
|
175
|
+
if (!task.commandIds.includes(id)) {
|
|
176
|
+
blockers.push(`impact command is absent from task: ${id}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
for (const id of impact.acceptanceIds) {
|
|
180
|
+
if (!task.acceptance.some((acceptance) => acceptance.id === id)) {
|
|
181
|
+
blockers.push(`impact acceptance is absent from task: ${id}`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (!sameMembers(task.acceptance.map((item) => item.id), impact.acceptanceIds)) {
|
|
185
|
+
blockers.push("task acceptance IDs do not exactly match approved impact");
|
|
186
|
+
}
|
|
187
|
+
const productAcceptance = new Map(product.acceptance.map((acceptance) => [acceptance.id, acceptance]));
|
|
188
|
+
const selectedScenarios = scenarios.scenarios.filter((scenario) => impact.scenarioIds.includes(scenario.id));
|
|
189
|
+
for (const acceptance of task.acceptance) {
|
|
190
|
+
const approved = productAcceptance.get(acceptance.id);
|
|
191
|
+
if (approved === undefined)
|
|
192
|
+
continue;
|
|
193
|
+
if (acceptance.statement !== approved.statement) {
|
|
194
|
+
blockers.push(`task acceptance statement differs from product contract: ${acceptance.id}`);
|
|
195
|
+
}
|
|
196
|
+
const linkedScenarios = selectedScenarios.filter((scenario) => scenario.acceptanceRefs.includes(acceptance.id));
|
|
197
|
+
const expectedScenarios = linkedScenarios.map((scenario) => scenario.id);
|
|
198
|
+
if (!sameMembers(acceptance.scenarioIds, expectedScenarios)) {
|
|
199
|
+
blockers.push(`task scenario graph differs from approved impact: ${acceptance.id}`);
|
|
200
|
+
}
|
|
201
|
+
const expectedInvariants = [
|
|
202
|
+
...new Set(linkedScenarios.flatMap((scenario) => scenario.invariantRefs)),
|
|
203
|
+
];
|
|
204
|
+
if (!sameMembers(acceptance.invariantIds, expectedInvariants)) {
|
|
205
|
+
blockers.push(`task invariant graph differs from approved impact: ${acceptance.id}`);
|
|
206
|
+
}
|
|
207
|
+
if (linkedScenarios.length > 0 &&
|
|
208
|
+
acceptance.coverage !==
|
|
209
|
+
scenarioCoverage(linkedScenarios.map((scenario) => scenario.coverage))) {
|
|
210
|
+
blockers.push(`task coverage differs from approved scenario graph: ${acceptance.id}`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (blockers.length > 0) {
|
|
214
|
+
throw new MillError("CONTINUITY_AUTHORITY_BLOCKED", "The approved impact and semantic task authority are inconsistent.", ExitCode.configuration, { blockers: [...new Set(blockers)].sort() });
|
|
215
|
+
}
|
|
216
|
+
continuity = {
|
|
217
|
+
product,
|
|
218
|
+
scenarios,
|
|
219
|
+
impact,
|
|
220
|
+
impactDigest: assessment.manifestDigest,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
config,
|
|
225
|
+
task,
|
|
226
|
+
taskPath,
|
|
227
|
+
taskDigest: canonicalDigest(task),
|
|
228
|
+
configDigest: canonicalDigest(config),
|
|
229
|
+
protectedPaths,
|
|
230
|
+
...(continuity === undefined ? {} : { continuity }),
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
export async function loadMillConfig(root) {
|
|
234
|
+
const source = await safeReadText(root, "mill.yaml", 512 * 1024);
|
|
235
|
+
return parseContract(source, millConfigSchema, "mill.yaml");
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/runtime/inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ExclusiveLease {
|
|
2
|
+
release(): Promise<void>;
|
|
3
|
+
}
|
|
4
|
+
export declare function acquireExclusiveLease(input: {
|
|
5
|
+
path: string;
|
|
6
|
+
activeCode: string;
|
|
7
|
+
activeMessage: string;
|
|
8
|
+
unavailableCode: string;
|
|
9
|
+
unavailableMessage: string;
|
|
10
|
+
}): Promise<ExclusiveLease>;
|
|
11
|
+
//# sourceMappingURL=lease.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lease.d.ts","sourceRoot":"","sources":["../../src/runtime/lease.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,cAAc,CAAC,CAsD1B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { chmod } from "node:fs/promises";
|
|
2
|
+
import { DatabaseSync } from "node:sqlite";
|
|
3
|
+
import { ExitCode, MillError } from "../errors.js";
|
|
4
|
+
export async function acquireExclusiveLease(input) {
|
|
5
|
+
let database;
|
|
6
|
+
try {
|
|
7
|
+
database = new DatabaseSync(input.path, {
|
|
8
|
+
timeout: 0,
|
|
9
|
+
allowExtension: false,
|
|
10
|
+
enableDoubleQuotedStringLiterals: false,
|
|
11
|
+
});
|
|
12
|
+
database.exec(`
|
|
13
|
+
PRAGMA journal_mode = DELETE;
|
|
14
|
+
PRAGMA synchronous = FULL;
|
|
15
|
+
CREATE TABLE IF NOT EXISTS lease_anchor (
|
|
16
|
+
singleton INTEGER PRIMARY KEY CHECK(singleton = 1)
|
|
17
|
+
) STRICT;
|
|
18
|
+
BEGIN EXCLUSIVE;
|
|
19
|
+
`);
|
|
20
|
+
await chmod(input.path, 0o600);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
try {
|
|
24
|
+
database?.close();
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Preserve the acquisition error.
|
|
28
|
+
}
|
|
29
|
+
if (error instanceof Error &&
|
|
30
|
+
"errcode" in error &&
|
|
31
|
+
(error.errcode === 5 || error.errcode === 6)) {
|
|
32
|
+
throw new MillError(input.activeCode, input.activeMessage, ExitCode.temporary);
|
|
33
|
+
}
|
|
34
|
+
throw new MillError(input.unavailableCode, input.unavailableMessage, ExitCode.io, { cause: String(error) });
|
|
35
|
+
}
|
|
36
|
+
let released = false;
|
|
37
|
+
return {
|
|
38
|
+
release() {
|
|
39
|
+
if (released)
|
|
40
|
+
return Promise.resolve();
|
|
41
|
+
released = true;
|
|
42
|
+
try {
|
|
43
|
+
database.exec("ROLLBACK");
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
database.close();
|
|
47
|
+
}
|
|
48
|
+
return Promise.resolve();
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=lease.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lease.js","sourceRoot":"","sources":["../../src/runtime/lease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMnD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAM3C;IACC,IAAI,QAAkC,CAAC;IACvC,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;YACtC,OAAO,EAAE,CAAC;YACV,cAAc,EAAE,KAAK;YACrB,gCAAgC,EAAE,KAAK;SACxC,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC;;;;;;;KAOb,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,QAAQ,EAAE,KAAK,EAAE,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QACD,IACE,KAAK,YAAY,KAAK;YACtB,SAAS,IAAI,KAAK;YAClB,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,EAC5C,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,aAAa,EACnB,QAAQ,CAAC,SAAS,CACnB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,kBAAkB,EACxB,QAAQ,CAAC,EAAE,EACX,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CACzB,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO;QACL,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YACvC,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;oBAAS,CAAC;gBACT,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { reviewResultSchema } from "../contracts/schemas.js";
|
|
2
|
+
import { codexAuthStatus, type ProviderUsage } from "./codex.js";
|
|
3
|
+
import { type ContextManifest } from "./context.js";
|
|
4
|
+
import { type RuntimeInputs } from "./inputs.js";
|
|
5
|
+
import { restoreStateBackup, type PublicRunRecord, type RunRecord } from "./state.js";
|
|
6
|
+
import { type ValidationEvidence } from "./verifier.js";
|
|
7
|
+
export declare function assertRunBindings(root: string, run: RunRecord, inputs: RuntimeInputs): Promise<{
|
|
8
|
+
commit: string;
|
|
9
|
+
tree: string;
|
|
10
|
+
worktree: string;
|
|
11
|
+
manifest: ContextManifest;
|
|
12
|
+
}>;
|
|
13
|
+
export declare function startLocalRun(input: {
|
|
14
|
+
root: string;
|
|
15
|
+
taskPath: string;
|
|
16
|
+
approvalDigest: string;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
run: PublicRunRecord;
|
|
19
|
+
usage: {
|
|
20
|
+
source: string;
|
|
21
|
+
cost: string;
|
|
22
|
+
inputTokens?: number;
|
|
23
|
+
outputTokens?: number;
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
26
|
+
export declare function qualifyBaseline(input: {
|
|
27
|
+
root: string;
|
|
28
|
+
taskPath: string;
|
|
29
|
+
signal?: AbortSignal;
|
|
30
|
+
}): Promise<{
|
|
31
|
+
approvalDigest: string | null;
|
|
32
|
+
evidence: ValidationEvidence;
|
|
33
|
+
}>;
|
|
34
|
+
export declare function verifyRun(input: {
|
|
35
|
+
root: string;
|
|
36
|
+
taskPath: string;
|
|
37
|
+
runId: string;
|
|
38
|
+
}): Promise<{
|
|
39
|
+
run: PublicRunRecord;
|
|
40
|
+
evidence: ValidationEvidence;
|
|
41
|
+
}>;
|
|
42
|
+
export declare function reviewRun(input: {
|
|
43
|
+
root: string;
|
|
44
|
+
taskPath: string;
|
|
45
|
+
runId: string;
|
|
46
|
+
}): Promise<{
|
|
47
|
+
run: PublicRunRecord;
|
|
48
|
+
review: ReturnType<typeof reviewResultSchema.parse>;
|
|
49
|
+
usage: ProviderUsage;
|
|
50
|
+
}>;
|
|
51
|
+
export declare function resumeRun(input: {
|
|
52
|
+
root: string;
|
|
53
|
+
taskPath: string;
|
|
54
|
+
runId: string;
|
|
55
|
+
}): Promise<PublicRunRecord>;
|
|
56
|
+
export declare function cancelRun(input: {
|
|
57
|
+
root: string;
|
|
58
|
+
runId: string;
|
|
59
|
+
}): Promise<PublicRunRecord>;
|
|
60
|
+
export declare function runStatus(input: {
|
|
61
|
+
root: string;
|
|
62
|
+
runId?: string;
|
|
63
|
+
}): Promise<{
|
|
64
|
+
run?: PublicRunRecord;
|
|
65
|
+
interrupted?: boolean;
|
|
66
|
+
reconciliationRequired?: boolean;
|
|
67
|
+
}>;
|
|
68
|
+
export declare function runInventory(input: {
|
|
69
|
+
root: string;
|
|
70
|
+
}): Promise<PublicRunRecord[]>;
|
|
71
|
+
export declare function stateBackup(input: {
|
|
72
|
+
root: string;
|
|
73
|
+
}): Promise<string>;
|
|
74
|
+
export declare function stateRestore(input: {
|
|
75
|
+
root: string;
|
|
76
|
+
backupPath: string;
|
|
77
|
+
}): Promise<Awaited<ReturnType<typeof restoreStateBackup>>>;
|
|
78
|
+
export declare function statePurge(input: {
|
|
79
|
+
root: string;
|
|
80
|
+
confirmation: string;
|
|
81
|
+
}): Promise<void>;
|
|
82
|
+
export declare function supportBundle(input: {
|
|
83
|
+
root: string;
|
|
84
|
+
runId?: string;
|
|
85
|
+
}): Promise<Record<string, unknown>>;
|
|
86
|
+
export { codexAuthStatus };
|
|
87
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/runtime/lifecycle.ts"],"names":[],"mappings":"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"}
|