Capture the regression class behind #748 (orphan el.<removed-field>.addEventListener after a button is removed from index.html): Bun.build is transpile-only so web:check does not catch it, and the runtime crash only surfaces on init.
Adds the minimal closeout checks (grep dist + curl 19666 + control-plane status) and a one-liner orphan listener scan that authors can run while the PR is open.
Refs: pikasTech/HWLAB#748
Documents that gh issue comment create/delete, close, reopen, update,
edit, and board-row all now accept the owner/repo#number positional
shorthand that gh issue read/view and gh pr * already accept, completing
the shorthand parity across the gh subcommand.
The companion code change (scripts/src/gh.ts) was committed in the
previous commit; this doc update adds the long-term reference for the
new behavior and links it to the HWLAB #621 CLI acceptance friction
that motivated it.
The HWLAB v0.2 #744 fix was originally committed directly to v0.2 instead
of going through the canonical feature branch + PR flow. This documents:
- the canonical v0.2 worktree + PR sequence (trans G14:/root/hwlab-v02
worktree add, fix/issue<N>-* branch, UniDesk CLI gh pr create/merge,
fixed repo git pull --ff-only)
- a bounded recovery procedure when a direct commit has already landed
on v0.2 (single-commit case, --force-with-lease, autostash preservation,
cherry-pick onto the existing worktree branch, re-merge through PR)
- the v0.2 CLI verification gap: no layout-browser smoke exists for
19666/19667 (dev-cloud-workbench-layout-smoke.mjs is hard-coded to
16666/16667), so closeout must combine web:check + web:build,
control-plane status --lane v02, and direct curl/grep probes against
19666/19667
Closes CLI friction observed during the #744 v0.2 fix process.
M2.7 and M3 are two parallel configs, not a primary/fallback pair.
Per user feedback, drop the language and any code that framed M2.7 as
a rollback target for M3.
- code-queue-supervision.md, microservices.md, windows-passthrough.md:
remove 'default/fallback' labels; spell out that M2.7 and M3 are
parallel, no auto-fallback, switching provider model is an explicit
ops action.
- scripts/src/code-queue.ts: modelTiers entries for M3 and M2.7 share
the same 'simple-low-risk' risk; rename
minimaxM2FallbackCandidate -> minimaxM27Candidate so the dry-run
command string no longer implies fallback semantics.
- scripts/code-queue-submit-routing-contract-test.ts: drop 'fallback'
wording in assertions and the 'model registry fallback' check label.
Refs: #189
Add minimax-m3 as a sibling model on the same path as the existing
minimax-m2.7 support. M3 is the new PROD default; M2.7 remains available
as a one-line rollback target via MINIMAX_MODEL.
Changes:
- code-agent/common.ts: add minimaxM3Model constant, include in
defaultCodeModels, normalize aliases (minimax-m3 / m3), route to
opencode port, sibling entry in codeModelProviderSourceContract.
- code-agent/opencode.ts: add M3 branch in openCodeModelId, register
both M2.7 and M3 in openCodeConfigContent, inject MINIMAX_M3_MODEL
in local/remote env, M3 branch in missingOpenCodeCredentialMessage.
- index.ts + types.ts: add minimaxM3Model to RuntimeConfig, read
MINIMAX_M3_MODEL env, propagate to remoteCodexEnvKeys.
- queue-api.ts: include minimaxM3Model in Pick for
codeModelProviderSourceContract callers.
- scripts/src/code-queue.ts: add minimaxM3SubmitModel, normalize/port
routing, default route recommendation now points to M3, M2.7 kept
as minimaxM2FallbackCandidate.
- scripts/src/docker.ts: default UNIDESK_CODE_QUEUE_MINIMAX_M3_MODEL
to MiniMax-M3.
- k8s yaml (D601 + G14): CODE_QUEUE_MODELS gains minimax-m3, three
deployments each set MINIMAX_MODEL=MiniMax-M3 and
MINIMAX_M3_MODEL=MiniMax-M3.
- docker-compose.d601.yml: same env defaults for local compose.
- docs/reference/{code-queue-supervision,microservices,
windows-passthrough}.md: update model contracts to M3 default +
M2.7 fallback.
- scripts/code-queue-submit-routing-contract-test.ts: low-risk
recommendation now asserts minimax-m3; registry asserts both M3
and M2.7 fallback in modelPorts/opencodeModels; provider source
contract test passes minimaxM3Model.
Refs: #189