diff --git a/CHANGELOG.md b/CHANGELOG.md index cc756aa..f215b45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ All notable changes are documented here. RealDone follows semantic versioning wh - Hosted main run `30195945498` passed and signed all 15 normative gates across Linux, Windows and macOS for the Phase I fingerprint and installed-package path. - Hosted main run `30200299159` passed and signed all 15 normative gates across Linux, Windows and macOS for the Phase J fingerprint; both aggregate artifacts verified against merge `6d736d5`. - Hosted main run `30203185815` passed and signed all 15 normative gates across Linux, Windows and macOS for the Phase K fingerprint; both aggregate artifacts verified against merge `ca9e9db`. +- Hosted main run `30206231697` passed and signed all 15 normative gates on the first attempt across Linux, Windows and macOS for the Phase L fingerprint; both aggregate artifacts verified against merge `badd3a9`. ### Fixed diff --git a/docs/COMPATIBILITY.md b/docs/COMPATIBILITY.md index 2d8eb6a..11710e1 100644 --- a/docs/COMPATIBILITY.md +++ b/docs/COMPATIBILITY.md @@ -10,7 +10,7 @@ Phase J fingerprint `0b39d542…` repeated the matrix in hosted main run [`30200 Phase K fingerprint `4625a9cc…` repeated the matrix in hosted main run [`30203185815`](https://github.com/datzle123/RealDone/actions/runs/30203185815). All 15 gates passed after one Windows Node 22 managed-runtime startup retry, GitHub signed both aggregate artifacts for merge `ca9e9db`, and `gh attestation verify` accepted their provenance. -The Phase L candidate adds optional `ManagedScanRequest.runtimeStartupTimeoutMs`, CLI `--runtime-startup-timeout`, and MCP `scan.runtimeStartupTimeoutMs` controls. Existing API callers remain source-compatible because the request field is optional; CLI/MCP defaults change only the managed-runtime health wait and do not alter report schema or already-running URL scans. Cross-platform hosted qualification is pending. +Phase L fingerprint `3663ff0c…` adds optional `ManagedScanRequest.runtimeStartupTimeoutMs`, CLI `--runtime-startup-timeout`, and MCP `scan.runtimeStartupTimeoutMs` controls. Existing API callers remain source-compatible because the request field is optional; CLI/MCP defaults change only the managed-runtime health wait and do not alter report schema or already-running URL scans. Hosted main run [`30206231697`](https://github.com/datzle123/RealDone/actions/runs/30206231697) passed 15/15 on its first attempt across Linux, Windows and macOS; GitHub signed both artifacts for merge `badd3a9`. | Surface | Release gate | | --- | --- | diff --git a/docs/PRODUCT_STATUS.md b/docs/PRODUCT_STATUS.md index ed20118..0e9701f 100644 --- a/docs/PRODUCT_STATUS.md +++ b/docs/PRODUCT_STATUS.md @@ -3,7 +3,7 @@ **Snapshot:** 2026-07-26 **Released full product:** **IMPLEMENTED in `v1.3.3`** **Latest release qualification:** hosted run `30189340006` passed and signed all 15 gates for the versioned source commit and installed-package path. -**Latest main qualification:** hosted run [`30203185815`](https://github.com/datzle123/RealDone/actions/runs/30203185815) passed and signed all 15 gates for Phase K merge `ca9e9db` and fingerprint `4625a9cc…`; `gh attestation verify` accepted both aggregate artifacts. +**Latest main qualification:** hosted run [`30206231697`](https://github.com/datzle123/RealDone/actions/runs/30206231697) passed and signed all 15 gates on its first attempt for Phase L merge `badd3a9` and fingerprint `3663ff0c…`; `gh attestation verify` accepted both aggregate artifacts. **Area coverage:** **22/22 `IMPLEMENTED`**, **0/22 `PARTIAL`**, **0/22 `PLANNED`**. Detector catalog: **58/58 production-classified and gated**. This file reports current evidence against the normative [`PRODUCT_SPECIFICATION.md`](PRODUCT_SPECIFICATION.md). It does not reduce that specification. `IMPLEMENTED` requires executable evidence; `PARTIAL` means useful code exists but the full normative behavior or release gate does not. @@ -16,7 +16,7 @@ Phase J is complete on `main`: scan and contract/MCP traces are inspected immedi Phase K is complete on `main` at fingerprint `4625a9cc…`: automatic standalone/trace screenshots and browser videos are suppressed before capture whenever the action has a known sensitive field or the context uses auth state; contract trace screenshots/videos are suppressed for `secretEnv` or authenticated contexts. Safe unauthenticated controls still retain visual evidence, and reports use additive value-free `visualSuppressions` metadata. Fresh TodoMVC, Actual Budget, Conduit SQLite/PostgreSQL + Supabase and Pocket Ledger/Codex runs are bound to this fingerprint. Local check (142 pass, 2 service-dependent skips), audit, full Chromium smoke, pack and installed-tarball smoke passed. PR run `30202575079` and main run `30203185815` passed 15/15 across Linux, macOS and Windows; the Windows Node 22 managed-runtime smoke needed one retry in each run, and the main aggregate was signed for merge `ca9e9db`. -Phase L is the current unreleased runtime-readiness candidate at fingerprint `3663ff0c…`: CLI/MCP managed startup now has a dedicated bounded timeout (30 seconds by default) instead of sharing the 10-second page-render budget, accepts an explicit override, and reports redacted process state, PID and restart counts on failure. The MCP browser smoke uses a dynamic port and an intentionally delayed app: a 1-second broken case times out and cleans up, while the default control starts, scans and stops successfully. Local check (144 pass, 2 service-dependent skips), audit, full Chromium smoke, pack and installed-tarball smoke passed. Fresh SHA-256-bound TodoMVC, Actual Budget, Conduit SQLite/PostgreSQL + Supabase, PostgreSQL CRUD cleanup, Pocket Ledger Level 7 and Codex RD901 regression/repair evidence all validate with a clean artifact secret scan. Hosted cross-platform and signed aggregate qualification remain pending. +Phase L is complete on `main` at fingerprint `3663ff0c…`: CLI/MCP managed startup has a dedicated bounded timeout (30 seconds by default) instead of sharing the 10-second page-render budget, accepts an explicit override, and reports redacted process state, PID and restart counts on failure. The MCP browser smoke uses a dynamic port and an intentionally delayed app: a 1-second broken case times out and cleans up, while the default control starts, scans and stops successfully. Local check (144 pass, 2 service-dependent skips), audit, full Chromium smoke, pack and installed-tarball smoke passed. Fresh SHA-256-bound TodoMVC, Actual Budget, Conduit SQLite/PostgreSQL + Supabase, PostgreSQL CRUD cleanup, Pocket Ledger Level 7 and Codex RD901 regression/repair evidence validate with a clean artifact secret scan. PR run `30205895718` and main run `30206231697` passed 15/15 on the first attempt across Linux, macOS and Windows; GitHub signed the main aggregate for merge `badd3a9`. | Specification area | Status | Evidence currently in the repository | Remaining normative gap | | --- | --- | --- | --- | @@ -25,7 +25,7 @@ Phase L is the current unreleased runtime-readiness candidate at fingerprint `36 | §4 Record and verify | IMPLEMENTED | bounded semantic recording and deterministic verification for navigation, click/fill/select/check/keypress/upload/rich-text/drag, popup/download outcomes, masked rrweb, env-only secrets/files and non-ordinal locator fallbacks | Widget-specific adapters may extend recording without changing the implemented contract | | §4 Baseline/regression | IMPLEMENTED | baseline, affected-flow selection, first-class `EXPECTED_CHANGE`/`REGRESSION` outcomes, RD901–RD905 classification, CI diff and Playwright export | Additional domain-specific diff adapters may extend the implemented contract | | §4 Coding-agent verification | IMPLEMENTED | shared-core MCP tools retain workspace/action confinement, sealed contracts/baselines, final post-build attribution and fail-closed affected selection; authenticated Codex Desktop `0.143.0` produced a green baseline, selected 1 real RD901 regression, repaired the app without changing the contract, then selected 1 flow with 0 regressions; SHA-256-bound cycle artifacts are parsed by the release validator | New agent clients must preserve the implemented evidence boundary; agent prose is never verification evidence | -| §6 Project Discovery/Runtime Manager | IMPLEMENTED | `init` profiles single-package/monorepo projects; npm fallback without lock metadata; project-local Python virtual environments; zero-config static HTML plus conventional Node, Django/FastAPI/Flask, Laravel/PHP, Rails, ASP.NET Core, Spring Boot, Deno, Go and Rust managed runtimes; occupied-port rejection, development/production/Docker health-checks, dedicated configurable startup timeout, redacted process diagnostics, bounded restarts and process cleanup; installed-tarball scans start, verify and stop metadata-free static and npm projects in hosted run `29977292441` | Phase L must repeat full cross-platform and package evidence before its candidate becomes complete; custom runtimes may still use an explicit HTTP URL | +| §6 Project Discovery/Runtime Manager | IMPLEMENTED | `init` profiles single-package/monorepo projects; npm fallback without lock metadata; project-local Python virtual environments; zero-config static HTML plus conventional Node, Django/FastAPI/Flask, Laravel/PHP, Rails, ASP.NET Core, Spring Boot, Deno, Go and Rust managed runtimes; occupied-port rejection, development/production/Docker health-checks, dedicated configurable startup timeout, redacted process diagnostics, bounded restarts and process cleanup; delayed managed startup passed hosted Windows/macOS/Linux package/browser gates in run `30206231697` | Custom runtimes may use an explicit HTTP URL; future runtime changes must preserve the cross-platform broken/control and cleanup gate | | §7 Environment Health Gate | IMPLEMENTED | main/route document, critical asset/content-type, bootstrap/render, health-endpoint and auth-state checks; separate `environment.json`; broken/control fixtures and TodoMVC defect copy | Additional ecosystem-specific diagnostics may be added without changing the implemented fail-closed contract | | §8–11 Discovery, classification, data, executor | IMPLEMENTED | forms/links/buttons/native controls, Enter, hover/context, lazy-scroll, popup/download, opt-in same-origin iframe, complex-action recording boundaries, constraint-aware canaries, network-idle/stale/retry safety, and budget selection that avoids route/semantic starvation and known-denial budget waste | Framework-specific discovery adapters may broaden coverage without changing the implemented safe-execution contract | | §12–13 Evidence and snapshots | IMPLEMENTED | URL, redacted semantic DOM/control hashes, cookie hashes, local/session storage, bounded IndexedDB metadata, request/response, WebSocket frames, console/page error, upload/download digests, screenshots, trace/video/timeline, value-free source diffs, and redacted automatic provider evidence/artifacts; every retained browser/contract trace passes bounded ZIP inspection against generated sensitive fields, `secretEnv`, opaque auth-state cookies/tokens and generic credential patterns before linkage, while unsafe/unscannable traces are deleted; screenshots/videos are not created for known-sensitive or authenticated contexts and both policies emit only value-free suppression metadata; reproductions retain value-free provider requirements and replay requires fresh exact causal confirmation | New evidence adapters must preserve the implemented redaction, retention, linkage and replay contract | @@ -39,10 +39,10 @@ Phase L is the current unreleased runtime-readiness candidate at fingerprint `36 | §24 Multi-role | IMPLEMENTED | isolated role storage states, UI visibility, Level 7 cross-role observation, API denial, direct route, cross-tenant read/write, revoked-role and invalidated-session probes | Application-specific role provisioning remains user configuration, not a missing verification capability | | §25 Safety | IMPLEMENTED | interactive scans require one explicit project-level action consent and non-interactive CLI/MCP execution fails closed without `--yes`/user-owned server authorization; host/destructive/external opt-ins, form/endpoint/provider classification, file/cross-origin/popup boundaries, live pre-execution escalation, redaction, cleanup, read-only adapters, production guards, immediate fail-closed trace retention, pre-capture screenshot/video suppression and the aggregate artifact secret gate remain independent | New action/provider/artifact classes must preserve the implemented consent and least-authority boundaries | | §26 Benchmark | IMPLEMENTED | precision, recall, FPR, discovery, expectation coverage, verdict/detector accuracy, replay, truncation, environment validity and confirmed cleanup success are machine-readable and release-gated | Future metrics must remain additive and deterministic | -| §27 Real-world cases | IMPLEMENTED | current main fingerprint `4625a9cc…` has fresh repository-bound scans for TodoMVC, Actual Budget, Conduit/SQLite, Conduit/PostgreSQL 17 + Supabase Data API and Codex-generated Pocket Ledger; all nine normative capability classes have semantic validator-parsed evidence, including PostgreSQL CRUD cleanup, upload/export, Level 7 roles, multi-step and agent repair; signed hosted run `30203185815` passed Windows/macOS/Linux | Future engine fingerprints must repeat the hosted signed qualification | -| §28–31 Engineering/release/performance/UX | IMPLEMENTED | published npm package with registry-smoked `npx realdone scan`; installed-tarball first-scan gates start, verify and clean up metadata-free static and npm projects; one-command managed scan with bounded first-use browser bootstrap; CI, license/audit/package gates, quick/full budgets, coverage-balanced selection, bounded workers, final post-build affected-flow selection, trace-on-failure, snapshot dedup, environment/artifact/schema/raw-case gates and GitHub artifact-attestation workflow; main run `30203185815` passed hosted 15/15 across Windows/macOS/Linux, Node 20/22, PostgreSQL 17, MongoDB 8 and package smoke | Future releases must preserve the same release gates | -| §32 Full-product definition | IMPLEMENTED | all 22 product areas are `IMPLEMENTED`; current main fingerprint `4625a9cc…` passed the complete matrix, installed-package smoke and all 15 hosted gates with verified signed GitHub provenance in run `30203185815`; released `v1.3.3` retains its independent run `30189340006` | Future scope additions must add production behavior and executable gates before retaining this status | +| §27 Real-world cases | IMPLEMENTED | current main fingerprint `3663ff0c…` has fresh repository-bound scans for TodoMVC, Actual Budget, Conduit/SQLite, Conduit/PostgreSQL 17 + Supabase Data API and Codex-generated Pocket Ledger; all nine normative capability classes have semantic validator-parsed evidence, including PostgreSQL CRUD cleanup, upload/export, Level 7 roles, multi-step and agent repair; signed hosted run `30206231697` passed Windows/macOS/Linux | Future engine fingerprints must repeat the hosted signed qualification | +| §28–31 Engineering/release/performance/UX | IMPLEMENTED | published npm package with registry-smoked `npx realdone scan`; installed-tarball first-scan gates start, verify and clean up metadata-free static and npm projects; one-command managed scan with bounded first-use browser bootstrap; CI, license/audit/package gates, quick/full budgets, coverage-balanced selection, bounded workers, final post-build affected-flow selection, trace-on-failure, snapshot dedup, environment/artifact/schema/raw-case gates and GitHub artifact-attestation workflow; main run `30206231697` passed hosted 15/15 on the first attempt across Windows/macOS/Linux, Node 20/22, PostgreSQL 17, MongoDB 8 and package smoke | Future releases must preserve the same release gates | +| §32 Full-product definition | IMPLEMENTED | all 22 product areas are `IMPLEMENTED`; current main fingerprint `3663ff0c…` passed the complete matrix, installed-package smoke and all 15 hosted gates with verified signed GitHub provenance in run `30206231697`; released `v1.3.3` retains its independent run `30189340006` | Future scope additions must add production behavior and executable gates before retaining this status | ## Truthful release wording -`v1.3.0` is the first release qualified against the complete specification. `v1.3.2` added hosted cross-platform installed-package evidence for universal first-run discovery. `v1.3.3` releases fingerprint `68d4a8cb…` with the refreshed real-project qualification and signed hosted run `30189340006`. Unreleased main fingerprint `4625a9cc…` independently passed signed hosted run `30203185815`; that does not retroactively change the npm package. Earlier releases remain real tested increments, but do not retroactively carry later qualification. Future release notes must link this status page and identify the hosted signed run for their fingerprint and package path. +`v1.3.0` is the first release qualified against the complete specification. `v1.3.2` added hosted cross-platform installed-package evidence for universal first-run discovery. `v1.3.3` releases fingerprint `68d4a8cb…` with the refreshed real-project qualification and signed hosted run `30189340006`. Unreleased main fingerprint `3663ff0c…` independently passed signed hosted run `30206231697`; that does not retroactively change the npm package. Earlier releases remain real tested increments, but do not retroactively carry later qualification. Future release notes must link this status page and identify the hosted signed run for their fingerprint and package path. diff --git a/docs/REAL_WORLD_VALIDATION.md b/docs/REAL_WORLD_VALIDATION.md index dc5e8bc..4a80d74 100644 --- a/docs/REAL_WORLD_VALIDATION.md +++ b/docs/REAL_WORLD_VALIDATION.md @@ -54,7 +54,7 @@ The current-engine rerun binds each compact evidence document to both the raw `s | Conduit + PostgreSQL 17 + Supabase Data API | `VALID`, untruncated | 17 `VERIFIED`; signup was `SOURCE_OF_TRUTH_CONFIRMED` Level 6 through both adapters with the same added-row hash | 0 | | Pocket Ledger | `VALID`, untruncated | all 5 member/public actions `VERIFIED`, including focus-revealed skip link, multipart upload and non-empty CSV export; admin-only Reset was verified separately at Level 7 | 0 | -The current checked-in candidate evidence is bound to Phase L fingerprint `3663ff0c5e291f6a54b335d5d33fb9035e4e4495785dd15d2f1923e97b4e9d74`. Every primary scan was `VALID` and untruncated. Compact documents bind fresh TodoMVC `20260726T134853Z-47e8`, Actual Budget `20260726T135032Z-94f7`, Conduit SQLite `20260726T140120Z-f665`, Conduit PostgreSQL + Supabase `20260726T140645Z-88ef`, Pocket Ledger `20260726T135405Z-d811`, PostgreSQL CRUD, Level 7 roles and Codex regression/repair artifacts by SHA-256. The Pocket role control retained safe snapshot-only traces, suppressed authenticated screenshots/video before capture and kept videos at zero. Local source, audit, browser, pack, installed-tarball, evidence-validation and artifact-secret gates passed; Phase L remains a candidate until its hosted signed 15/15 aggregate passes. Main run [`30203185815`](https://github.com/datzle123/RealDone/actions/runs/30203185815) remains the signed Phase K qualification, while released `v1.3.3` and run [`30189340006`](https://github.com/datzle123/RealDone/actions/runs/30189340006) remain the historical published-package qualification. +The current checked-in evidence is bound to Phase L fingerprint `3663ff0c5e291f6a54b335d5d33fb9035e4e4495785dd15d2f1923e97b4e9d74`. Every primary scan was `VALID` and untruncated. Compact documents bind fresh TodoMVC `20260726T134853Z-47e8`, Actual Budget `20260726T135032Z-94f7`, Conduit SQLite `20260726T140120Z-f665`, Conduit PostgreSQL + Supabase `20260726T140645Z-88ef`, Pocket Ledger `20260726T135405Z-d811`, PostgreSQL CRUD, Level 7 roles and Codex regression/repair artifacts by SHA-256. The Pocket role control retained safe snapshot-only traces, suppressed authenticated screenshots/video before capture and kept videos at zero. Local source, audit, browser, pack, installed-tarball, evidence-validation and artifact-secret gates passed. Main run [`30206231697`](https://github.com/datzle123/RealDone/actions/runs/30206231697) repeated 15/15 on the first attempt and signed the aggregate for merge `badd3a9`; `gh attestation verify` accepted both artifacts. Released `v1.3.3` and run [`30189340006`](https://github.com/datzle123/RealDone/actions/runs/30189340006) remain the historical published-package qualification. PostgreSQL qualification used the pinned upstream Conduit app with only a harness port mapping, an isolated native PostgreSQL 17.10 cluster, real create/update/delete row diffs and key-bounded cleanup. The Supabase source adapter read the same action through a local Supabase Data API-compatible PostgREST 14.15 endpoint; the official Supabase CLI was also checked, but its full Auth/Storage local stack could not start on this machine because Docker Desktop/WSL is absent. This evidence therefore claims the maintained Supabase Data API adapter boundary, not a hosted Supabase service. @@ -66,7 +66,7 @@ The first current-engine Conduit rerun exposed an RD501 false positive: the publ The 2026-07-23 Actual Budget rerun then exposed a safety regression: its server target is a text input with an `https://example.com` placeholder rather than `type="url"`. RealDone initially filled a canary and clicked Connect, producing a DNS failure. URL-bearing placeholders now retain external-target classification; the rerun returned to 6 `VERIFIED`, 1 safe `UNCERTAIN`, 3 policy `SKIPPED`, and zero defects. -Machine-readable Phase L candidate inputs are in `release/external-cases.json` and `release/evidence/`; their local semantic, SHA-256 and secret-scan gates pass, but they are not yet represented by signed main evidence. Hosted run [`30203185815`](https://github.com/datzle123/RealDone/actions/runs/30203185815) remains the signed Phase K history, while run [`30189340006`](https://github.com/datzle123/RealDone/actions/runs/30189340006) independently passed and signed all 15 gates for released `v1.3.3`. +Machine-readable Phase L inputs are in `release/external-cases.json` and `release/evidence/`; hosted main run [`30206231697`](https://github.com/datzle123/RealDone/actions/runs/30206231697) validated and signed their aggregate. Run [`30203185815`](https://github.com/datzle123/RealDone/actions/runs/30203185815) remains the signed Phase K history, while run [`30189340006`](https://github.com/datzle123/RealDone/actions/runs/30189340006) independently passed and signed all 15 gates for released `v1.3.3`. ### Actual Budget original application diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 0cf7a43..96bfab9 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -180,7 +180,7 @@ Gate: Fingerprint `4625a9cc…` has fresh repository-bound TodoMVC, Actual Budget, Conduit SQLite, Conduit PostgreSQL 17 + Supabase Data API, PostgreSQL CRUD and Pocket Ledger runs. Pocket Ledger verified 6/6 visible actions, Level 7 roles, authenticated visual suppression and a real Codex MCP baseline → RD901 regression → repair cycle. Local check (142 pass, 2 expected service-dependent skips), audit, full Chromium smoke, pack and installed-tarball smoke passed. PR run `30202575079` and main run [`30203185815`](https://github.com/datzle123/RealDone/actions/runs/30203185815) passed 15/15 across Linux, macOS and Windows; Windows Node 22 required one managed-runtime startup retry in both runs. GitHub signed the main aggregate for merge `ca9e9db`, and `gh attestation verify` accepted both artifacts. -## Phase L — deterministic managed-runtime readiness (release candidate) +## Phase L — deterministic managed-runtime readiness (complete) Contributes evidence to: §6–7, §29, §31–32. @@ -192,4 +192,4 @@ Gate: - Smoke ports are allocated dynamically instead of assuming a shared fixed port, and runtime unit controls cover invalid timeout configuration plus delayed broken/correct startup. - Typecheck, unit, browser, audit, package, fresh fingerprint-bound real-project and hosted 15/15 gates pass across Linux, macOS and Windows without retrying a product defect. -Candidate fingerprint `3663ff0c…` adds the CLI/MCP option, managed-scan boundary, process diagnostics, dynamic-port smoke and delayed broken/control coverage. Local check (144 pass, 2 expected service-dependent skips), audit, full Chromium smoke, pack and installed-tarball smoke passed. Fresh TodoMVC `20260726T134853Z-47e8`, Actual Budget `20260726T135032Z-94f7`, Conduit SQLite `20260726T140120Z-f665`, Conduit PostgreSQL + Supabase `20260726T140645Z-88ef`, Pocket Ledger `20260726T135405Z-d811`, PostgreSQL CRUD/cleanup, Level 7 roles and Codex regression/repair artifacts are SHA-256-bound and validate with no artifact secret findings. Hosted 15/15 and signed main evidence remain pending. +Fingerprint `3663ff0c…` adds the CLI/MCP option, managed-scan boundary, process diagnostics, dynamic-port smoke and delayed broken/control coverage. Local check (144 pass, 2 expected service-dependent skips), audit, full Chromium smoke, pack and installed-tarball smoke passed. Fresh TodoMVC `20260726T134853Z-47e8`, Actual Budget `20260726T135032Z-94f7`, Conduit SQLite `20260726T140120Z-f665`, Conduit PostgreSQL + Supabase `20260726T140645Z-88ef`, Pocket Ledger `20260726T135405Z-d811`, PostgreSQL CRUD/cleanup, Level 7 roles and Codex regression/repair artifacts are SHA-256-bound and validate with no artifact secret findings. PR run `30205895718` and main run [`30206231697`](https://github.com/datzle123/RealDone/actions/runs/30206231697) passed 15/15 on their first attempt across Linux, macOS and Windows; Windows Node 22 passed the delayed managed-runtime smoke without retry. GitHub signed the main aggregate for merge `badd3a9`, and `gh attestation verify` accepted both artifacts. diff --git a/docs/VERIFICATION_MATRIX.md b/docs/VERIFICATION_MATRIX.md index f4bb3e6..3b67fc3 100644 --- a/docs/VERIFICATION_MATRIX.md +++ b/docs/VERIFICATION_MATRIX.md @@ -2,7 +2,7 @@ This matrix maps RealDone's public behavior to an executable release gate. A feature is not marked complete merely because an API or type exists; the gate must exercise its observable result or a fail-closed boundary. -This is the executable matrix for the shipped product, not a product-status ledger. The normative scope and 15 full-product release gates live in [`PRODUCT_SPECIFICATION.md`](PRODUCT_SPECIFICATION.md); [`PRODUCT_STATUS.md`](PRODUCT_STATUS.md) is the only area-completeness ledger. Specification §32 is complete because every status row is `IMPLEMENTED`; current main fingerprint `4625a9cc…` passed the full matrix with signed provenance in hosted run `30203185815`, not merely because an individual phase gate passed. +This is the executable matrix for the shipped product, not a product-status ledger. The normative scope and 15 full-product release gates live in [`PRODUCT_SPECIFICATION.md`](PRODUCT_SPECIFICATION.md); [`PRODUCT_STATUS.md`](PRODUCT_STATUS.md) is the only area-completeness ledger. Specification §32 is complete because every status row is `IMPLEMENTED`; current main fingerprint `3663ff0c…` passed the full matrix with signed provenance in hosted run `30206231697`, not merely because an individual phase gate passed. | Capability | Runtime evidence | Automated gate | | --- | --- | --- |