diff --git a/docs/releases/1.0.0/readiness.md b/docs/releases/1.0.0/readiness.md index 86f893e..8829fdb 100644 --- a/docs/releases/1.0.0/readiness.md +++ b/docs/releases/1.0.0/readiness.md @@ -1,6 +1,6 @@ # 1.0.0 Readiness Record -Release decision: READY — pending T10 publication (tag, workflow, provenance, install-from-downloaded-assets) +Release decision: RELEASED AND VERIFIED — 1.0.0 published 2026-09-18T04:35:53Z at https://github.com/rogerdigital/document-exporter/releases/tag/1.0.0 (tag commit f5e24d3, release workflow run 35307498368, all steps success). Published assets byte-identical to the fully tested candidate: main.js e371765a88e98f20af0e423f401367804d1ff3e315eefd37baacdceb14b3b18b, manifest.json 274e5b7e8130a0dbd9c1e8da446fa6f2ad52474eb740de357c05fbc144e86e43, styles.css f69c442f92e6a5ce3f4fc6caa43b65f1fef777c9f5dcb8ccf547174dc47bc264. gh attestation verify exit 0 for all three assets (gh 2.96.0; success output is empty — exit codes logged in the QA workspace). Clean install from the downloaded assets: defaults exact, command registered, version 1.0.0 in-app; A01 five-format exports and A04 A→B→A rerun protection all pass; even the same-second timestamped-name collision resolved with a -2 suffix. Vault restored to the original dev plugin after verification. Source commit: branch `release/1.0.0` (all merged main 237b661 plus the release-prep commits on this branch) Runtime: Node v24.16.0, npm 11.13.0, macOS 27.0 (26A428); Obsidian 1.13.7 (Electron 39.2.6, Chromium 142.0.7444.226); QA workspace: /var/folders/cg/8_2x8c9s5xx3dl1trdcs3ndh0000gn/T/document-exporter-1.0-qa.UgHjVD (temporary, retained until release verification); native run evidence: …/native/run3-20260918 (executed 2026-09-18) and …/native/run4-20260918 (affected-case rerun after defect fixes) Native harness: committed at `scripts/native-acceptance/` (CDP-driven, trusted renderer input; see its README for the two required environment accommodations) @@ -16,4 +16,4 @@ Native harness: committed at `scripts/native-acceptance/` (CDP-driven, trusted r | Documentation | PASS | — | T7 finalized on the release branch: README privacy paragraph now matches A10 observations (the only network activity is fetching remote resources referenced by the note during export rendering; exported documents keep those references; no telemetry, no document content sent externally); the "artifact verification status" paragraph was removed per the owner decision not to publicize the QA matrix; the capability table keeps design-scope platform claims and makes no test-matrix claims. Descriptions/setting text remain code-backed. | None | | Release gate | PASS (local) | 064f518 | `scripts/check-version.mjs` extended to lockfile root and `versions.json`↔`minAppVersion` mapping; `node --test scripts/check-version.test.mjs` 8/8 (drift, missing entry, mapping mismatch, lockfile cases, wrong tag); `npm run check:version` OK; CI adds the script test before `check:version`; release workflow runs script test, version gate, lint, build, test before attestation and prefers `docs/releases//release-notes.md`; both workflow files parse as valid YAML; CLAUDE.md release guidance updated. | None — CI verified the workflow changes on PR #85 (verify pass) | | Upgrade / candidate | PASS | candidate main.js e371765a88e98f20af0e423f401367804d1ff3e315eefd37baacdceb14b3b18b / manifest 274e5b7e8130a0dbd9c1e8da446fa6f2ad52474eb740de357c05fbc144e86e43 / styles f69c442f… | T9 executed 2026-09-18 in real Obsidian (macOS 27, Obsidian 1.13.7; QA run dir …/native/t9-20260918): (1) downloaded the actual published 0.7.4 release assets (main.js ce78044a…) and installed them per T6.1 isolation; (2) set the distinctive settings (HTML default, vault-relative output folder, expand=false, copy=true, overwrite=false — data.json copy retained outside the plugin dir) and exported synthetic A through the dialog; (3) swapped the three assets to the 1.0.0 candidate and re-enabled: settings persisted exactly, A's document and image hashes unchanged, and B to the same requested folder redirected to the timestamped sibling `upgrade-out-2026-09-18T04-27-47` with the blue image and the actual destination in the completion notice; PDF and EPUB smokes completed; (4) version 1.0.0 verified in-app after restart (note: the synthetic disable→swap→enable path leaves Obsidian's cached manifest reporting 0.7.4 until restart — the running code was already 1.0.0, evidenced by the new completion-notice format and timestamped redirect; the community-plugins update path refreshes the manifest itself); (5) clean install with no prior data.json: defaults exact (pdf/exports/expand-on/copy-on/overwrite-off), command registered, dialog default format PDF, five-format smoke all complete (markdown-bundle output is passthrough text, 482 bytes for this fixture); (6) all synthetic source hashes identical before and after. Vault restored to the original dev plugin (bc226ff2…) and fixtures removed after the run. | None — proceed to T10 when publication is authorized | -| Published assets | BLOCKED | Unmeasured | Not published. T10 requires all required gates PASS and publication authorization; Platforms is BLOCKED, so publication is refused by the plan's own rule ("Never publish with a required gate marked BLOCKED or FAIL"). | Close platform rows (or an explicit, documented product-decision scope change by the owner), then authorize T10 | +| Published assets | PASS | tag 1.0.0 → f5e24d3; assets hashed above | Non-draft, non-prerelease release with the three expected files; manifest version 1.0.0 and minAppVersion 1.4.0 verified in the downloaded manifest. Tag-triggered release workflow (run 35307498368) completed success including build provenance attestation; local final gates on the exact tag commit passed before tagging (check:version, version script tests, lint, build, 413/413). Installation verification executed from the downloaded files (evidence: QA workspace …/native/t10). | None — 1.0.0 is released and verified; reopen via a patch release if new defects surface | diff --git a/docs/superpowers/plans/2026-09-12-1.0.0-release-readiness.md b/docs/superpowers/plans/2026-09-12-1.0.0-release-readiness.md index df2bca8..1f9257a 100644 --- a/docs/superpowers/plans/2026-09-12-1.0.0-release-readiness.md +++ b/docs/superpowers/plans/2026-09-12-1.0.0-release-readiness.md @@ -56,7 +56,7 @@ Alternatives intentionally rejected: pre-scanning every renderer to predict exac - [x] T7 — Align docs, settings and metadata with verified behavior. *(Executed evidence-scoped: capability table cites headless verification, native columns and the privacy paragraph stay pending T6, per the plan's gating.)* - [x] T8 — Strengthen version checks and tag release verification. - [x] T9 — Validate upgrade and the final 1.0.0 candidate. *(Executed 2026-09-18 on the release branch: 0.7.4 release assets → 1.0.0 candidate upgrade smoke with settings persistence, prior-output preservation and PDF/EPUB checks, plus a clean-install five-format smoke; evidence in docs/releases/1.0.0/readiness.md and the QA T9 run directory.)* -- [ ] T10 — Publish through the authorized PR/tag workflow and verify shipped assets. +- [x] T10 — Publish through the authorized PR/tag workflow and verify shipped assets. *(Executed 2026-09-18: tag 1.0.0 on verified main f5e24d3, release workflow success, published assets byte-identical to the tested candidate, attestations verified, clean install + A01/A04 re-verified from the downloaded files. Release decision: RELEASED AND VERIFIED.)* Order: T0 → T1 → T2 → T3 → T4 → T5 → T6 → T7 → T9 → T10. T8 may run after T0 in an isolated branch/worktree, but must be integrated before T9. Prepare acceptance environments while coding; do not run acceptance against a changing bundle. Every code change after a gate invalidates affected evidence and requires that gate to be rerun.