Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
630b065
clarify raw script semantics and classify surface mismatches
cursoragent Mar 15, 2026
07fecf8
add deterministic bundler library and compatibility scanning
cursoragent Mar 15, 2026
686b2fc
add profile-gated regexp compatibility through runtime init
cursoragent Mar 15, 2026
3692941
add chess.js bundled reuse fixtures and parity tests
cursoragent Mar 15, 2026
95c5b19
fix quickjs submodule pin and docs origin
cursoragent Mar 15, 2026
30a6237
add P13 architecture docs and feature-flag quickjs pin
cursoragent Mar 15, 2026
86057a2
add module-pack builder API and v2 artifact validation scaffolding
cursoragent Mar 15, 2026
82f0a5e
introduce deterministic-builder package and align P14 docs
cursoragent Mar 15, 2026
da7b9df
emit compatibility reports and program artifacts from module-pack bui…
cursoragent Mar 15, 2026
17e3801
accept ProgramArtifact.v2 script mode in evaluate pipeline
cursoragent Mar 15, 2026
a1563c6
add shared execution profile registry and wire runtime checks
cursoragent Mar 15, 2026
737e4fa
add module-pack runtime execution path for ProgramArtifact v2
cursoragent Mar 15, 2026
221b3f7
add module-pack smoke parity fixtures for node and browser
cursoragent Mar 15, 2026
12cf629
add native module-pack fixture assertions with gas and tape
cursoragent Mar 15, 2026
5d9610f
migrate compatibility fixtures to compat-general profile
cursoragent Mar 15, 2026
224c8e9
enable deterministic promise job draining for compat profiles
cursoragent Mar 15, 2026
f3d937b
add async promise and queueMicrotask parity fixtures
cursoragent Mar 15, 2026
b18c858
enable compat-profile console shim through host emit
cursoragent Mar 15, 2026
92284b6
enable compat-profile stable sort with parity fixtures
cursoragent Mar 15, 2026
0540599
add dv2 byte-string codec foundation APIs
cursoragent Mar 15, 2026
9d6f120
add quickjs dv2 codec entrypoints and plan updates
cursoragent Mar 15, 2026
4dabc2b
wire Host.v2 DV2 bytes across runtime boundaries
cursoragent Mar 15, 2026
44e024a
add binary library compatibility fixtures and parity checks
cursoragent Mar 15, 2026
4645fa4
add initial blue-quickjs CLI command suite
cursoragent Mar 16, 2026
4554492
Add source-map remapping and richer CLI diagnostics
cursoragent Mar 16, 2026
c5e2736
Add parity report runner for cross-environment validation
cursoragent Mar 16, 2026
e20bf7e
Extend parity report with gas-delta aware compare modes
cursoragent Mar 16, 2026
73b5e11
Gate native harness tests with parity report snapshots
cursoragent Mar 16, 2026
8c3abf2
Add gas delta baseline enforcement for parity report
cursoragent Mar 16, 2026
929e2e2
Support strict parity checks with gas delta baseline normalization
cursoragent Mar 16, 2026
beb697f
Add gas trace delta diagnostics to parity report
cursoragent Mar 16, 2026
c390ddd
Summarize gas trace deltas in parity reports
cursoragent Mar 16, 2026
e387cf7
Add parity-eval mode for native script parity checks
cursoragent Mar 16, 2026
d3ee621
Normalize deterministic allocator model and refresh gas baselines
cursoragent Mar 16, 2026
e710f8f
Add traced versus residual gas delta analysis
cursoragent Mar 16, 2026
88aa845
Break down allocation and residual gas drift in reports
cursoragent Mar 16, 2026
fc1bfd0
Remove duplicate pre-eval GC checkpoint in harness main
cursoragent Mar 16, 2026
ac79e9e
Add residual signature and profile analytics to parity reports
cursoragent Mar 16, 2026
d4bbbb6
Align parity gas tracing across runtimes
cursoragent Mar 16, 2026
ff1cb94
Reduce cross-runtime allocation gas delta drift
cursoragent Mar 16, 2026
72a1668
Further reduce cross-runtime gas delta maxima
cursoragent Mar 16, 2026
1167cad
docs: define strict gas parity release policy
cursoragent Mar 16, 2026
ce74575
feat: add gasVersion pins and generated gas spec docs
cursoragent Mar 16, 2026
3428598
chore: bump quickjs submodule gas version
cursoragent Mar 16, 2026
9a61f69
feat: add gas charge tape diagnostics to parity tooling
cursoragent Mar 16, 2026
43a9537
feat: expose requested vs charged allocation tracing
cursoragent Mar 16, 2026
68a73c2
test: assert allocationRequestedBytes in gas trace
cursoragent Mar 16, 2026
fc31270
feat: switch to canonical allocation gas baselines
cursoragent Mar 16, 2026
a31fc35
feat: add configurable high-capacity charge tape diagnostics
cursoragent Mar 16, 2026
61e49d1
chore: refresh gas baselines after allocation class rollout
cursoragent Mar 16, 2026
6b20d37
feat: extend canonical allocation coverage and refresh gas baselines
cursoragent Mar 16, 2026
c16f651
chore: bump gas spec to v5 and refresh parity baselines
cursoragent Mar 16, 2026
fb11424
chore: bump gas schedule v6 and refresh parity baselines
cursoragent Mar 16, 2026
7e33a28
chore: refresh gas baselines for expanded unknown-allocation floor
cursoragent Mar 16, 2026
8a64f22
feat: add charge-tape per-site delta hotspot summaries
cursoragent Mar 16, 2026
2990741
Tune deterministic gas model and refresh baselines
cursoragent Mar 16, 2026
15232ee
Adopt gas schedule v8 and refresh strict parity baselines
cursoragent Mar 16, 2026
82ff85c
Expand gas-equivalence subsystem boundary fixtures
cursoragent Mar 16, 2026
ff75cd1
Add exact OOG boundary search gas fixture tests
cursoragent Mar 16, 2026
14a6fe1
Gate harness parity tests on raw strict match
cursoragent Mar 16, 2026
2a3cc0c
Mark strict parity gate progress in implementation plan
cursoragent Mar 16, 2026
031d9eb
Add browser-node OOG boundary parity checks
cursoragent Mar 16, 2026
be4dbfd
Document consensus OOG boundary parity coverage
cursoragent Mar 16, 2026
c1e78e3
Expand OOG boundary parity checks to full gas corpus
cursoragent Mar 16, 2026
0be4de4
Document boundary parity checks in release checklist
cursoragent Mar 16, 2026
9004833
Mark strict parity gate complete in implementation plan
cursoragent Mar 16, 2026
2a3ae08
Add signed reproducibility report archival helper
cursoragent Mar 16, 2026
bbb0245
Archive strict parity report artifacts in release workflow
cursoragent Mar 16, 2026
d094dfe
Enforce strict parity checks in release workflow
cursoragent Mar 16, 2026
becc62e
Add expected execution profile pin validation
cursoragent Mar 16, 2026
2b06941
Require expected execution profile in release mode
cursoragent Mar 16, 2026
215b933
Harden release workflow strict parity gate coverage
cursoragent Mar 16, 2026
8abbdb6
docs: reconcile runtime/profile state wording
cursoragent Mar 16, 2026
22d6f5f
release: make native parity checks diagnostic by default
cursoragent Mar 16, 2026
3eb63d2
fix: use UTF-8 byte ordering for module-pack hashing
cursoragent Mar 16, 2026
88166c1
fix: enforce canonical dependencyIntegrity format
cursoragent Mar 16, 2026
54e6cf9
ci: add consensus reproducibility report and gas-spec checks
cursoragent Mar 16, 2026
2019e69
examples: scaffold corpus map and add module-pack demos
cursoragent Mar 16, 2026
750a73c
feat: add CLI parity and reproducibility helper commands
cursoragent Mar 16, 2026
2fb9505
examples: add standalone source corpus and coverage checks
cursoragent Mar 16, 2026
24f20b4
fix: stabilize typecheck and native parity baselines
cursoragent Mar 16, 2026
16473a7
docs: add release readiness evidence report
cursoragent Mar 16, 2026
57a0444
chore: unblock full lint matrix and refresh evidence report
cursoragent Mar 17, 2026
f6ecc80
docs: link examples and readiness report from README
cursoragent Mar 17, 2026
0f01e68
feat: add canonical example corpus fixture mapping
cursoragent Mar 17, 2026
1b3b8f8
test: add smoke-web example corpus coverage gate
cursoragent Mar 17, 2026
f0c542f
ci: upload consensus signature sidecar artifacts
cursoragent Mar 18, 2026
dac4e82
docs: add workload certification phase plan
cursoragent Mar 18, 2026
3a55a44
feat: scaffold ecosystem certifier app and runners
cursoragent Mar 18, 2026
d7bc044
chore: ignore playwright test output artifacts
cursoragent Mar 18, 2026
15baba0
feat: add downstream tarball consumer proof workflow
cursoragent Mar 18, 2026
379b5d8
feat: expand ecosystem compatibility matrix corpus
cursoragent Mar 18, 2026
7e78c0d
ci: integrate workload certification docs and workflows
cursoragent Mar 18, 2026
e571eb6
feat: add OOG and repeatability certification harnesses
cursoragent Mar 18, 2026
90f6771
feat: add optional native diagnostic in consumer repro
cursoragent Mar 18, 2026
8acbe8b
ci: compare builder determinism matrix artifacts
cursoragent Mar 18, 2026
f131875
feat: add shared certifier parity and soak helpers
cursoragent Mar 18, 2026
9780ded
test: add certifier e2e coverage for parity boundaries
cursoragent Mar 18, 2026
af82054
test: add flagship parity and fixture catalog modules
cursoragent Mar 18, 2026
f6d5526
docs: convert README to release landing and add freshness checks
cursoragent Mar 18, 2026
7152763
feat: generate verifiable release evidence and harden certification m…
cursoragent Mar 18, 2026
d10d218
docs: add governance, provenance, and operator guides
cursoragent Mar 18, 2026
1dba9fe
feat: expand workload certification depth and soak coverage
cursoragent Mar 19, 2026
0fa2ef5
docs: add guided learning path
cursoragent Mar 21, 2026
bf33c32
feat: add evidence-backed playground
cursoragent Mar 21, 2026
2b2b0c6
chore: tighten release polish checks
cursoragent Mar 21, 2026
ca2d984
fix: smooth playground local startup
cursoragent Mar 21, 2026
9e51eaa
fix: harden mac emsdk setup
Mar 21, 2026
91539c4
fix: prefer host python for emsdk
Mar 21, 2026
1d0a074
fix: avoid conda python in emsdk setup
Mar 21, 2026
eed0ee8
fix: auto-init quickjs submodule
Mar 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 33 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,24 @@ jobs:

