From 5b291b20a4d1a6bd68b87deb3b1cb874ee4633f2 Mon Sep 17 00:00:00 2001 From: Genix Date: Fri, 13 Nov 2026 19:43:03 +0330 Subject: [PATCH] docs(runtime): refresh 1.0.0 release gates and evidence --- docs/status.md | 152 +++++++++++++++++++++++++++---------------------- 1 file changed, 84 insertions(+), 68 deletions(-) diff --git a/docs/status.md b/docs/status.md index 5cd0340..a53e047 100644 --- a/docs/status.md +++ b/docs/status.md @@ -2,8 +2,8 @@ **Status: RELEASE PREPARATION — NOT PUBLISHED.** The intended Runtime package version is `1.0.0`. As of 2026-11-13, no `v1.0.0` tag or GitHub Release exists. -This document separates checked evidence, pending native conformance, and -downstream CDIN product acceptance. It does not mark the whole editor Stable. +This document separates checked component evidence, pending native conformance, +and downstream CDIN product acceptance. It does not mark the whole editor Stable. ## Version boundaries @@ -11,7 +11,7 @@ These version numbers describe different interfaces and must not be conflated: | Identity | Version | Meaning | | --- | --- | --- | -| Runtime package | `1.0.0` (target) | Version of the Lua policy-layer package and its immutable module archive. | +| Runtime package | `1.0.0` (target) | Version of the Lua policy-layer package and immutable module archive. | | Runtime Host API | `1.0.0` | Stable Backend-to-Runtime service contract. | | Frontend Protocol | `1.0.0` | Stable Frontend-to-Backend wire contract. | | Runtime Extension Contract | `1.0.0` | Registry SemVer for the documented extension API. | @@ -22,100 +22,116 @@ bootstrap or complete editor application is Stable. ## Verified evidence -- **Runtime CI baseline** passed on - [`5f37d733b42ad363abd8c26669157ae1bcc55186`](https://github.com/cdin-editor/runtime/commit/5f37d733b42ad363abd8c26669157ae1bcc55186) - in [run 43385962122](https://github.com/cdin-editor/runtime/actions/runs/43385962122): - Lua 5.4 on macOS and Windows, Lua 5.5 on Linux, Pipeline quality, and - documentation/workflow validation. The later 1.0.0 preparation merge is - `dafd508a0d862cf3b0efc5a5b70f7fcf8a735ab1`; its exact-main CI run is - [43455232678](https://github.com/cdin-editor/runtime/actions/runs/43455232678) - and must complete successfully before the release tag is created. -- **Runtime package workflow** passed its package build, checksum and extracted - Lua 5.4 consumer checks in - [run 43385962119](https://github.com/cdin-editor/runtime/actions/runs/43385962119). - This was a branch push / dry-run, not a tag publication. It verified the - branch-derived development identity - `1.0.0-rc.2.next.9+g5f37d73`, not a stable `1.0.0` Release. +- **Runtime main CI** passed on + [`b4444cb8a7fa78e142402ab0bbd094d34914f13b`](https://github.com/cdin-editor/runtime/commit/b4444cb8a7fa78e142402ab0bbd094d34914f13b) + in [run 43457131023](https://github.com/cdin-editor/runtime/actions/runs/43457131023). + This includes the merged notification-resynchronization tests from Runtime + PR [#28](https://github.com/cdin-editor/runtime/pull/28), Lua 5.4 macOS and + Windows, Lua 5.5 Linux, Pipeline quality, and documentation/workflow checks. +- **Runtime main package workflow** passed its source/module tests, package + build, extracted-package checks, assembly and checksum verification in + [run 43457131021](https://github.com/cdin-editor/runtime/actions/runs/43457131021). + Because this was a branch push rather than a signed version-tag event, its + Release publication and provenance jobs were skipped. It is not a stable + Runtime release. - **Live Backend + PUC Lua 5.4 + installed Kernel integration** passed on Backend main commit [`5d6371e8ca9ce1ee236d961181c259b3dfe72158`](https://github.com/cdin-editor/backend/commit/5d6371e8ca9ce1ee236d961181c259b3dfe72158) in [run 43455376627](https://github.com/cdin-editor/backend/actions/runs/43455376627). - The run passed Linux, macOS and Windows live integration jobs. The separate - Backend resource/sanitizer run - [43455376090](https://github.com/cdin-editor/backend/actions/runs/43455376090) - also completed successfully, including ThreadSanitizer, ASan/UBSan and - bounded-job coverage. The five-target Backend package build passed in + Linux, macOS and Windows live-integration jobs passed. Backend resource + sanitizer coverage passed in + [run 43455376090](https://github.com/cdin-editor/backend/actions/runs/43455376090), + including ThreadSanitizer, ASan/UBSan and bounded-job checks. The five-target + Backend package build passed in [run 43455376998](https://github.com/cdin-editor/backend/actions/runs/43455376998); - its release-publication/provenance jobs were skipped because this was a - branch push, not a tag. -- Backend PR [#40](https://github.com/cdin-editor/backend/pull/40) and + its release/provenance jobs were skipped because the run was not a tag event. +- Backend PRs [#40](https://github.com/cdin-editor/backend/pull/40) and [#41](https://github.com/cdin-editor/backend/pull/41) are merged. PR #40 - added live Lua 5.4 structured stale-version details and exact-once + added live Lua 5.4 structured `STALE_VERSION` details and exact-once `__gc` cleanup coverage for document, snapshot, transaction and - subscription handles. PR #41 adds the RT-013 single-file extension entry - path with ambiguity, symlink, confinement and bounded-read tests. The - merged Backend run above verifies these changes on all three OSes. + subscription userdata. PR #41 completed the RT-013 single-file extension + entry path with ambiguity, symlink, confinement and bounded-read checks. +- Runtime PR #28 is merged. It adds regression tests for truncated edit + notifications and version-chain gaps, verifying authoritative version/length + refresh while preserving exact document bytes. +- Runtime PR [#29](https://github.com/cdin-editor/runtime/pull/29) adds the + Runtime-side owner-scoped declarative panel/prompt model and bounded + presentation validation. Exact head + [`1b42779cfc3c78035fa182a7ca928d2d7e85809d`](https://github.com/cdin-editor/runtime/commit/1b42779cfc3c78035fa182a7ca928d2d7e85809d) + passed Runtime CI in + [run 43459807211](https://github.com/cdin-editor/runtime/actions/runs/43459807211) + and source/module package build, extracted-artifact tests, assembly and + checksum verification in + [run 43459793982](https://github.com/cdin-editor/runtime/actions/runs/43459793982). + The PR remains open and is not yet part of `main`. It does not advertise + `ui-presentation/1` or claim Backend/Frontend conformance. ## Required gates before publishing Runtime 1.0.0 -1. **Native Host status and userdata ownership.** Backend PRs - [#40](https://github.com/cdin-editor/backend/pull/40) and - [#41](https://github.com/cdin-editor/backend/pull/41) are merged. Latest - Backend main live integration, native platform matrix and sanitizer / - bounded-job checks passed in runs +1. **Native Host status and userdata ownership.** Backend PRs #40 and #41 are + merged. The latest Backend main live integration, cross-platform matrix + and sanitizer/bounded-job checks passed in runs [43455376627](https://github.com/cdin-editor/backend/actions/runs/43455376627), [43455376998](https://github.com/cdin-editor/backend/actions/runs/43455376998) and [43455376090](https://github.com/cdin-editor/backend/actions/runs/43455376090). - The live Runtime Host smoke explicitly verifies structured - `STALE_VERSION` details and exact-once finalization of document, snapshot, - transaction and subscription userdata. This closes the specific PR #40/#41 - work; it does not claim exhaustive runtime vectors for every Host API error - code. + The live Host smoke verifies structured stale-version details and exact-once + finalization of document, snapshot, transaction and subscription userdata. + This closes the specific #40/#41 work; it does not claim exhaustive vectors + for every Runtime Host API error code. 2. **Complete native error/status conformance.** Verify the Host API's stable - status-code mapping and detail payloads, invalid/stale handle behavior, + status-code mapping and typed detail payloads, invalid/stale handle behavior, owner-thread rejection, cleanup after partial startup, and shutdown/failure paths against the actual Backend adapter. A single stale-version vector is not the entire mapping table. 3. **Native event and projection conformance.** Real Backend/Runtime UI - projection, per-client ACK, backpressure, driver promotion and PaneTree + projection, per-client ACK, backpressure, Driver promotion and PaneTree result/layout/flush ordering pass in the latest Backend live integration. - Runtime PR [#28](https://github.com/cdin-editor/runtime/pull/28) adds - regression cases for both explicit `edits_truncated` notifications and - version-chain gaps, asserting authoritative version/length refresh and - unchanged exact document bytes. Its CI must pass before merge; these - additional tests exercise Runtime's fail-safe notification consumer with - FakeHost and do not replace the native Backend integration. + Runtime PR #28 is merged and its notification truncation/version-gap + regression tests pass in the latest Runtime main CI. These Runtime tests + use FakeHost for the incomplete-history vectors; they complement but do not + replace the native Backend integration. 4. **Extension and migration scope.** Spec RT-013 records both directory `/init.lua` and top-level `.lua` entry shapes. Backend PR #41 is merged and its cross-platform live integration passed. The documented - 1.0.0 contract supports both entry shapes; a single-file package has no - nested module namespace. RT-020 and RT-021 remain Proposed and are - explicitly not compatibility promises in this package: no automatic - deprecated-API shims or blanket parity for undocumented behavior is - claimed. The provisional `core.ui:publish` passthrough is not part of the - stable extension API. -5. **Exact immutable publication.** A final `v1.0.0` tag must resolve to the + Runtime 1.0.0 contract supports both layouts; a single-file package has no + nested module namespace. RT-020 and RT-021 remain Proposed and are not + compatibility promises: no automatic deprecated-API shims or blanket + parity for undocumented legacy behavior is claimed. +5. **Extension presentation contract.** Runtime PR #29 supplies the + owner-scoped semantic panel/prompt model, schema validation and lifecycle + cleanup. It must be reviewed and merged before treating that Runtime API as + part of the package. Backend and Frontend still need to validate and render + the accepted `ui-presentation/1` vectors and negotiate the capability before + interactive widgets can be advertised. Until then, the Runtime does not + advertise that capability, unknown widgets remain data-only, and the + optional `canvas` path remains separate. The legacy `core.ui.publish` + escape hatch is hidden from extensions by default; only a trusted embedding + application can explicitly enable it for migration. +6. **Exact immutable publication.** A final `v1.0.0` tag must resolve to the exact source commit being packaged. The tagged workflow must publish the universal Lua module TAR.GZ, ZIP companion, checksums and canonical `runtime-1.0.0.json` ADR-0028 metadata generated from that same tag commit. - The extracted package test must load the modules with PUC Lua 5.4 outside - a Runtime source checkout. The publisher script already enforces exact - `v1.0.0` tag-to-commit identity, canonical metadata name, schema 1.2.0 - publication declaration, one Registry artifact and archive digest/size - consistency. A branch dry-run or the historical RC2 release is not a - substitute. + The extracted package test must load the modules with PUC Lua 5.4 outside a + Runtime source checkout. A branch dry-run or the historical RC2 release is + not a substitute. ## Immutable history and downstream adoption - Existing Runtime `v1.0.0-rc.1`, `v1.0.0-rc.2`, `v0.3.0`, - `v0.2.0` and `v0.1.0` tags/releases remain immutable. In particular, - RC2's historical `runtime-1.0.0-rc.2.release.json` asset is not rewritten - or renamed; canonical ADR-0028 metadata is generated only for the new tag. -- Registry/CDIN must later select the published Runtime `1.0.0` metadata - identity, verify its GitHub-published digest and size, and consume the - immutable module archive. This downstream Catalog/Manifest adoption is - separate from Runtime's component release and does not make the complete - CDIN application Stable. + `v0.2.0` and `v0.1.0` tags/releases remain immutable. RC2's historical + `runtime-1.0.0-rc.2.release.json` asset is not rewritten or renamed; + canonical ADR-0028 metadata is generated only for the new tag. +- A branch-push workflow run on the branch named `v1.0.0` + [43457218293](https://github.com/cdin-editor/runtime/actions/runs/43457218293) + failed because the changelog did not yet contain a stable `1.0.0` section. + That run was not a tag event: no `v1.0.0` tag or GitHub Release exists. + Add the final dated changelog section only when the release contents and + acceptance gates are settled; do not treat that branch run as publication. +- Registry/CDIN must later select the published Runtime 1.0.0 metadata identity, + verify its GitHub-published digest and size, and consume the immutable module + archive. This downstream Catalog/Manifest adoption is separate from the + Runtime component release and does not make the complete CDIN application + Stable. - CDIN product status remains **Development** until its own artifact-first install, IME/PaneTree, interactive behavior, recovery, performance and Product Acceptance gates pass.