From 837820fdd26194a6b70d78aa6e7f2f5ab7981d85 Mon Sep 17 00:00:00 2001 From: Error-Zhang Date: Mon, 3 Aug 2026 15:13:25 +0800 Subject: [PATCH] Record official hosted website evidence --- README.md | 20 +++++++++------- docs/1.0-acceptance.md | 45 ++++++++++++++++++++++------------- docs/1.0-readiness-audit.md | 22 +++++++++-------- docs/implementation-status.md | 24 ++++++++++++------- docs/production-readiness.md | 8 +++---- 5 files changed, 71 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 2bcd595c..c2d62709 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,14 @@ project. Velar 0.9AB has completed the internal application-scale language-and-Web sequence, and the requirement-by-requirement 1.0 internal engineering audit is -complete. The audited development source is published through -[draft PR #1](https://github.com/VelarOS-AI/VelarScript/pull/1), and the +complete. The audited development source is merged on public `main` at commit +`d80c62c932f59db4e219d10dd9fb390344b6ece2`, and the [official Website source](https://github.com/VelarOS-AI/VelarScript-Website) -is a separate Apache-2.0 project that dogfoods the packed toolchain. npm -publication and hosted deployment remain deliberately deferred. The audit's first pass +is a separate Apache-2.0 project that dogfoods the packed toolchain. Its commit +`7226b45f706d9ac3c28e6ab3ffb2f5946fc8f097` is deployed at +[velarscript.velaros.cn](https://velarscript.velaros.cn) through the +provider-neutral static-host contract and has passed the remote deployment +verifier. npm publication remains deliberately deferred. The audit's first pass closes the ordinary new-project workflow: generated applications now contain a separate app module, a real Core test, a browser test, project-wide format scripts, and an installed-package acceptance that uses only those generated @@ -74,11 +77,10 @@ positions complete only prefix-matching visible components and a focused native set; component attribute positions complete checked parameters, native tags complete supported Web attributes/directives, and typed object literals complete their missing record fields. Value expressions immediately return to -ordinary lexical completion. This is internal readiness -evidence, not a public production claim: hosted preview observation, independent -users, review and merge of the development source, a stable version/tag, and -publish authority remain -external. +ordinary lexical completion. This is internal readiness plus official +dogfood-deployment evidence, not a public production claim: independent users +and compatibility feedback, a stable version/tag, release-candidate provenance, +and publish authority remain external. Failure containment is now a retained gate rather than an assumption. Compile, inspect, and format APIs accept a deterministic malformed-input corpus without diff --git a/docs/1.0-acceptance.md b/docs/1.0-acceptance.md index a8b12e23..c23b5c6f 100644 --- a/docs/1.0-acceptance.md +++ b/docs/1.0-acceptance.md @@ -1,16 +1,18 @@ # VelarScript 1.0 Internal Acceptance Matrix -Status: internal engineering and public-source gates complete; external preview and release evidence pending +Status: internal engineering, public-source, and official hosted-deployment gates complete; independent-use and release evidence pending This matrix records the evidence available before VelarScript is exposed to independent users. It closes the repository-owned 1.0 audit, but it is not a production-ready or release claim. Apache-2.0 now covers the workspace and all -four packed toolchain packages. The attributable development source is now on the -authorized public remote in draft PR #1, with push and pull-request CI passing. -A production claim additionally requires reviewed and merged stable -versioned source, an exact tag, a live -preview, independent application use, compatibility feedback, and an audited -release candidate. +four packed toolchain packages. The attributable development source is merged on +the authorized public remote at commit +`d80c62c932f59db4e219d10dd9fb390344b6ece2`. The separate official Website +commit `7226b45f706d9ac3c28e6ab3ffb2f5946fc8f097` is live at + and has passed the product's remote deployment +verifier. A production claim additionally requires independent application use, +compatibility feedback, a stable version and exact tag, and an audited release +candidate. ## Requirement-to-evidence matrix @@ -26,7 +28,7 @@ release candidate. | Application-scale compilation has an explicit budget | `tests/performance.test.ts` checks a 121-module initial build and an incremental change that recompiles only the 41-module reverse-dependency closure while reusing 80 modules, under the checked time budgets. Project-session tests additionally remove and restore a dependency while preserving an unrelated compiled module. | Passing internally | | Production output is exact and reproducible | Browser-project acceptance builds and verifies production output. Release acceptance checks byte-identical package identities and a reproducible root Netlify preview across separate directories. Manifest tampering, extra files, traversal, unsafe replacement, and mismatched release sets fail closed. | Passing internally | | Release tooling cannot silently publish the wrong source | Rehearsal creates verified tarballs and manifests without publishing. Candidate mode requires a stable version, committed clean source, exact tag, matching origin, publishable licenses, exact artifacts, and explicit publish authority; the current development tree intentionally fails those conditions. | Passing internally; public candidate pending | -| Production behavior is observed outside repository-owned examples | A live hosted preview is verified from another network and browser context; independent users build and operate applications; resulting compatibility issues become regression tests. | External evidence required | +| Production behavior is observed outside repository-owned examples | The official Website is deployed from an exact public source identity and verified from the public origin and a real Chrome browser context. Independent users must still build and operate applications, with resulting compatibility issues retained as regression tests. | Official hosted evidence passing; independent-use evidence required | ## Authoritative gates @@ -54,18 +56,29 @@ CSP production, all three real applications, and a freshly generated project. Counts are supporting detail; the commands and named contracts above are the acceptance authority. +## Official hosted evidence + +The first official dogfood deployment is reproducibly bound to Website source +commit `7226b45f706d9ac3c28e6ab3ffb2f5946fc8f097` and VelarScript source commit +`d80c62c932f59db4e219d10dd9fb390344b6ece2`. The live origin is +. `velar verify-deployment` accepted build ID +`29fec4d393a30ebd33c459145762681d9b126c3d5bf208addb759c9766873bf7` +with 7 files, 3 routes, and 53 header checks. The home, Learn, Docs, Examples, +Language reference, and Web framework pages also opened successfully in a real +Chrome browser context. + +This closes the hosted-preview observation gate. It does not substitute for +independent application use or authorize npm publication. + ## Remaining external gate The following work is intentionally not inferred from green local tests: -1. review and merge the public development-source PR without weakening its gates; -2. explicitly authorize and deploy a hosted preview from an exact source identity; -3. verify the live deployment from another network and browser context; -4. collect independent application feedback and convert every release-blocking +1. collect independent application feedback and convert every release-blocking compatibility finding into a retained test; -5. after that feedback, choose the stable version, create the exact version tag, and audit the +2. after that feedback, choose the stable version, create the exact version tag, and audit the clean release candidate; -6. explicitly authorize npm publication. +3. explicitly authorize npm publication. -Until those items have evidence, describe VelarScript as **internally accepted -for external preview**, not production-ready. +Until those items have evidence, describe VelarScript as **officially deployed +for dogfood and independent-use evaluation**, not production-ready. diff --git a/docs/1.0-readiness-audit.md b/docs/1.0-readiness-audit.md index e801b687..de80e3ef 100644 --- a/docs/1.0-readiness-audit.md +++ b/docs/1.0-readiness-audit.md @@ -1,13 +1,15 @@ # VelarScript 1.0 Readiness Audit -Status: internal audit and public source identity complete; hosted preview and release not authorized; no production-ready claim +Status: internal audit, public source identity, and official hosted deployment complete; stable release not authorized; no production-ready claim This audit starts from the completed 0.9Z engineering sequence and checks the product from an ordinary application team's point of view. It does not treat a large compiler suite as sufficient evidence and it does not itself authorize a -tag, npm publication, or hosted deployment. Public source publication was -authorized separately: the compiler/framework work is retained in draft PR #1, -and the official Website is its own public Apache-2.0 repository. +tag or npm publication. Public source publication and the first official hosted +deployment were authorized separately: the compiler/framework work is merged at +commit `d80c62c932f59db4e219d10dd9fb390344b6ece2`, and the official Website is its +own public Apache-2.0 repository deployed from commit +`7226b45f706d9ac3c28e6ab3ffb2f5946fc8f097`. ## Audit areas @@ -20,7 +22,7 @@ and the official Website is its own public Apache-2.0 repository. | Language surface | Passing internally | Core boundaries are unified. Runtime Type arguments fail early, async/time inputs are strict, and test matchers are subject-typed. Class constructors contain only caller inputs while typed instance/static fields own internal state; one synchronous `init:` block enforces post-field invariants, typed read-only `get` properties cover derived data without setters, and one native-backed `private` modifier covers constructor/body fields, getters, and concrete sync/async methods without a `public`/`protected` hierarchy. Getter abstract/override contracts, `super.name`, module identity, and property-shaped editor operations remain compiler-owned. Defaultable parameters participate in function identity and safe assignability, overrides preserve their arity contract, and compiler/LSP labels distinguish omission (`= default`) from nullable input (`?`). Async expressions and block declarations share one resolved-value annotation and native Promise-adoption rule, enforce their own `await` boundary, reject direct `await` in parameter defaults, and fail before Promise values enter JSX. Object-returning arrows are unambiguous, power preserves right association plus predictable unary/await grouping, and strict comparison chains evaluate once while ordered links reject JavaScript bool/object/mixed coercion. Bounded `///` Markdown documents declarations and members across aliases without runtime output or JSDoc types. Multiline imports, parameters, types, constructors, and calls accept final commas without generating indentation tokens. Scope-aware completion, hover, signatures, navigation, visibility, and refactors retain one analyzer/LSP authority. Deterministic malformed inputs are retained across compile, inspect, and format APIs. The retained matrix is recorded in `1.0-acceptance.md`. | | Web operation and recovery | Passing internally | Web API 0.8 adds bounded application-local `domId` values for accessible label/title/hint relationships without cryptographic UUIDs. Route/callback recovery, explicit dialog focus restoration, namespace-correct accessible SVG JSX across ordinary/lazy component and `foreignObject` boundaries, and IndexedDB commit/retry are owned. HTTP, Web component/navigation props, forms, browser helpers, files, and realtime validate hostile dynamic boundaries before native effects. API Dashboard adds typed HTTP, JavaScript-package interop, a class-owned chart scale whose `init:` rejects invalid construction, responsive SVG passed through a lazy component chunk, and two concurrently loaded typed metric feeds using an async arrow, with three-engine evidence. The official Website separately dogfoods source component packages, native disclosure, modal focus return, form error/hint ownership, and keyboard paths in Chromium, Firefox, and WebKit. Watched rebuild failures retain the last good application, report through the managed development channel, recover on the next edit, and converge after rapid edits. Development and verified CSP production suites pass Chromium, Firefox, and WebKit; broader workload diversity remains correctly owned by the external-use row. | | Toolchain delivery | Passing internally | Transactional create, strict config/help/LSP transport, packed consumers, reproducible release sets, safe output replacement, exact candidate verification, and independent Workbench hash checks pass. The current packed release passes the Workbench installed-toolchain gate, including exact defaultable/nullable signatures for `domId`, `slice`, and TypeScript-package methods, collection/route signatures, HTML/component/SVG completion, typed object keys, recursive-record rename, semantic tokens, safe equality, class-body fields and `init:`, private-member inside/outside completion, a documented getter delivered as an ordinary read-only property, comparison-chain `bool` hover/inlay hints, declaration documentation in completion/hover, an async arrow's contextual parameter hover and Promise signature, and named-function Promise adoption, plus all 9 focused generic-language-host tests without moving language rules into Workbench. | -| External use and release | Public source passing; runtime evidence still required | Apache-2.0 is applied and retained in all four npm tarballs. Commit `0faf7d5` and draft PR #1 establish attributable public development source; both push and pull-request CI pass on Ubuntu, macOS, Windows, and the browser matrix. The separate Website repository bootstraps from that exact commit rather than local links. A real hosted preview, independent users, compatibility feedback, reviewed merge, stable clean tag, provenance, and explicit publish authority remain absent. | +| External use and release | Official source and hosted dogfood passing; independent-use and stable-release evidence required | Apache-2.0 is applied and retained in all four npm tarballs. VelarScript commit `d80c62c932f59db4e219d10dd9fb390344b6ece2` and Website commit `7226b45f706d9ac3c28e6ab3ffb2f5946fc8f097` establish attributable merged source identities. The Website bootstraps from public packages rather than local links and is live at . The remote verifier accepted build ID `29fec4d393a30ebd33c459145762681d9b126c3d5bf208addb759c9766873bf7` with 7 files, 3 routes, and 53 header checks; real Chrome navigation also passed. Independent users, compatibility feedback, a stable clean tag, release provenance, and explicit publish authority remain absent. | ## Evidence commands @@ -44,11 +46,11 @@ language authority. ## Claim boundary -Internal completion means the implementation and its reproducible local/CI -evidence are ready for an authorized external preview. It does not mean the -language is already production-ready. That claim additionally requires real -deployment observation, independent application use, compatibility feedback, -and an audited release candidate. +Internal completion plus the official hosted dogfood deployment means the +implementation is ready for independent-use evaluation. It does not mean the +language is already production-ready. That claim additionally requires +independent application use, compatibility feedback, and an audited stable +release candidate. The closed requirement-to-evidence matrix is retained in [1.0-acceptance.md](1.0-acceptance.md). diff --git a/docs/implementation-status.md b/docs/implementation-status.md index 0b7c9680..d996b3b6 100644 --- a/docs/implementation-status.md +++ b/docs/implementation-status.md @@ -1,6 +1,6 @@ # Implementation Status -Status: 1.0 internal engineering audit complete; external preview and release work deferred +Status: 1.0 internal engineering audit and official Website deployment complete; independent-use and stable-release work remains Velar Compiler has been rebuilt from zero against the current language charter. The language-to-browser loop now includes compiler-owned semantic tooling, @@ -502,14 +502,20 @@ matrix in [0.8-acceptance.md](0.8-acceptance.md) and hardening matrix in [0.7-acceptance.md](0.7-acceptance.md) and broader exit criteria in [production-readiness.md](production-readiness.md). -## Current stage: authorized external preview preparation +## Current stage: official dogfood deployment and independent-use preparation The internal 0.7A–0.7G, 0.8A–0.8F, 0.9A–0.9AB, and 1.0A–1.0L engineering sequences are complete. Apache-2.0 now covers the repository and packed -toolchain packages. Public commit `0faf7d5`, draft PR #1, and the independent -Website repository now provide the first attributable source identities. The -next evidence stage requires review and merge, an external preview, and later -publication. Compiler, language server, and the independently packaged +toolchain packages. VelarScript commit +`d80c62c932f59db4e219d10dd9fb390344b6ece2` and Website commit +`7226b45f706d9ac3c28e6ab3ffb2f5946fc8f097` provide merged attributable source +identities. The Website is live at ; the remote +verifier accepted build ID +`29fec4d393a30ebd33c459145762681d9b126c3d5bf208addb759c9766873bf7` +with 7 files, 3 routes, and 53 header checks, and real Chrome navigation passed. +The next evidence stage is independent application use and compatibility +feedback, followed by a separately authorized stable release. Compiler, +language server, and the independently packaged Workbench contribution continue on the delivery axis defined in [workbench-integration.md](workbench-integration.md). @@ -769,9 +775,9 @@ then proves recovery plus convergence after 64 rapid writes. Incremental sessions separately remove and restore a dependency while retaining the exact compiled result for an unrelated module. -External preview feedback is still required before a production-ready claim. -The first public repository/tag, npm publication, and preview deployment remain -explicitly deferred external mutations. +Independent application feedback is still required before a production-ready +claim. The public repositories and first official deployment now exist; a +stable tag and npm publication remain explicitly deferred external mutations. `velar/game` remains deferred until the production Web platform is usable and stable. It will be a Canvas-oriented package, not a second language runtime. diff --git a/docs/production-readiness.md b/docs/production-readiness.md index 546bd104..b86cc447 100644 --- a/docs/production-readiness.md +++ b/docs/production-readiness.md @@ -1,6 +1,6 @@ # VelarScript Production Readiness -Status: internal engineering gate complete; external preview and release evidence pending; do not describe VelarScript as production-ready yet +Status: internal engineering and official hosted-deployment gates complete; independent-use and release evidence pending; do not describe VelarScript as production-ready yet Production-ready means an ordinary team can create, operate, evolve, debug, test, deploy, and recover a real Velar Web application without depending on @@ -16,13 +16,13 @@ alone is not sufficient evidence. | Public configuration | Development and production can receive explicit public configuration with validation; server secrets are never read or bundled implicitly | Passing: only bounded validated `web.publicConfig` is frozen and embedded; environment/secret loading is absent | | Operational logging | Structured, leveled logs work in Node and browsers and can be redirected without exposing `console` as a language global | Passing internally: Standard API runtime and Release Studio cover scoped logs/disposable sinks; the 1.0 audit additionally rejects coerced or oversized messages/keys/scopes, bounds fields and installed sinks, and isolates each sink's fields snapshot | | Project testing | A generated application can run Core tests and browser component/application tests through documented CLI commands | Passing internally: generated and packed-installed projects run their own Core/browser scripts; the 1.0 audit additionally made matchers subject-typed and fail-closed so invalid values, sync throws, and JS truthiness cannot create false positives | -| Browser/deployment compatibility | Chromium, Firefox, and WebKit pass development and CSP production flows; deployment manifest has at least one exercised host adapter | Passing internally: browser matrices pass; root-base Netlify files preserve asset 404 before SPA fallback; `verify-deployment` checks real hosted bytes, MIME, headers, and routes; a live provider run remains external-use evidence | +| Browser/deployment compatibility | Chromium, Firefox, and WebKit pass development and CSP production flows; deployment manifest has at least one exercised host adapter | Passing for the official deployment: browser matrices pass; the retained root-base Netlify adapter preserves asset 404 before SPA fallback; the provider-neutral Website build is live at ; `verify-deployment` accepted its hosted bytes, MIME, 3 routes, and 53 header checks, and real Chrome navigation passed | | Application artifact integrity | Teams can prove that a production directory exactly matches its build/deployment manifests and run that exact output locally | Passing: `velar verify` checks complete inventory/hash/relationship integrity; hashing and preview delivery stream regular files, production inventory is capped at 100,000 assets, and the same verified server powers browser-project tests | | Reproducibility/source disclosure | Identical production inputs produce identical bytes and source code is not published accidentally | Passing: stable virtual Velar inputs remove random-path hashing; cross-directory builds are byte-identical and linked source maps are explicit/off by default | | Package/project stability | Packed toolchains install cleanly, exact versions match, and the project-extension boundary is explicit and fail-closed | Passing: packed consumers create format-v2 Core and Web projects; missing, format-1, and unknown future manifests are rejected without a compatibility loader or upgrade command | | Editor independence | Project-local LSP works through the generic Workbench host with diagnostics, completion, navigation, rename, formatting, type hints, occurrence highlights, semantic tokens, code actions, and commands | Current packed-toolchain acceptance and 9/9 focused generic-host tests pass. Completion is lexical/scope-aware and member items come from analyzer-owned signatures rather than a host type table. Selectively indexed checked expressions preserve completion, hover, and active-parameter signatures through collection literals and nested Web chains; JSX tag/attribute and typed object-key positions are context-aware and restore lexical symbols inside values. The installed gate proves collection and route signatures, HTML/component/SVG completion, typed object keys, recursive-record and component-prop refactors, semantic tokens, safe equality fixes, a real npm class, native `ScoreCard` class-body fields plus `init:`, a private history field that appears through `self` but not consumer completion, and a documented read-only `summary` getter delivered as an ordinary property. It also covers comparison-chain `bool` hover/inlay hints, packed `///` documentation in completion/hover, an async arrow with contextual parameter hover plus `Promise` signature help, and a named async function that directly adopts its Promise result. Record/class members navigate across aliases and inheritance, including inherited static declarations; private members instead keep owner-local navigation/refactors. CodeMirror consumes all of this through generic LSP contracts. The host validates tarball hashes independently and injects format/format-check commands without owning language rules. The wider Workbench tree remains mid Platform migration; that unrelated baseline is not Velar evidence. | -| Release integrity | Stable clean tagged source produces verified reproducible tarballs with license, provenance, and explicit publish authority | Partial: Apache-2.0 is applied to the workspace and all four package tarballs; rehearsal/candidate refusal exists; attributable public development source and remote CI now exist, while review/merge, the stable tag, and public release authority remain external decisions | -| External use | More than the repository's own examples are built, deployed, and operated; feedback is converted into compatibility tests | Missing: a reproducible root Netlify candidate, remote verifier, signed-report workflow, and Chromium candidate smoke now exist, but no authorized live deployment or external user evidence exists yet | +| Release integrity | Stable clean tagged source produces verified reproducible tarballs with license, provenance, and explicit publish authority | Partial: Apache-2.0 is applied to the workspace and all four package tarballs; rehearsal/candidate refusal exists; attributable public development source is reviewed and merged, while the stable tag, release provenance, and public npm authority remain external decisions | +| External use | More than the repository's own examples are built, deployed, and operated; feedback is converted into compatibility tests | Partial: the separately packaged official Website is deployed and operated at from an exact public source identity, with remote-verifier and real-browser evidence. Independent-user applications and compatibility feedback are still missing | ## Completed internal sequence