- run: pnpm install --frozen-lockfile

- name: Validate docs links
run: pnpm docs:check-links

- name: Validate learning-path docs structure
run: pnpm docs:verify-learning-path

- name: Run release evidence unit tests
run: pnpm release-evidence:test

- name: Validate README quickstart script wiring
run: node tools/release-evidence/verify-readme-quickstart.mjs --skip-install --skip-emsdk-setup --skip-smoke-tests --skip-browser-tasks --skip-evidence

- name: Install emsdk (pinned 3.1.56)
run: bash tools/scripts/setup-emsdk.sh

- name: Verify generated gas schedule docs are in sync
run: node tools/gas-spec/render-gas-artifacts.mjs --check

- name: Reset Nx state (just in case)
run: pnpm exec nx reset

Expand All @@ -57,8 +72,24 @@ jobs:
# - run: pnpm exec nx-cloud record -- echo Hello World
- run: pnpm exec nx affected -t lint test build typecheck

- name: Install Playwright browsers (Chromium)
run: pnpm exec playwright install --with-deps chromium
- name: Verify generated playground data is fresh
run: pnpm playground:check-generated

- name: Install Playwright browsers (Chromium + Firefox)
run: pnpm exec playwright install --with-deps chromium firefox

- name: Run smoke-web e2e
run: pnpm nx run smoke-web:e2e

