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

@ -9,8 +9,8 @@
| Kind | ID | Status | Lane | Source |
| --- | --- | --- | --- | --- |
| workplan | MARKITECT-WP-0001 | finished | — | workplans/MARKITECT-WP-0001-statehub-bootstrap.md |
| workplan | MARKITECT-WP-0002 | backlog | — | workplans/MARKITECT-WP-0002-testdrive-jsui-publication.md |
| workplan | MARKITECT-WP-0002 | blocked | — | workplans/MARKITECT-WP-0002-testdrive-jsui-publication.md |
| task | MARKITECT-WP-0001-T01 | done | — | workplans/MARKITECT-WP-0001-statehub-bootstrap.md |
| task | MARKITECT-WP-0001-T02 | done | — | workplans/MARKITECT-WP-0001-statehub-bootstrap.md |
| task | MARKITECT-WP-0001-T03 | done | — | workplans/MARKITECT-WP-0001-statehub-bootstrap.md |
| task | MARKITECT-WP-0002-T01 | todo | — | workplans/MARKITECT-WP-0002-testdrive-jsui-publication.md |
| task | MARKITECT-WP-0002-T01 | done | — | workplans/MARKITECT-WP-0002-testdrive-jsui-publication.md |

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

View file

@ -4,26 +4,42 @@ type: workplan
title: "TestDrive-JSUI — npm Publication"
domain: communication
repo: markitect-main
status: backlog
status: blocked
flavor: implementation
owner: codex
topic_slug: communication
created: "2026-06-22"
updated: "2026-06-22"
updated: "2026-09-28"
state_hub_workstream_id: "e03ef262-5284-5dd3-92d2-dbd85c6b6159"
---
# TestDrive-JSUI — npm Publication
Backlog workstream for publishing the TestDrive JSUI package to npm.
Publication workstream for the standalone TestDrive-JSUI package.
The local readiness definition is complete; actual release remains blocked.
## Publication Readiness
```task
id: MARKITECT-WP-0002-T01
status: todo
status: done
priority: medium
state_hub_task_id: "1852eca1-92e2-518e-bb21-9dffbeb32a4f"
```
Define package scope, versioning, and publication checklist for TestDrive-JSUI.
Result 2026-09-28: Defined package ownership, distribution scope, versioning,
and an evidence-based release checklist in
[the existing publication roadmap](../roadmap/testdrive-jsui-publication/PLAN.md).
The repository split already exists: `.gitmodules` points to the standalone
`coulomb/testdrive-jsui` repository. No new tasks or workplans were created.
Remaining publication work stays in the roadmap's existing P.2–P.9 steps.
This workplan is **blocked**, despite T01 being done, because completing a
readiness definition does not establish a published release. The standalone
package owner must resolve its missing advertised declaration file, validate
packed consumer entry points, and supply release evidence. Markitect's pinned
submodule must also be initialized and its view/edit integration verified.
No release tag, registry publication, or browser acceptance is claimed.