Sync public tree to d0af060

This commit is contained in:
Michel Paulissen 2026-07-04 16:18:24 +02:00
parent 8c11db913e
commit a77e138a24
6 changed files with 185 additions and 11 deletions

View file

@ -26,16 +26,17 @@ node scripts/resource-metering-contract-smoke.js
node scripts/hostile-input-contract-smoke.js
node scripts/tenant-isolation-contract-smoke.js
node scripts/public-story-contract-smoke.js
if [[ "${DISASMER_CLI_FIRST_PREPARE_PUBLIC_RELEASE:-1}" == "1" ]]; then
node scripts/prepare-public-release-dryrun.js
fi
node scripts/public-release-dryrun-contract-smoke.js
node scripts/public-browser-login-contract-smoke.js
node scripts/self-hosted-coordinator-smoke.js
node scripts/public-local-demo-matrix-smoke.js
scripts/release-source-scan.sh
if [[ "${DISASMER_CLI_FIRST_PREPARE_PUBLIC_RELEASE:-1}" == "1" ]]; then
node scripts/prepare-public-release-dryrun.js
fi
cargo fmt --all --check
cargo test --workspace
cargo build --workspace --bins

View file

@ -165,6 +165,11 @@ expect(
"quota resource-category criteria",
/Hitting a quota produces a clear error[\s\S]*resource category[\s\S]*private abuse heuristics[\s\S]*quota machine errors now extract the resource category/
);
expect(
criteria,
"quota before work criteria",
/Quotas are checked before expensive work starts[\s\S]*workflow spawns now charge `Spawn` before coordinator-side process\/task state is created or queued[\s\S]*debug, artifact-download, and rendezvous metering/
);
expect(
criteria,
"community tier CLI wording criteria",
@ -403,6 +408,16 @@ expect(
"coordinator task events retain placement reasons",
/pub struct TaskCompletionEvent[\s\S]*placement: Option<Placement>[\s\S]*task_placements[\s\S]*event\.placement = self\.task_placements\.remove/
);
expect(
coordinator,
"coordinator workflow spawn metering",
/workflow_limits: ResourceLimits[\s\S]*workflow_meter: ResourceMeter[\s\S]*can_charge\(&self\.workflow_limits, LimitKind::Spawn, 1\)[\s\S]*charge\(&self\.workflow_limits, LimitKind::Spawn, 1\)[\s\S]*charged_spawns/
);
expect(
coordinator,
"coordinator spawn quota before work coverage",
/fn service_checks_spawn_quota_before_process_or_task_work_starts\(\)[\s\S]*workflow_limits = ResourceLimits[\s\S]*LimitKind::Spawn[\s\S]*compile-linux-denied[\s\S]*active_tasks\.contains[\s\S]*active_process\(&ProcessId::from\("vp-denied"\)\)/
);
expect(
coordinator,
"public debug operation audit event",

View file

@ -9,7 +9,10 @@ const path = require("path");
const repo = path.resolve(__dirname, "..");
const temp = fs.mkdtempSync(path.join(os.tmpdir(), "disasmer-cli-install-"));
const installRoot = path.join(temp, "install");
const targetDir = path.join(temp, "target");
const targetDir =
process.env.DISASMER_CLI_INSTALL_CARGO_TARGET_DIR ||
process.env.CARGO_TARGET_DIR ||
path.join(repo, "target");
const project = path.join(repo, "examples/launch-build-demo");
const binName = process.platform === "win32" ? "disasmer.exe" : "disasmer";
const installedBin = path.join(installRoot, "bin", binName);

View file

@ -30,7 +30,7 @@ function criterionLines() {
expect("header", /^# Disasmer MVP Website Acceptance Criteria/m);
expect(
"acceptance-style status",
/\*\*Status:\*\* hosted website addendum to `acceptance_criteria\.md`, `acceptance_criteria_phase2\.md`, and `cli_acceptance_criteria\.md`/
/\*\*Status:\*\* (?:private )?hosted website addendum to `acceptance_criteria\.md`, `acceptance_criteria_phase2\.md`, and `cli_acceptance_criteria\.md`/
);
expect(
"hosted signup exception",
@ -50,7 +50,7 @@ expect(
);
expect(
"future hosted business scope",
/Billing is not part of the MVP\. Paid checkout, paid-plan management, upgrade flows, hosted support tooling, a full hosted admin console, broad moderation workflows/
/Billing is not part of the MVP[\s\S]*Paid checkout, paid-plan management, upgrade flows, hosted support tooling, a full hosted admin console, broad moderation workflows/
);
expect(
"billing is not MVP website work",