Make Eve artifact onboarding one command

This commit is contained in:
Meta Vens 2026-08-18 02:47:34 +02:00
commit d2a7693611
4 changed files with 33 additions and 12 deletions

View file

@ -12,12 +12,12 @@ Eve. It intentionally has one owner for each decision:
Run it from the CultLib repository:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\verify-eve-two-runtime-sample.ps1 `
-EveRoot ..\Eve
pwsh -File ./scripts/verify-eve-two-runtime-sample.ps1 -EveRoot ../Eve
```
The verifier builds package artifacts, installs them into a new empty temporary
consumer, and runs `sample.mjs`. Success proves:
From clean CultLib and Eve checkouts, the verifier installs missing build
dependencies, builds package artifacts, installs them into a new empty
temporary consumer, and runs `sample.mjs`. Success proves:
1. no source-tree import is required by the consumer;
2. the provider surface and receipt pass Eve's generated runtime validators;

View file

@ -1,5 +1,6 @@
param(
[string] $EveRoot = (Join-Path (Split-Path -Parent $PSScriptRoot) "..\Eve")
[string] $EveRoot = (Join-Path (Split-Path -Parent $PSScriptRoot) "..\Eve"),
[switch] $SkipDependencyInstall
)
$ErrorActionPreference = "Stop"
@ -53,6 +54,26 @@ foreach ($packageRoot in $packageRoots) {
}
}
if (-not $SkipDependencyInstall) {
$dependencyRoots = @($cultLibRoot, $eveContractsPackage, $eveBrowserPackage)
foreach ($dependencyRoot in $dependencyRoots) {
$typescript = Join-Path $dependencyRoot "node_modules\typescript\bin\tsc"
if (Test-Path -LiteralPath $typescript -PathType Leaf) {
continue
}
Push-Location $dependencyRoot
try {
& $npmPath ci --no-audit --no-fund
if ($LASTEXITCODE -ne 0) {
throw "Dependency installation failed: $dependencyRoot"
}
}
finally {
Pop-Location
}
}
}
$tempBase = [IO.Path]::GetFullPath([IO.Path]::GetTempPath())
$workRoot = Join-Path $tempBase ("gamecult-eve-two-runtime-" + [guid]::NewGuid().ToString("N"))
$artifactRoot = Join-Path $workRoot "artifacts"

View file

@ -39,8 +39,7 @@ The package-artifact DOM-lowerer/headless checkpoint is executable from CultLib:
```powershell
cd CultLib
powershell -ExecutionPolicy Bypass -File .\scripts\verify-eve-two-runtime-sample.ps1 `
-EveRoot ..\Eve
pwsh -File ./scripts/verify-eve-two-runtime-sample.ps1 -EveRoot ../Eve
```
The verifier builds and packs `cultcache-ts`, `cultnet-ts`, `cultmesh-ts`,
@ -57,8 +56,8 @@ survive reopening the `.cc` store.
Current verification for the Unity consumer remains:
```powershell
cd E:\Projects\EveUnity
powershell -ExecutionPolicy Bypass -File .\scripts\run-release-consumer-tests.ps1
cd ../EveUnity
pwsh -File ./scripts/run-release-consumer-tests.ps1
```
This first checkpoint proves clean package consumption, canonical Eve contract

View file

@ -7,11 +7,12 @@ APIs, name the owner of each decision, and include a verification checkpoint.
Run the current clean-consumer checkpoint first:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\verify-eve-two-runtime-sample.ps1 `
-EveRoot ..\Eve
pwsh -File ./scripts/verify-eve-two-runtime-sample.ps1 -EveRoot ../Eve
```
It installs packed artifacts into an empty temporary project, validates the Eve
From clean CultLib and Eve checkouts, the command installs the package build
dependencies when absent, packs the five TypeScript packages, installs only
those artifacts into an empty temporary project, validates the Eve
surface and receipt, executes one idempotent counter command, proves two local
consumers converge, and reopens the durable `.cc` store. It is deliberately not
called a networked-browser proof; chapter 3 names that remaining boundary.