- name: Run ecosystem certifier e2e
run: pnpm nx run ecosystem-certifier:e2e

- name: Run BlueQuickjs playground e2e
run: pnpm nx run bluequickjs-playground:e2e

- name: Generate workload certification sanity artifacts
run: |
node apps/ecosystem-certifier/scripts/check-builder-determinism.mjs --out-dir artifacts/workload-certification-ci
node apps/ecosystem-certifier/scripts/archive-workload-certification-report.mjs --out-dir artifacts/workload-certification-ci
node apps/ecosystem-certifier/scripts/run-oog-boundary-certification.mjs --out-dir artifacts/workload-certification-ci --fixtures green-semver,green-markdown-it
node apps/ecosystem-certifier/scripts/run-seeded-property-corpus.mjs --out-dir artifacts/workload-certification-ci --seed-count 12
191 changes: 190 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
release:
name: Release
runs-on: ubuntu-latest
timeout-minutes: 10
timeout-minutes: 45
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand Down Expand Up @@ -51,9 +51,153 @@ jobs:
- name: Install emsdk (pinned 3.1.56)
run: bash tools/scripts/setup-emsdk.sh

- name: Verify generated gas schedule docs are in sync
run: node tools/gas-spec/render-gas-artifacts.mjs --check

- name: Verify learning-path docs
run: |
pnpm docs:verify-learning-path

