From 3c4891b276df8f2ec3e66592681f97e9a174159e Mon Sep 17 00:00:00 2001 From: docushell-admin Date: Thu, 2 Jul 2026 18:06:10 +0530 Subject: [PATCH] Request v0.3.0 public install wording approval Signed-off-by: docushell-admin --- ...public_install_wording_approval_request.py | 201 ++++++++++++++++++ CHANGELOG.md | 4 + Makefile | 1 + docs/execution-status.md | 10 +- docs/public-release-checklist.md | 25 ++- docs/v0-3-0-release-prep.md | 12 ++ docs/validation/README.md | 10 + ...-approval-request-validation-2026-07-02.md | 143 +++++++++++++ 8 files changed, 398 insertions(+), 8 deletions(-) create mode 100644 .github/scripts/test_v0_3_0_public_install_wording_approval_request.py create mode 100644 docs/validation/v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md diff --git a/.github/scripts/test_v0_3_0_public_install_wording_approval_request.py b/.github/scripts/test_v0_3_0_public_install_wording_approval_request.py new file mode 100644 index 0000000..147c545 --- /dev/null +++ b/.github/scripts/test_v0_3_0_public_install_wording_approval_request.py @@ -0,0 +1,201 @@ +#!/usr/bin/env python3 +# +# Copyright 2026 The Ethos maintainers +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# + +from __future__ import annotations + +import json +import re +import unittest +from pathlib import Path + +from makefile_guard import target_block +from validation_record_source import assert_record_source_binding + + +ROOT = Path(__file__).resolve().parents[2] +RECORD = ROOT / ( + "docs/validation/v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md" +) +PUBLICATION_CLOSEOUT = ROOT / "docs/validation/v0-3-0-publication-closeout-validation-2026-07-01.md" +ARTIFACT_CLOSEOUT = ROOT / ( + "docs/validation/v0-3-0-artifact-publication-closeout-validation-2026-07-02.md" +) +NPM_CLOSEOUT = ROOT / ( + "docs/validation/v0-3-0-npm-publication-closeout-validation-2026-07-02.md" +) +VALIDATION_README = ROOT / "docs/validation/README.md" +EXECUTION_STATUS = ROOT / "docs/execution-status.md" +PUBLIC_RELEASE_CHECKLIST = ROOT / "docs/public-release-checklist.md" +RELEASE_PREP = ROOT / "docs/v0-3-0-release-prep.md" +README = ROOT / "README.md" +CLAIMS = ROOT / "docs/public-boundary-claims.json" +CHANGELOG = ROOT / "CHANGELOG.md" + +SOURCE_SHORT = "7ad3521" +SOURCE_COMMIT = "7ad3521623764557edccbb563ef3bd279d046cc5" +SOURCE_TREE = "1471f4c7ecfc0aa84439042994be161bd97e1f4e" +PROPOSED_PUBLIC_SENTENCE = ( + "Ethos is a deterministic document evidence layer for source-grounded verification and " + "citation checking across native Ethos JSON and supported foreign parser outputs. The current " + "beta includes the GitHub source repository, Rust library crates `ethos-doc-core`, " + "`ethos-verify`, and `ethos-pdf` at `0.3.0`, the Python `ethos-pdf` wheel at `0.3.0`, the " + "npm `@docushell/ethos-pdf@0.3.0` package, and GitHub Release `v0.3.0` macOS arm64/Linux x64 " + "CLI artifacts. PDFium-backed commands use caller-provided PDFium through " + "`ETHOS_PDFIUM_LIBRARY_PATH`." +) +RUST_INSTALLS = ( + "cargo add ethos-doc-core@0.3.0", + "cargo add ethos-verify@0.3.0", + "cargo add ethos-pdf@0.3.0", +) +PYTHON_INSTALL = "python3 -m pip install ethos-pdf==0.3.0" +NPM_INSTALL = "npm install -g @docushell/ethos-pdf@0.3.0" +GITHUB_RELEASE = ( + "GitHub Release `v0.3.0` also provides evaluation CLI archives for macOS arm64 and Linux x64." +) +CURRENT_RUST_INSTALLS = ( + "cargo add ethos-doc-core@0.2.0", + "cargo add ethos-verify@0.2.0", + "cargo add ethos-pdf@0.2.0", +) +CURRENT_PYTHON_INSTALL = "python3 -m pip install ethos-pdf==0.2.0" +CURRENT_NPM_INSTALL = "npm install -g @docushell/ethos-pdf@0.2.1" +CURRENT_RELEASE = "GitHub Release `v0.2.0` also provides evaluation CLI archives" +PRIVATE_PATH_MARKERS = ( + "/" + "Users/", + "/" + "private/tmp", + "/" + "private/var", + "/" + "var/folders", + "saumil" + "diwaker", + "Desktop/" + "Stuff", + "project/repo/" + "ethos", +) +FORBIDDEN = ( + "public installation wording approved", + "hosted surfaces approved", + "production-ready", + "public benchmark claims approved", + "windows packaged artifacts approved", + "bundled pdfium approved", + "docushell integration approved", + "package tag creation approved", + "release tag creation approved", +) + + +def read(path: Path) -> str: + return path.read_text(encoding="utf-8") + + +def normalized(path: Path) -> str: + return re.sub(r"\s+", " ", read(path)) + + +def normalized_public_readme() -> str: + return re.sub( + r"\s+", + " ", + " ".join(line.removeprefix("> ").strip() for line in read(README).splitlines()), + ) + + +class V030PublicInstallWordingApprovalRequestTests(unittest.TestCase): + def test_request_record_is_source_bound(self) -> None: + raw = read(RECORD) + record = normalized(RECORD) + + assert_record_source_binding( + self, + root=ROOT, + raw_record=raw, + normalized_record=record, + validated_head=SOURCE_SHORT, + source_label="v0.3.0 public install wording approval request", + source_commit=SOURCE_COMMIT, + source_tree=SOURCE_TREE, + ) + + def test_request_captures_exact_proposed_wording_without_flipping_docs(self) -> None: + raw = read(RECORD) + record = normalized(RECORD) + + for expected in ( + "Status: **v0.3.0 public install wording approval request recorded; wording remains blocked**", + PROPOSED_PUBLIC_SENTENCE, + *RUST_INSTALLS, + PYTHON_INSTALL, + NPM_INSTALL, + GITHUB_RELEASE, + PUBLICATION_CLOSEOUT.name, + ARTIFACT_CLOSEOUT.name, + NPM_CLOSEOUT.name, + "The v0.3.0 Python wrapper includes JSON verification and evidence anchoring", + "This request does not change `README.md`", + "This request does not change `docs/public-boundary-claims.json`", + "Public `0.3.0` install wording remains blocked until a separate approval decision and closeout pass.", + "PDFium-backed commands use caller-provided PDFium through `ETHOS_PDFIUM_LIBRARY_PATH`.", + ): + self.assertIn(expected, record) + + for marker in PRIVATE_PATH_MARKERS: + self.assertNotIn(marker, raw) + for phrase in FORBIDDEN: + self.assertNotIn(phrase, record.lower()) + + def test_current_public_readme_and_claims_remain_on_0_2_baseline(self) -> None: + readme = normalized(README) + public_status = normalized_public_readme() + claims = json.loads(read(CLAIMS))["surfaces"]["readme"]["claims"] + + self.assertIn("Rust library crates `ethos-doc-core`, `ethos-verify`, and `ethos-pdf` at `0.2.0`", public_status) + self.assertIn("the Python `ethos-pdf` wheel at `0.2.0`", public_status) + self.assertIn("the npm `@docushell/ethos-pdf@0.2.1` package", public_status) + self.assertIn("GitHub Release `v0.2.0` macOS arm64/Linux x64 CLI artifacts", public_status) + + for expected in (*CURRENT_RUST_INSTALLS, CURRENT_PYTHON_INSTALL, CURRENT_NPM_INSTALL, CURRENT_RELEASE): + self.assertIn(expected, readme) + self.assertTrue(any(expected in claim for claim in claims), expected) + + for proposed in (*RUST_INSTALLS, PYTHON_INSTALL, NPM_INSTALL, GITHUB_RELEASE): + self.assertNotIn(proposed, readme) + self.assertFalse(any(proposed in claim for claim in claims), proposed) + + def test_request_is_indexed_and_wired_into_status_docs(self) -> None: + for path in ( + VALIDATION_README, + EXECUTION_STATUS, + PUBLIC_RELEASE_CHECKLIST, + RELEASE_PREP, + ): + text = normalized(path) + self.assertIn(RECORD.name, text) + self.assertIn("v0.3.0 public install wording approval request", text.lower()) + self.assertIn("wording remains blocked", text.lower()) + self.assertIn("0.3.0", text) + self.assertIn("DocuShell integration remain blocked", text) + + changelog = normalized(CHANGELOG) + self.assertIn("request decider review for exact public `0.3.0` install wording", changelog) + self.assertIn("blocked", changelog.lower()) + + def test_release_prep_target_runs_request_guard_after_npm_closeout(self) -> None: + block = target_block("v0-3-release-prep") + npm_closeout_guard = "$(PYTHON) .github/scripts/test_v0_3_0_npm_publication_closeout.py" + wording_request_guard = ( + "$(PYTHON) .github/scripts/test_v0_3_0_public_install_wording_approval_request.py" + ) + public_surface_guard = "$(PYTHON) .github/scripts/test_public_surface_posture.py" + + self.assertIn(npm_closeout_guard, block) + self.assertIn(wording_request_guard, block) + self.assertEqual(1, block.count(wording_request_guard)) + self.assertLess(block.index(npm_closeout_guard), block.index(wording_request_guard)) + self.assertLess(block.index(wording_request_guard), block.index(public_surface_guard)) + + +if __name__ == "__main__": + unittest.main() diff --git a/CHANGELOG.md b/CHANGELOG.md index 557f1a5..acf7483 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +- boundary-exception: request decider review for exact public `0.3.0` install wording across + live Rust, Python, npm, and GitHub Release evaluation surfaces while keeping public docs, + release/package tags, hosted, production, Windows, bundled PDFium, benchmark, `ethos-doc`, + `ethos-rag`, and DocuShell integration blocked pending a later decision and closeout. - boundary-exception: close exact `@docushell/ethos-pdf@0.3.0` npm publication with live registry evidence while keeping public install wording, release/package tags, hosted, production, Windows, bundled PDFium, benchmark, `ethos-doc`, `ethos-rag`, and DocuShell integration blocked diff --git a/Makefile b/Makefile index 0773e10..276a5f8 100644 --- a/Makefile +++ b/Makefile @@ -106,6 +106,7 @@ v0-3-release-prep: $(PYTHON) .github/scripts/test_v0_3_0_npm_publication_approval_request.py $(PYTHON) .github/scripts/test_v0_3_0_npm_publication_approval_decision.py $(PYTHON) .github/scripts/test_v0_3_0_npm_publication_closeout.py + $(PYTHON) .github/scripts/test_v0_3_0_public_install_wording_approval_request.py $(PYTHON) .github/scripts/test_public_surface_posture.py $(PYTHON) .github/scripts/claims_gate.py $(PYTHON) .github/scripts/public_boundary_claims_gate.py diff --git a/docs/execution-status.md b/docs/execution-status.md index 4ba1a7b..bf42acf 100644 --- a/docs/execution-status.md +++ b/docs/execution-status.md @@ -2,7 +2,15 @@ Date: 2026-07-02 Owner: product / decider -Status: v0.3.0 Rust library crates `ethos-doc-core`, `ethos-verify`, and `ethos-pdf` are live on crates.io, and the Python `ethos-pdf` wheel is live on PyPI. GitHub Release `v0.3.0` now contains closed-out macOS arm64/Linux x64 CLI artifacts for evaluation with caller-provided PDFium. npm `@docushell/ethos-pdf@0.3.0` is live on npm, and the v0.3.0 npm publication closeout is recorded. v0.2.0 remains the public CLI artifact baseline with GitHub Release `v0.2.0` macOS arm64/Linux x64 artifacts, and npm remains `@docushell/ethos-pdf@0.2.1` for public install wording until a later wording closeout; npm `@docushell/ethos-pdf@0.2.0` is deprecated because it shipped stale CLI binaries that reported `ethos 0.1.2`. Public `0.3.0` install wording, package tags, release tags, and DocuShell integration remain blocked pending their separate tag, wording, and closeout records. The exact GitHub Release artifact closeout is limited to the approved `v0.3.0` release assets below, and the exact npm publication closeout is limited to `@docushell/ethos-pdf@0.3.0`. PDFium-backed commands use caller-provided PDFium through `ETHOS_PDFIUM_LIBRARY_PATH`. Hosted surfaces, production positioning, Windows packaged artifacts, bundled project-maintained PDFium builds, public benchmark reports, public benchmark claims, speed, footprint, parser-quality, table-quality, `ethos-doc`, and `ethos-rag` remain blocked. +Status: v0.3.0 Rust library crates `ethos-doc-core`, `ethos-verify`, and `ethos-pdf` are live on crates.io, and the Python `ethos-pdf` wheel is live on PyPI. GitHub Release `v0.3.0` now contains closed-out macOS arm64/Linux x64 CLI artifacts for evaluation with caller-provided PDFium. npm `@docushell/ethos-pdf@0.3.0` is live on npm, and the v0.3.0 npm publication closeout is recorded. A v0.3.0 public install wording approval request is recorded, but `README.md` and public-boundary claims remain on the current `0.2.x` install baseline until a separate approval decision and closeout pass. v0.2.0 remains the public CLI artifact baseline with GitHub Release `v0.2.0` macOS arm64/Linux x64 artifacts, and npm remains `@docushell/ethos-pdf@0.2.1` for public install wording until that later wording closeout; npm `@docushell/ethos-pdf@0.2.0` is deprecated because it shipped stale CLI binaries that reported `ethos 0.1.2`. Public `0.3.0` install wording, package tags, release tags, and DocuShell integration remain blocked pending their separate tag, wording, and closeout records. The exact GitHub Release artifact closeout is limited to the approved `v0.3.0` release assets below, and the exact npm publication closeout is limited to `@docushell/ethos-pdf@0.3.0`. PDFium-backed commands use caller-provided PDFium through `ETHOS_PDFIUM_LIBRARY_PATH`. Hosted surfaces, production positioning, Windows packaged artifacts, bundled project-maintained PDFium builds, public benchmark reports, public benchmark claims, speed, footprint, parser-quality, table-quality, `ethos-doc`, and `ethos-rag` remain blocked. + +v0.3.0 public install wording approval request is recorded in +`docs/validation/v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md`. It +requests decider review for exact public `0.3.0` install wording across the already-live Rust +crates, Python wheel, npm package, and GitHub Release CLI artifacts. It does not change +`README.md` or `docs/public-boundary-claims.json`; public `0.3.0` install wording remains blocked +until a separate approval decision and closeout pass. Package tag creation, release tag creation, +and DocuShell integration remain blocked pending separate evidence and closeout records. v0.3.0 npm publication closeout is recorded in `docs/validation/v0-3-0-npm-publication-closeout-validation-2026-07-02.md`. It records live npm diff --git a/docs/public-release-checklist.md b/docs/public-release-checklist.md index d9a4dd0..b6945d0 100644 --- a/docs/public-release-checklist.md +++ b/docs/public-release-checklist.md @@ -9,17 +9,28 @@ Ethos v0.3.0 Rust library crates `ethos-doc-core`, `ethos-verify`, and `ethos-pd crates.io, and the Python `ethos-pdf` wheel is live on PyPI. GitHub Release `v0.3.0` now contains closed-out macOS arm64/Linux x64 CLI artifacts for evaluation with caller-provided PDFium. npm `@docushell/ethos-pdf@0.3.0` is live on npm, and the v0.3.0 npm publication closeout is recorded. -v0.2.0 remains the public CLI artifact baseline with GitHub Release `v0.2.0` macOS arm64/Linux x64 -artifacts, and npm remains `@docushell/ethos-pdf@0.2.1` for public install wording until a later -wording closeout; npm `@docushell/ethos-pdf@0.2.0` is deprecated because it shipped stale CLI -binaries that reported `ethos 0.1.2`. Public `0.3.0` install wording, package tags, release tags, -and DocuShell integration remain blocked pending their separate tag, wording, and closeout records. -The exact GitHub Release artifact closeout is limited to the approved `v0.3.0` release assets -below, and the exact npm publication closeout is limited to `@docushell/ethos-pdf@0.3.0`. Hosted +A v0.3.0 public install wording approval request is recorded, but `README.md` and public-boundary +claims remain on the current `0.2.x` install baseline until a separate approval decision and +closeout pass. v0.2.0 remains the public CLI artifact baseline with GitHub Release `v0.2.0` macOS +arm64/Linux x64 artifacts, and npm remains `@docushell/ethos-pdf@0.2.1` for public install wording +until that later wording closeout; npm `@docushell/ethos-pdf@0.2.0` is deprecated because it shipped +stale CLI binaries that reported `ethos 0.1.2`. Public `0.3.0` install wording, package tags, +release tags, and DocuShell integration remain blocked pending their separate tag, wording, and +closeout records. The exact GitHub Release artifact closeout is limited to the approved `v0.3.0` +release assets below, and the exact npm publication closeout is limited to +`@docushell/ethos-pdf@0.3.0`. Hosted surfaces, production positioning, Windows packaged artifacts, bundled project-maintained PDFium builds, public benchmark reports, public benchmark claims, speed, footprint, parser-quality, table-quality, `ethos-doc`, and `ethos-rag` remain blocked. +v0.3.0 public install wording approval request is recorded in +`docs/validation/v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md`. It +requests decider review for exact public `0.3.0` install wording across the already-live Rust +crates, Python wheel, npm package, and GitHub Release CLI artifacts. It does not change +`README.md` or `docs/public-boundary-claims.json`; public `0.3.0` install wording remains blocked +until a separate approval decision and closeout pass. Package tag creation, release tag creation, +and DocuShell integration remain blocked pending separate evidence and closeout records. + v0.3.0 npm publication closeout is recorded in `docs/validation/v0-3-0-npm-publication-closeout-validation-2026-07-02.md`. It records live npm registry evidence for the exact `@docushell/ethos-pdf@0.3.0` package, including registry latest, diff --git a/docs/v0-3-0-release-prep.md b/docs/v0-3-0-release-prep.md index 4ff752d..de5a65b 100644 --- a/docs/v0-3-0-release-prep.md +++ b/docs/v0-3-0-release-prep.md @@ -163,6 +163,18 @@ This closeout supersedes the npm publication blocker only for the exact package creation, and DocuShell integration remain blocked until separate evidence and closeout lanes pass. +### 3f. Request Public Install Wording Approval + +The v0.3.0 public install wording approval request is recorded in +`docs/validation/v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md`. It asks +the decider to accept or reject only the exact public `0.3.0` install wording packet for the +already-live Rust crates, Python wheel, npm package, and GitHub Release CLI artifacts. + +This request does not change `README.md` or `docs/public-boundary-claims.json`. Public `0.3.0` +install wording remains blocked until a separate approval decision and closeout pass. Package tag +creation, release tag creation, and DocuShell integration remain blocked until separate evidence +and closeout lanes pass. + ### 4. Gather Package Evidence Before Any Publication Decision Before any public package or artifact decision, record exact evidence for the surfaces that are in diff --git a/docs/validation/README.md b/docs/validation/README.md index 1571efa..2d9cf1c 100644 --- a/docs/validation/README.md +++ b/docs/validation/README.md @@ -10,6 +10,16 @@ in `docs/public-release-checklist.md`. Records: +v0.3.0 public install wording approval request is recorded in +`v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md`. It requests decider +review for exact public `0.3.0` install wording across the already-live Rust crates, Python wheel, +npm package, and GitHub Release CLI artifacts. It does not change `README.md` or +`docs/public-boundary-claims.json`; public `0.3.0` install wording remains blocked until a +separate approval decision and closeout pass. Package tag creation, release tag creation, +DocuShell integration, hosted surfaces, production positioning, Windows packaged artifacts, +bundled project-maintained PDFium builds, public benchmark reports, public benchmark claims, +`ethos-doc`, and `ethos-rag` remain blocked pending separate lanes. + v0.3.0 npm publication closeout is recorded in `v0-3-0-npm-publication-closeout-validation-2026-07-02.md`. It records live npm registry evidence for the exact `@docushell/ethos-pdf@0.3.0` package, including registry latest, dist shasum, diff --git a/docs/validation/v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md b/docs/validation/v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md new file mode 100644 index 0000000..c7f3391 --- /dev/null +++ b/docs/validation/v0-3-0-public-install-wording-approval-request-validation-2026-07-02.md @@ -0,0 +1,143 @@ +# v0.3.0 Public Install Wording Approval Request Validation - 2026-07-02 + +Validated source HEAD before this record: `7ad3521`. + +v0.3.0 public install wording approval request source commit: +`7ad3521623764557edccbb563ef3bd279d046cc5`. + +v0.3.0 public install wording approval request source tree: +`1471f4c7ecfc0aa84439042994be161bd97e1f4e`. + +Status: **v0.3.0 public install wording approval request recorded; wording remains blocked** + +This record requests decider review for the exact public `0.3.0` install wording packet below. It +does not change `README.md`, does not change `docs/public-boundary-claims.json`, does not publish +or republish any package, does not create package tags or release tags, does not approve DocuShell +integration, hosted surfaces, production positioning, Windows packaged artifacts, bundled +project-maintained PDFium builds, `ethos-doc`, `ethos-rag`, public benchmark reports, or public +benchmark claims. + +## Source Inputs + +- Rust and PyPI publication closeout: + `docs/validation/v0-3-0-publication-closeout-validation-2026-07-01.md` +- GitHub Release CLI artifact closeout: + `docs/validation/v0-3-0-artifact-publication-closeout-validation-2026-07-02.md` +- npm publication closeout: + `docs/validation/v0-3-0-npm-publication-closeout-validation-2026-07-02.md` +- Rust crate versions requested for public install wording: + - `ethos-doc-core@0.3.0` + - `ethos-verify@0.3.0` + - `ethos-pdf@0.3.0` +- Python wheel requested for public install wording: + - `ethos-pdf==0.3.0` +- npm package requested for public install wording: + - `@docushell/ethos-pdf@0.3.0` +- GitHub Release requested for public install wording: + - `v0.3.0` macOS arm64 and Linux x64 CLI artifacts + +## Exact Public Status Sentence Requested + +```text +Ethos is a deterministic document evidence layer for source-grounded verification and citation checking across native Ethos JSON and supported foreign parser outputs. The current beta includes the GitHub source repository, Rust library crates `ethos-doc-core`, `ethos-verify`, and `ethos-pdf` at `0.3.0`, the Python `ethos-pdf` wheel at `0.3.0`, the npm `@docushell/ethos-pdf@0.3.0` package, and GitHub Release `v0.3.0` macOS arm64/Linux x64 CLI artifacts. PDFium-backed commands use caller-provided PDFium through `ETHOS_PDFIUM_LIBRARY_PATH`. +``` + +## Exact Install Commands Requested + +Rust library crates: + +```bash +cargo add ethos-doc-core@0.3.0 +cargo add ethos-verify@0.3.0 +cargo add ethos-pdf@0.3.0 +``` + +Python wrapper: + +```bash +python3 -m pip install ethos-pdf==0.3.0 +``` + +npm CLI package: + +```bash +npm install -g @docushell/ethos-pdf@0.3.0 +ethos --version +``` + +GitHub Release CLI artifact wording: + +```text +GitHub Release `v0.3.0` also provides evaluation CLI archives for macOS arm64 and Linux x64. +``` + +Python wrapper wording requested: + +```text +The v0.3.0 Python wrapper includes JSON verification and evidence anchoring through that caller-provided CLI. +``` + +## Required Boundaries For The Requested Wording + +- PDFium-backed commands use caller-provided PDFium through `ETHOS_PDFIUM_LIBRARY_PATH`. +- The Python wheel remains a thin wrapper around a caller-provided local `ethos` CLI binary. +- The Python wheel does not bundle the CLI or PDFium. +- The npm package vendors only the approved macOS arm64 and Linux x64 CLI binaries. +- Unsupported npm platforms fail before invoking a binary. +- Windows packaged artifacts remain blocked. +- Hosted surfaces remain blocked. +- Production positioning remains blocked. +- Bundled project-maintained PDFium builds remain blocked. +- Public benchmark reports remain blocked. +- Public benchmark claims remain blocked. +- Parser-quality, table-quality, speed, footprint, and production claims remain blocked. +- `ethos-doc` remains blocked. +- `ethos-rag` remains blocked. +- DocuShell integration remains blocked. +- Package tag creation remains blocked. +- Release tag creation remains blocked. + +## Current Public Wording State + +Current `README.md` and `docs/public-boundary-claims.json` remain on the already-approved public +install baseline while this request is under review: + +- Rust install commands remain `0.2.0`. +- Python install command remains `ethos-pdf==0.2.0`. +- npm install command remains `@docushell/ethos-pdf@0.2.1`. +- GitHub Release CLI artifact reference remains `v0.2.0`. + +Public `0.3.0` install wording remains blocked until a separate approval decision and closeout +pass. + +## Required Manual Decider Step + +A decider must accept or reject this exact wording packet before any public docs or public-boundary +claims file is changed to `0.3.0` install wording. + +If accepted, a later decision record must bind this exact wording and retained blockers. Only after +that decision record passes may a follow-up branch update `README.md`, +`docs/public-boundary-claims.json`, and any other public install surfaces to the exact accepted +wording. + +## Non-Actions + +- This request does not change `README.md`. +- This request does not change `docs/public-boundary-claims.json`. +- This request does not change public install commands. +- This request does not create package tags. +- This request does not create release tags. +- This request does not approve DocuShell integration. +- This request does not approve hosted surfaces. +- This request does not approve production positioning. +- This request does not approve Windows packaged artifacts. +- This request does not approve bundled project-maintained PDFium builds. +- This request does not approve public benchmark reports. +- This request does not approve public benchmark claims. +- This request does not approve `ethos-doc`. +- This request does not approve `ethos-rag`. + +## Result + +The exact public `0.3.0` install wording packet is ready for decider review. Public `0.3.0` install +wording remains blocked until a separate approval decision and closeout pass.