docs: close publication readiness and record remaining release blockers
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e77b-9d43-7432-9301-e5cb6ad05ef6
This commit is contained in:
tegwick 2026-09-28 12:11:36 +02:00
parent c2f32e925b
commit d741661679
3 changed files with 96 additions and 6 deletions

View file

@ -1,5 +1,79 @@
# TestDrive-JSUI — npm Publication
## Current disposition — 2026-09-28
**Status: blocked.** Tracked by `MARKITECT-WP-0002`; its T01 readiness-definition
task is complete. This section supersedes the historical assumptions and
commands below. Existing P.1–P.9 remain the release checklist; no new workstream
is needed.
### Package scope and ownership (P.1 complete)
Option B is already implemented. `.gitmodules` records the standalone
`coulomb/testdrive-jsui` repository at `capabilities/testdrive-jsui`; Markitect
consumes its pinned commit `b8f13b4ae5e80e76a162187613b67cbdc3a65171`.
Publish from the standalone repository. Do not publish this repo's root
`package.json` or create a Markitect `v1.0.0` tag for the library.
The package manifest declares the unscoped name `testdrive-jsui`, MIT licensing,
a JavaScript markdown editor with CJS/ESM/browser bundles and CSS, and the
required `marked` peer range `^11.0.0 || ^12.0.0 || ^13.0.0`. Its allowlist is
`dist/`, README, LICENSE, and CHANGELOG (plus npm's package metadata).
Python adapters and PyPI distribution are separate from this npm release.
The standalone owner must resolve P.3's Python `STANDALONE_PLAN.md`; an npm
bundle alone does not satisfy that plan's Python packaging acceptance.
### Versioning
Use the library manifest's `1.0.0` as the candidate, not proof of publication.
Before release, the standalone maintainer must check registry ownership and
whether that version already exists. Preserve published versions; use a new
patch for compatible fixes, a minor for compatible features, and a major for
breaking public API changes. Match the manifest, lockfile, changelog, tag, and
release artifact. Create `v1.0.0` only in the standalone repository after the
candidate passes verification, or use the next appropriate unused version.
### Existing release steps and acceptance
| Step | Current disposition / evidence required |
| --- | --- |
| P.1 | Done: standalone repository and gitlink already exist. |
| P.2 | Blocked in this checkout: the submodule is uninitialized, so `make -n testdrive-jsui-test-all` exits 2 with no matching target. Initialize the pinned submodule, install its documented dependencies, run its JS/Python integration checks, and verify actual Markitect view/edit behavior. Historical counts are not current test evidence. |
| P.3 | Standalone owner must explicitly reconcile the Python standalone plan; do not silently archive it as satisfied by npm. |
| P.4 | In the standalone checkout, run lint, Jest, production build, pack, isolated tarball install, consumer smoke checks, and publish dry-run. Check every advertised entry point and the exact file list. |
| P.5 | Tag the verified standalone commit; align the changelog with the actual release date and version. |
| P.6 | Standalone maintainer verifies registry ownership/access, publishes the verified candidate, and records registry plus CDN receipts. Route credential needs through `warden route` before requesting access; no credentials belong in this record. |
| P.7 | Install the published version in a clean directory and verify editor initialization, edit/view behavior, CSS, and supported peer dependencies. |
| P.8 | Create the release on the standalone repo's actual forge, with verified package/CDN links. The historical GitHub destination is not established by this checkout. |
| P.9 | Add badges only after publication is verified; name the person responsible for the one-week follow-up. |
### Readiness evidence and unresolved gates
Read-only inspection of the clean standalone checkout at
`701341d7fa520f860245e28eb16d44b767fd116b` found the four advertised JS/CSS
entry files present, but `types: dist/index.d.ts` points to a missing file.
The pinned commit advertises that same declaration path. The standalone owner
must generate and test declarations or remove the unsupported promise before
release. Also test CJS consumption explicitly: the manifest combines
`type: module` with a `.cjs.js` entry name. File presence does not prove loading.
The standalone `JSUI-WP-0002` records 68 passing Jest tests and build evidence
from July 8. Its checklist still leaves post-publication verification open;
that historical readiness result is not proof of an npm release. This review
has not rerun those tests or checked registry availability.
For P.4, inspect `npm pack --dry-run --json`, then install the actual tarball
in an isolated consumer directory. Exercise ESM, CommonJS, and browser loading
with the supported `marked` peer and CSS. Confirm declarations resolve if
advertised. Source maps currently exist and the changelog explicitly promises
them, so review their contents and inclusion intentionally; the older blanket
exclusion below is not the current packaging decision. Run
`npm publish --dry-run` only after lint, build, tests, and consumer checks pass.
Record exact command results and artifact/version identity before releasing.
## Historical plan (retained for context)
## Context
TestDrive-JSUI is a JavaScript-first markdown editor library living at