- name: Generate SBOM and dependency license reports
run: |
pnpm release-evidence:sbom -- --out-dir artifacts/security
pnpm release-evidence:licenses -- --out-dir artifacts/security

- name: Install Playwright browsers (Chromium + Firefox)
run: pnpm exec playwright install --with-deps chromium firefox

- name: Print Environment Info
run: pnpm exec nx report

- name: Run strict parity release gates (consensus executors)
run: |
pnpm nx test quickjs-runtime
pnpm nx test smoke-node
pnpm nx test test-harness
pnpm nx test bluequickjs-playground
pnpm nx run smoke-web:e2e
pnpm nx test ecosystem-certifier
pnpm nx run ecosystem-certifier:e2e
pnpm nx run bluequickjs-playground:e2e

- name: Generate consensus reproducibility report artifacts (Chromium + Firefox)
run: |
node tools/consensus-parity/scripts/archive-consensus-reproducibility-report.mjs --out-dir artifacts/reproducibility-consensus/chromium --browser chromium
node tools/consensus-parity/scripts/archive-consensus-reproducibility-report.mjs --out-dir artifacts/reproducibility-consensus/firefox --browser firefox

- name: Generate workload certification artifacts
run: |
node apps/ecosystem-certifier/scripts/check-builder-determinism.mjs --out-dir artifacts/workload-certification
node apps/ecosystem-certifier/scripts/archive-workload-certification-report.mjs --out-dir artifacts/workload-certification
node apps/ecosystem-certifier/scripts/generate-compatibility-delta-report.mjs --current-dir artifacts/workload-certification --out-dir artifacts/workload-certification
node apps/ecosystem-certifier/scripts/run-oog-boundary-certification.mjs --out-dir artifacts/workload-certification
node apps/ecosystem-certifier/scripts/run-seeded-property-corpus.mjs --out-dir artifacts/workload-certification --seed-count 80
node apps/ecosystem-certifier/scripts/run-repeatability-certification.mjs --out-dir artifacts/workload-certification --iterations 100 --flagship-iterations 40

- name: Validate public package release alignment
run: |
pnpm workload:check-public-package-versions
pnpm workload:check-pack-manifests -- --out-dir artifacts/consumer-proof/pack-manifests

- name: Run Verdaccio publish/install rehearsal (primary)
run: pnpm publish-rehearsal:verdaccio -- --out-dir artifacts/consumer-proof/verdaccio

- name: Generate downstream tarball reproducibility artifacts (secondary)
run: |
node tools/workload-certification/pack-public-tarballs.mjs --out-dir artifacts/consumer-proof/tarballs
pnpm --dir e2e/consumer-proof-app run install:tarballs -- --tarball-dir ../../artifacts/consumer-proof/tarballs
pnpm --dir e2e/consumer-proof-app exec playwright install --with-deps chromium
pnpm --dir e2e/consumer-proof-app run repro

- name: Run native diagnostics (non-blocking)
continue-on-error: true
run: |
pnpm nx build quickjs-native-harness
pnpm nx test quickjs-native-harness

- name: Generate native diagnostic reproducibility report artifact (non-blocking)
continue-on-error: true
run: node tools/quickjs-native-harness/scripts/archive-reproducibility-report.mjs

- name: Synthesize release evidence bundle
run: pnpm release-evidence:synthesize -- --out-dir artifacts/release-evidence

- name: Validate generated release evidence and docs freshness
run: |
EXPECTED_DATE=$(node -e "const fs=require('fs');console.log(JSON.parse(fs.readFileSync('artifacts/release-evidence/release-evidence-manifest.json','utf8')).date)")
pnpm docs:check-links
pnpm docs:verify-learning-path
pnpm docs:check-freshness -- --expected-branch "${GITHUB_REF_NAME}" --expected-date "${EXPECTED_DATE}"
pnpm playground:check-generated
pnpm release-evidence:synthesize -- --out-dir artifacts/release-evidence --check
pnpm release-evidence:verify -- --evidence-dir artifacts/release-evidence --expected-branch "${GITHUB_REF_NAME}" --expected-date "${EXPECTED_DATE}"

