Current status as of 2026-06-14: v0.21.2-alpha.0 is published on GitHub release assets, Homebrew, and npm. npm @tuel/code-oz@0.21.2-alpha.0 is available under the alpha dist-tag and by exact version; the unqualified latest tag still points at 0.21.1-alpha.0 until it is promoted with npm 2FA.
This page separates what is publishable today from what is manual, experimental, or future work.
| Surface | Package or path | Status | Notes |
|---|---|---|---|
| CLI binary | src/cli.ts compiled by bun build --compile |
Publishable for macOS/Linux | GitHub release workflow builds per-arch tarballs and checksums.txt. Windows is not built. |
| npm launcher | @tuel/code-oz@0.21.2-alpha.0 |
Published under alpha |
package.json.files includes npm-wrapper/, README.md, and LICENSE. The wrapper downloads the matching GitHub release binary on first run. |
| Homebrew formula | docs/homebrew/code-oz.rb.template |
Published for 0.21.2-alpha.0 |
Render from release checksums, then commit to omerakben/homebrew-code-oz. |
| Claude Code plugin marketplace | .claude-plugin/marketplace.json |
Repo-root marketplace metadata present | Contains code-oz engine wrapper plugin and advisory code-oz-discipline plugin. |
| Agent skill bundle | agent-skills/code-oz/ |
Text-only integration surface | No executable. It teaches external agents how to drive the CLI without owning gates. |
| Surface | Current state | Before publishing |
|---|---|---|
code-oz-gui |
Private Next app in code-oz-gui/; fixture and local live-run UI |
Decide supported runtime, desktop/web packaging, auth story, persistence, update flow, accessibility baseline, and release channel. |
| Windows/Scoop | Explicitly unsupported by launcher and plugin resolver | Add Windows binary build, launcher branch, Scoop manifest, and Windows smoke CI. |
| Signed artifacts | SHA-256 checksums only | Add Apple Developer signing/notarization, signed checksums, and SLSA/Sigstore provenance. |
| Live Gemini / OpenCode / Roo | Future adapter candidates or stub | Implement provider adapters and offline/live tests before documenting as supported. |
| Full benchmark proof | Deterministic code-oz Fake column measured |
Run direct-agent and live-provider columns with credentials before making model-quality claims. |
Run from the repo root before publishing a new alpha:
bun install
bun run typecheck
bun test ./tests
bun test
bun run build:binary
npm pack --dry-run --json
scripts/release/fresh-clone-smoke.shExpected package shape for npm pack --dry-run --json: a small launcher tarball containing LICENSE, README.md, npm-wrapper/index.cjs, and package.json. The native binary is not packed into npm; it is downloaded from the matching GitHub release by the wrapper.
Do not publish npm before the GitHub release assets for the exact version exist, because the first npm invocation downloads https://github.com/omerakben/code-oz/releases/download/v<version>/....
scripts/release/fresh-clone-smoke.sh clones the current branch from git, so it validates committed HEAD, not uncommitted working-tree edits. Run it after the release-readiness patch is committed.
0.21.2-alpha.0 is published. Verify:
npm view @tuel/code-oz@0.21.2-alpha.0 version
npm view @tuel/code-oz dist-tags --json
npx -y @tuel/code-oz@0.21.2-alpha.0 --versionCurrent npm install command for this exact release:
npm install -g @tuel/code-oz@0.21.2-alpha.0The latest dist-tag still points at 0.21.1-alpha.0. To promote this release to unqualified installs, run with npm 2FA:
npm dist-tag add @tuel/code-oz@0.21.2-alpha.0 latest --otp=<code>Preferred path: use npm trusted publishing for .github/workflows/npm-publish.yml.
Account-side setup on npmjs.com:
- Open
@tuel/code-ozpackage settings. - Add a trusted publisher:
- Provider: GitHub Actions
- Organization or user:
omerakben - Repository:
code-oz - Workflow filename:
npm-publish.yml - Allowed action:
npm publish
- Run the workflow from GitHub Actions with
version=0.21.2-alpha.0.
CLI trigger after the workflow is on main:
gh workflow run npm-publish.yml -f version=0.21.2-alpha.0
gh run watch --exit-status
npm view @tuel/code-oz@0.21.2-alpha.0 version
npm view @tuel/code-oz dist-tags --jsonFallback path: publish locally after authenticating to npm:
npm login
npm whoami
npm publish --access public --tag alpha
npm view @tuel/code-oz@0.21.2-alpha.0 versionDirect local publishing requires an npm account with publish rights to @tuel/code-oz and either account 2FA or a granular access token with publish rights and bypass 2FA enabled. Alpha versions publish under the alpha dist-tag, not latest. The current machine is not authenticated to npm, so local publish returns E401.
Run:
bun test tests/plugins/manifest-shape.test.ts \
tests/plugins/discipline-manifest.test.ts \
tests/plugins/router-hook.test.ts \
tests/plugins/bootstrap-resolver.test.ts
bun run skills:checkManual checks:
/plugin marketplace add omerakben/code-ozresolves the repo-root marketplace./plugin install code-oz@code-oz-marketplaceinstalls the enforcing wrapper plugin./plugin install code-oz-discipline@code-oz-marketplaceinstalls advisory skills only.- A fresh plugin command with no user arguments does not forward an empty-string positional to the engine.
- Users can tell the wrapper plugin invokes the engine, while the discipline plugin is advisory only.
Run from code-oz-gui/:
bun install
bun run typecheck
bun test tests/unit
bun run buildBefore calling the GUI standalone-ready, decide and document:
- whether it ships as a local web app, desktop app, or hosted service
- how it locates or installs the CLI binary
- whether run registry state persists beyond process memory
- how credentials are configured without leaking into artifacts
- which viewports are supported
- accessibility acceptance criteria
- packaging, signing, update, and rollback flow
Measured locally on 2026-06-14:
bun run typecheck: pass.bun run build:binary: pass.bun test ./tests: 3796 pass, 2 skip, 0 fail across 241 files.bun test: 3818 pass, 2 skip, 0 fail across 246 files.npm pack --dry-run --json: pass, launcher package containsLICENSE,README.md,npm-wrapper/index.cjs, andpackage.json.scripts/release/fresh-clone-smoke.sh: pass from committed branchcodex/release-readiness-confidence; full tests, both demos, and drift checks passed.bash scripts/release/fresh-clone-smoke.sh --help: pass.bun test tests/plugins/manifest-shape.test.ts tests/plugins/discipline-manifest.test.ts tests/plugins/router-hook.test.ts tests/plugins/bootstrap-resolver.test.ts: pass.bun run skills:check: pass.claude plugin validate --strict .claude-plugin/marketplace.json,plugins/code-oz, andplugins/code-oz-discipline: pass.- Isolated Claude Code marketplace install with temporary
HOME:code-oz@code-oz-marketplaceandcode-oz-discipline@code-oz-marketplaceinstall and appear enabled inclaude plugin list --json;claude plugin detailsreports the expected one hook forcode-ozand three advisory skills forcode-oz-discipline. code-oz-gui:bun install --frozen-lockfile,bun run typecheck,bun run lint,bun test tests/unit, andbun run buildpass.- Dogfood flows: first-run fake provider,
bun run demo:todo-cli,bun run demo:failure-gates,doctor providers,doctor tools,doctor git, andbench agent-gate --fixture todo-cli-real-tests --provider fakepass.
These are enough to call the docs/package/plugin/GUI release-prep patch ready for review. The public release is live through GitHub release assets, curl install, Homebrew, and npm exact-version or alpha install. Unqualified npm latest remains one optional dist-tag promotion step.