/wbPublish — Live Demo ()
What /wbPublish would actually do on wb-labs right now. The package state, dist-folder issues, and registry assumptions below reflect the live workspace.
1. Live target
| Field | Live value |
|---|---|
| Working tree | Heavily dirty (docs sync uncommitted) |
| Recent tags | Unknown without git tag inspection — assume some |
| Memory blockers | project_pkg_dist_mismatch.md (wbc-ui2-cdn dist-folder mismatch — would fail manifest validation); wbc-ui2-tech-debt.md (untested apps) |
| Most likely candidate for publish | core2/packages/wb-core/ if it has a current tag and a working build |
| Known publish blocker | core2/packages/wbc-ui2-cdn/ — dist-folder mismatch refuses to publish |
The wbc-ui2-cdn issue is the interesting live case: this is a real publish blocker grounded in a memory-tracked decision, and /wbPublish would surface it even before any registry call.
2. What each input form would resolve to today
| Input | Live resolution |
|---|---|
/wbPublish (default — most-recent tagged) | Would attempt to publish whichever package has the most recent tag. Halts on dirty tree first. |
/wbPublish core2/packages/wb-core | Halts on dirty tree. With a clean tree, would proceed to manifest check; likely OK. |
/wbPublish core2/packages/wbc-ui2-cdn | Halts on dirty tree first. Even with clean tree, would refuse on manifest validation due to dist-folder mismatch. |
/wbPublish --all | Halts on dirty tree. Otherwise would attempt all; would succeed for wb-core, fail for wbc-ui2-cdn → partial publish state. |
/wbPublish --dry-run | Permitted on dirty tree (no registry calls). Useful for surfacing what would happen. |
3. Per-flag behavior, applied live
| Flag combination | Live result |
|---|---|
| (no flag) | Halt — dirty tree. |
--dry-run | Permitted; surfaces blockers including the dist-folder mismatch. |
--all --dry-run | Permitted; surfaces all blockers across packages. |
--all (no dry-run) | Halt — dirty tree, plus strong suggestion to dry-run. |
--prerelease | Halt — dirty tree. |
--restore | Honest "no failed publish to restore." |
4. Pipelines
/wbPublish --all --dry-run> /wbPublish --all --dry-run💠 Pipeline --all --dry-run to see what would happen
The most informative invocation today (no writes, surfaces blockers):
💠 Pipeline A clean single-package publish (after the dirty tree is committed)
Hypothetical, post-/wbGit:
💠 Pipeline The wbc-ui2-cdn refusal (memory-aware)
💠 Pipeline --restore on a clean state
5. What would refuse today
| Trigger | Live response |
|---|---|
/wbPublish | Halt — dirty tree. |
/wbPublish --all | Halt — dirty tree + dangerous-by-default warning. |
/wbPublish core2/packages/wbc-ui2-cdn | Halt — dirty tree first; even clean, refuses on manifest validation. |
/wbPublish core2/packages/wb-core | Halt — dirty tree first. |
/wbPublish "the wbcode package" | Halt — free-text. |
/wbPublish --restore | Exit 0 — nothing to recover. |
/wbPublish --prerelease <pkg> for a non-prerelease version | Halt — flag/version mismatch. |
/wbPublish "unpublish please" via NL | Refuse — unpublish is destructive and policy-implicating; tell user to use npm directly. |
The pattern: /wbPublish is narrow, manifest-validating, memory-aware. It refuses dirty trees, refuses bad manifests (the dist-folder mismatch is the live example), refuses to silently overwrite latest with pre-releases. The recommended path on this exact workspace today: commit first via /wbGit -r -e -p, then /wbPublish --all --dry-run to confirm the landscape, then /wbPublish <pkg> per package — explicitly, not via --all, until the parked items are addressed.