- name: Upload reproducibility artifacts
uses: actions/upload-artifact@v4
with:
name: consensus-reproducibility-report
path: |
artifacts/reproducibility-consensus/**/*.json*
artifacts/reproducibility-consensus/**/*.md*
artifacts/reproducibility-consensus/**/*.sig
if-no-files-found: error

- name: Upload native diagnostic reproducibility artifacts
uses: actions/upload-artifact@v4
with:
name: native-diagnostic-reproducibility-report
path: |
artifacts/reproducibility/*.json*
artifacts/reproducibility/*.md*
artifacts/reproducibility/*.sig
if-no-files-found: warn

- name: Upload workload certification artifacts
uses: actions/upload-artifact@v4
with:
name: workload-certification-artifacts
path: artifacts/workload-certification/*
if-no-files-found: error

- name: Upload consumer-proof artifacts
uses: actions/upload-artifact@v4
with:
name: consumer-proof-artifacts
path: |
artifacts/consumer-proof/tarballs/tarball-manifest.json
artifacts/consumer-proof/pack-manifests/pack-manifest.json
artifacts/consumer-proof/verdaccio/*.json
artifacts/consumer-proof/verdaccio/*.log
e2e/consumer-proof-app/reports/*.json*
if-no-files-found: error

- name: Upload release evidence bundle
uses: actions/upload-artifact@v4
with:
name: release-evidence-bundle
path: |
artifacts/release-evidence/release-evidence-summary.json
artifacts/release-evidence/release-evidence-summary.json.sha256
artifacts/release-evidence/release-evidence-summary.json.sig
artifacts/release-evidence/release-evidence-summary.md
artifacts/release-evidence/release-evidence-summary.md.sha256
artifacts/release-evidence/release-evidence-summary.md.sig
artifacts/release-evidence/release-evidence-manifest.json
artifacts/release-evidence/release-evidence-manifest.json.sha256
artifacts/release-evidence/release-evidence-manifest.json.sig
artifacts/release-evidence/inputs/*
if-no-files-found: error

- name: Upload security artifacts
uses: actions/upload-artifact@v4
with:
name: release-security-artifacts
path: |
artifacts/security/sbom.cdx.json
artifacts/security/license-report.json
artifacts/security/license-report.md
if-no-files-found: error

- name: Configure Git
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
Expand All @@ -63,3 +207,48 @@ jobs:
- name: Release
run: pnpm exec nx release --skip-publish --first-release
shell: bash

verify-release-evidence:
name: Verify release evidence bundle
runs-on: ubuntu-latest
needs:
- release
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive

- uses: pnpm/action-setup@v4
with:
version: 9.8.0
run_install: false

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Download release evidence bundle
uses: actions/download-artifact@v4
with:
name: release-evidence-bundle
path: artifacts/release-evidence

- name: Verify evidence checksums and signatures
run: |
EXPECTED_DATE=$(node -e "const fs=require('fs');console.log(JSON.parse(fs.readFileSync('artifacts/release-evidence/release-evidence-manifest.json','utf8')).date)")
pnpm release-evidence:verify -- --evidence-dir artifacts/release-evidence --expected-branch "${GITHUB_REF_NAME}" --expected-date "${EXPECTED_DATE}"

- name: Assert tamper detection fails verification
run: |
cp -R artifacts/release-evidence artifacts/release-evidence-tampered
node -e "const fs=require('fs');fs.appendFileSync('artifacts/release-evidence-tampered/inputs/consumer-reproducibility.json','\n')"
EXPECTED_DATE=$(node -e "const fs=require('fs');console.log(JSON.parse(fs.readFileSync('artifacts/release-evidence-tampered/release-evidence-manifest.json','utf8')).date)")
if pnpm release-evidence:verify -- --evidence-dir artifacts/release-evidence-tampered --expected-branch "${GITHUB_REF_NAME}" --expected-date "${EXPECTED_DATE}"; then
echo "tamper verification unexpectedly passed"
exit 1
fi
Loading
Loading