Repository navigation
Releases: KunoLu/sbtd-plugins
Release list
@kunolu/omp-sbtd 0.2.0-rc.2
Release identity / 发布身份
- Annotated tag / 标注标签:
omp-sbtd-v0.2.0-rc.2(tag objectd22a877b449cfde587f2f0041ab27256176df765) - Commit / 提交:
2393d10c3fb1a1f3cb756a351297a430fd2afc81(#124 squash merge) - PR-tip CI / PR tip CI:
omp-runtime-linux-probe(Frozen-tarball Host Event live cell on ubuntu-latest) green on tip7432be486b42c3b7326ed1b0574d0bab38b30739(squash source of this merge) — https://github.com/KunoLu/sbtd-plugins/actions/runs/39954216679 - Packed tarball check / 打包核验: rebuilt from a clean worktree at the merge commit;
check-package --packedexit 0, noSBOM_MISMATCH; 472 files (includesREADME.zh.md, byte-identical to source); tarball SHA-2563b6c696e15798146251712498672f92bc01a089d3e536273d00ec3d23f49604b; sourceTreeSha256d45faca21edbe2f5d580942a6739499c343a5811697cdb889d7c8788a5634870, sbomSha25606eac22d3d5a7170e2b21002cf5d954692aefaa3d9e89fb51b93e4b1d71f14e1 - npm:
@kunolu/omp-sbtd@0.2.0-rc.2, to be published to npm dist-tagsnextandlatest/ 将发布到 npm dist-tagnext与latest
English
Breaking
- Host event evidence v2. The current contract and evidence profile are
omp-extension-v2/omp-host-events-v2. Evidence consumers must use v2; historical v1 ledger records remain read-only and are not relabeled as v2. - Required handoff proof.
session_compactis now a required Host Event: 13 required events plus 1 optional event make 14 subscriptions. A successful handoff must be proven by a correlatedsession_compactwithcompactionEntry.method === "handoff". A missing method or a competing compact in the window fails;HANDOFF_EVENT_UNOBSERVABLEis a hard failure again.
Changed
- Renamed the Chinese README from
README_zh.mdtoREADME.zh.mdand included it in the npm package, with both language links pinned to this release tag.
Sources: #123 (implementation) and #122 (contract decisions).
简体中文
Breaking(破坏性变更)
- Host Event 证据 v2。 当前契约与证据 profile 为
omp-extension-v2/omp-host-events-v2。证据消费者须使用 v2;历史 v1 ledger 记录保持只读,不重标为 v2。 - 必需的 handoff 证明。
session_compact现为必需 Host Event:13 个必需事件加 1 个可选事件,共 14 个订阅。成功 handoff 必须由关联的session_compact证明,且compactionEntry.method === "handoff"。缺少 method 或窗口内存在竞争 compact 均失败;HANDOFF_EVENT_UNOBSERVABLE恢复为硬失败。
变更
- 中文 README 从
README_zh.md改名为README.zh.md,随 npm 包发布;两个语言链接均钉本 release tag。
Deployment boundary / 部署边界
This release does not change the omp peer range (>=18 <19, tested on 18.11.1), does not touch @kunolu/dsh-sbtd, and does not modify any existing host installation; hosts pick it up only on their next omp plugin install/update. Because latest will also point to 0.2.0-rc.2, unversioned installs resolve to this RC.
本次发布不改变 omp peer 范围(>=18 <19,实测 18.11.1),不涉及 @kunolu/dsh-sbtd,也不改动任何已有宿主安装;宿主只在下次 omp plugin install 或更新时取得。由于 latest 也将指向 0.2.0-rc.2,不带版本的安装会取得此 RC。
Full comparison / 完整对比: omp-sbtd-v0.2.0-rc.1...omp-sbtd-v0.2.0-rc.2
@kunolu/dsh-sbtd 0.2.0-rc.2
Release identity / 发布身份
- Annotated tag / 标注标签:
dsh-sbtd-v0.2.0-rc.2 - Commit / 提交:
548a0bf125e3b3fe1407de11094409e55c2e779e(squash merge of #118) - Exact-commit CI / 精确提交 CI: Frozen-tarball Host Event live cell green on tip
40dc46d(squash source of this merge) — https://github.com/KunoLu/sbtd-plugins/actions/runs/39928174466 - Native scope verified / 原生范围核验:
@kunolu/dsh-sbtd@0.2.0-rc.2on npm, dist-tagsnextandlatestboth0.2.0-rc.2(shasum3e414ff4440cee1e7a1bb59fb58cc1e548912239); unit tests 342/342; tarball 103 files incl.README.md,README.zh.md,CHANGELOG.md,CHANGELOG.zh.md
English
Changed
- Documentation-only RC: English default
README.mdand Chinese mirrorREADME.zh.md, with release-tag-pinned language switchers. - No runtime or contract changes. Host range remains
>=0.2.0-rc.2 <0.3.0-0; development host stays pinned to@deepseek-ai/dsh@0.2.0-rc.2.
简体中文
变更
- 仅文档 RC:英文默认
README.md与中文镜像README.zh.md,顶部语言切换链接钉到 release tag。 - 无运行时或契约变化。宿主范围保持
>=0.2.0-rc.2 <0.3.0-0;开发宿主仍钉为@deepseek-ai/dsh@0.2.0-rc.2。
Deployment boundary / 部署边界
English: This tag and prerelease were created after the npm publish (backfilled) so the README language links resolve; the package was not republished. The manual dsh-host-compat run on this commit (https://github.com/KunoLu/sbtd-plugins/actions/runs/39933109206) is red on both REQUIRED rows because the smoke script still hardcodes plugin version 0.1.0-rc.3 (stale since #99); a chore PR will fix it and rerun. Until then 0.2.x has no green REQUIRED host smoke. This release does not change existing hosts.
简体中文:本 tag 与 prerelease 在 npm 发布之后补建,用于让 README 语言链接可访问;包未重新发布。本提交上手动触发的 dsh-host-compat(https://github.com/KunoLu/sbtd-plugins/actions/runs/39933109206)两个 REQUIRED 格均为红,原因是 smoke 脚本仍写死插件版本 0.1.0-rc.3(自 #99 起过期);将由 chore PR 修复后重跑。在此之前 0.2.x 没有绿色的 REQUIRED 宿主冒烟结果。本次发布不改动已有宿主。
Full comparison / 完整对比: dsh-sbtd-v0.2.0-rc.1...dsh-sbtd-v0.2.0-rc.2
@kunolu/omp-sbtd 0.2.0-rc.1
Release identity / 发布身份
- Annotated tag / 标注标签:
omp-sbtd-v0.2.0-rc.1(tag object942fca1322fe6b3fc8441fe3a83d0e0198b850ab) - Commit / 提交:
f4ea2ac729a6fda86cd41425563d65c68afb3aa3(#114 squash merge) - PR-tip CI / PR tip CI:
omp-runtime-linux-probegreen on tipfa669e64d83bfa06602669ef89c02bb70f84d085(squash source of this merge) — https://github.com/KunoLu/sbtd-plugins/actions/runs/39773197353 - Packed tarball check / 打包核验:
check-package --packedexit 0, noSBOM_MISMATCH; 471 files; sourceTreeSha25606b01ba05f97e91ff979f11ae76664ab5375e80f84bfa33ab92d4c40f1014a06, sbomSha256b654e0be249c9200d94a6d0d9497d90a5dc4520fdc8de8740a38ae5f154f7b14 - npm:
@kunolu/omp-sbtd@0.2.0-rc.1, to be published to npm dist-tagsnextandlatest/ 将发布到 npm dist-tagnext与latest
English
Breaking
- No longer supports omp 17.x; tested only on 18.11.1; as of the D11 lock on 2026-10-19, upstream latest was 18.12.2.
- Unversioned installs (
omp plugin install @kunolu/omp-sbtd) now resolve to 0.2.0-rc.1, because npm dist-tagslatestandnextboth point to it; it requires omp>=18 <19. omp 17.x users must explicitly pin an older 0.1.x version.
Added
- Expanded onboard runtime bundle. Includes all 33 upstream Python scripts, nine runtime assets,
onboard-contracts.schema.json,upgrade.schema.json, and thesbtd-tasktemplate tree (eight template files, plus LICENSE and NOTICE). - Python dependency preflight. Ships
kit/onboard/runtime/requirements.txtwith five pinned dependencies:jsonschema,PyYAML,markdown-it-py,tomlkit, andcryptography. Recognized dependency-requiring SBTD Python commands, including upgrade and migration, are checked in isolation before execution and fail closed if any dependency is missing; signature verification refuses to run withoutcryptography. No automatic installation or skipped fallback. Standard-library-only onboard commands remain usable; this host guard is not a general shell sandbox. - Install-path host smoke. Verified the packed plugin on omp
18.11.1through installation and discovery viaomp.extensions, real command, tool and hook registration, and project onboard. This is smoke evidence, not model end-to-end testing or full host-event certification.
Changed
- Kit ownership. Moved sync, projection and generation into
packages/omp-sbtd/scripts/andpackages/omp-sbtd/upstream/, then deleted the privatepackages/sbtd-workflow-kitworkspace package. Supply-chainsourceIdremainssbtd-workflow-kit-upstream. - Upstream sync. Updated to
640-skillsv2.0.2(1d82494d74f6df9bca7dccef2da409f87091883e) withtransformVersion: p0-v4. Both embedded AGENTS templates now use that revision; third-party notices were regenerated. - Canonical runtime projection. Expanded the
PROJECTION_FORBIDDEN_TOKENexemption fromonboard.pyto the canonical onboard runtime Python scripts, assets and two schemas. Content remains digest-bound to the canonical manifest; overlays cannot use the exemption for non-canonical content. - Portable Skill candidates. Removed the deleted upstream
trellis-workflowcandidate; missing candidates still fail closed. - Onboard Skill catalog. Replaced
skill:trellis-workflowandskill:trellis-channelwithskill:sbtd-task. - omp 18 host contract. The peer range is
>=18 <19, with the development dependency pinned to18.11.1. Event schemas acceptsession_branchreasonsbranch,fork,btwandsession_switchreasonsnew,resume,fork. - v2.0.2 task routing. The optional
trelliscapability now maps tosbtd-task, without requiring.trellis/workflow.mdfor Skill readiness. Read-only task observation recognizesin-progressandcheckingrecords underai/tasks/**and.sbtd/tasks/**; legacy.trellisobservation remains read-only. Task state writing stays with sbtd-task.
Known limitations
- Handoff evidence on omp 18.x. Handoff is not observable as
session_switch. The p0 host-event live cell temporarily recordsHANDOFF_EVENT_UNOBSERVABLEas a diagnostic rather than a hard failure. A registered follow-up will first update the PRD, then implementsession_compactobservation in a separate code PR and restore the hard failure for missing handoff evidence after that code PR merges.
Known issue
- Exact-local-OMP 18.11.1 smoke test not passed on the release host. In the full test suite (884 passed / 1 failed / 3 skipped),
test/p0-authorized-omp-rpc-harness.test.ts› "smoke-only: exact local OMP 18.11.1 …" fails because the release host's Bun offline cache lacks thezodand@oh-my-pi/pi-coding-agentmanifests. This is an environment cause and is recorded as not passed (not PASS); the release proceeds by user decision on 2026-10-22 20:27 (UTC+8). The D11 hard gate — the omp 18.11.1 real-host install-path smoke (row C, #107) — passed. A separate fix task will follow.
简体中文
Breaking(破坏性变更)
- 不再支持 omp 17.x;只在 18.11.1 上实测过;截至 2026-10-19 D11 锁定时,上游最新是 18.12.2。
- 不带版本的安装(
omp plugin install @kunolu/omp-sbtd)现在会取得 0.2.0-rc.1,因为 npm dist-taglatest与next均指向该版本;它要求 omp>=18 <19。omp 17.x 用户须显式钉旧的 0.1.x 版本。
新增
- 扩展 onboard runtime 随包内容。 收录全部 33 个上游 Python 脚本、9 个 runtime assets、
onboard-contracts.schema.json、upgrade.schema.json,以及sbtd-task模板树(八个模板文件,另含 LICENSE、NOTICE)。 - Python 依赖预检。 随包提供
kit/onboard/runtime/requirements.txt,含 5 个钉版依赖:jsonschema、PyYAML、markdown-it-py、tomlkit和cryptography。对可识别且需要依赖的 SBTD Python 命令(含 upgrade 与 migration),执行前进行隔离检查;缺任一依赖即 fail-closed 拒跑,验签缺cryptography也拒跑。不自动安装,不降级为 skipped。仅用标准库的 onboard 命令仍可用;此宿主 guard 不是通用 shell sandbox。 - 安装路径宿主 smoke。 已在 omp
18.11.1上验证打包插件的安装、经omp.extensions发现、真实命令/工具/hook 注册及项目 onboard。这是 smoke 证据,不是模型端到端测试或完整宿主事件认证。
变更
- Kit 归属。 同步、投影与生成迁入
packages/omp-sbtd/scripts/和packages/omp-sbtd/upstream/,随后删除私有 workspace 包packages/sbtd-workflow-kit。供应链sourceId保持sbtd-workflow-kit-upstream。 - 上游同步。 升至
640-skillsv2.0.2(1d82494d74f6df9bca7dccef2da409f87091883e),transformVersion为p0-v4。两个嵌入 AGENTS 模板统一到该 revision,third-party notices 已重新生成。 - Canonical runtime 投影。
PROJECTION_FORBIDDEN_TOKEN豁免从onboard.py扩展到 canonical onboard runtime 的 Python 脚本、assets 与两个 schema。内容仍以 digest 绑定 canonical manifest;overlay 不能借该豁免引入非 canonical 内容。 - Portable Skill 候选。 移除上游已删除的
trellis-workflow候选;缺失候选仍 fail-closed。 - Onboard Skill catalog。 用
skill:sbtd-task替换skill:trellis-workflow与skill:trellis-channel。 - omp 18 宿主契约。 peer 范围为
>=18 <19,开发依赖精确钉18.11.1。事件 schema 接受session_branch的branch、fork、btwreason,以及session_switch的new、resume、forkreason。 - v2.0.2 任务路由。 optional
trelliscapability 现映射到sbtd-task,Skill readiness 不再要求.trellis/workflow.md。只读任务观测识别ai/tasks/**与.sbtd/tasks/**下状态为in-progress或checking的记录;旧.trellis观测保持只读。任务状态仍由 sbtd-task 写入。
已知限制
- omp 18.x 的 handoff 证据。 handoff 无法作为
session_switch观测;p0 host-event live cell 暂将HANDOFF_EVENT_UNOBSERVABLE记为 diagnostic,而非硬失败。已登记后续:先更新 PRD,再以独立代码 PR 实现session_compact观测;该代码 PR 合并后,恢复对缺失 handoff 证据的硬失败。
已知问题
- 发布机上 exact-local-OMP 18.11.1 smoke 测试未通过。 全量测试(884 通过 / 1 失败 / 3 跳过)中,
test/p0-authorized-omp-rpc-harness.test.ts› "smoke-only: exact local OMP 18.11.1 …" 失败,原因是发布机 Bun 离线缓存缺少zod与@oh-my-pi/pi-coding-agent的 manifest。属环境原因,记为未通过(不记为 PASS);按用户 2026-10-22 20:27(UTC+8)决定保留并继续发版。D11 硬门——omp 18.11.1 真实宿主安装路径 smoke(行 C,#107)——已通过。后续将另开修复任务。
Install / 安装
English: Prefer the exact RC over a moving dist-tag such as @latest for a reproducible installation. Requires omp >=18 <19; check with omp --version first.
简体中文:为保证可复现安装,优先使用精确 RC 版本,而非 @latest 这类会移动的 dist-tag。要求 omp >=18 <19,安装前先用 omp --version 确认。
omp plugin install @kunolu/omp-sbtd@0.2.0-rc.1
# project scope only / 仅当前项目:
omp plugin install --scope project @kunolu/omp-sbtd@0.2.0-rc.1Deployment boundary / 部署边界
English: 0.2.0-rc.1 is to be published to npm dist-tag next, then dist-tag latest will also be moved to 0.2.0-rc.1 (D4), so latest = next = 0.2.0-rc.1. Unversioned installs will then get 0.2.0-rc.1, which needs omp >=18 <19; omp 17.x users must pin an older 0.1.x version (for example @kunolu/omp-sbtd@0.1.0-rc.14).
简体中文:0.2.0-rc.1 将发布到 npm dist-tag next,随后 dist-tag latest 也将指向 0.2.0-rc.1(D4),即 latest = next = 0.2.0-rc.1。届时不带版本的安装会取得 0.2.0-rc.1,要求 omp >=18 <19;omp 17.x 用户须钉旧的 0.1.x 版本(例如 @kunolu/omp-sbtd@0.1.0-rc.14)。
Docs / 文档: README (English) · README(简体中文) · CHANGELOG · CHANGELOG(中文)
Full comparison / 完整对比: f11abd2...omp-sbtd-v0.2.0-rc.1
@kunolu/dsh-sbtd 0.2.0-rc.1
Release identity / 发布身份
- Annotated tag / 标注标签:
dsh-sbtd-v0.2.0-rc.1 - Commit / 提交:
1fdf9e8701afbb7d199c3f3ca5d10ac4a6a0a831 - Exact-commit CI / 精确提交 CI: Frozen-tarball Host Event live cell green on tip
1798018ad41c235ff4b1862d2186cf811e997440(squash source of this merge) — https://github.com/KunoLu/sbtd-plugins/actions/runs/39162856179 - Native scope verified / 原生范围核验:
@kunolu/dsh-sbtd@0.2.0-rc.1on npm dist-tagnext(shasum0b4f3ef93703963757cd8cb991a65bb1d0cd35e6);latestremains0.1.0-rc.1
English
Added
- Graft analysis backend for
sbtd_validatepre/post (read-only via managed launcher; six skip reasons; never blocks load; strict →graftEvidence: "未证明"). - sbtd-task read layer and layered
workflow_moderesolution (tool/host→ task file →default); plan/review/validate return mode + source. - Lessons v2 (
.sbtd/developeridentity; layereddocs/lessons/store; legacy.trellislessons read-only;graft-mismatchrename). - V4 host adaptation: notice kind
'dsh-sbtd'(legacy'plugin:dsh-sbtd'still recognized);runPreSteppreservesstartsRequestSeries. - sbtd-task manual synced from
640-skillsv2.0.2(1d82494d…) includingreferences/+task-data.schema.json. - Two-row REQUIRED host-compat CI for
@deepseek-ai/dsh0.2.0-rc.2and0.2.1-rc.2.
Changed
- Host range:
peerDependencies["@deepseek-ai/dsh"]andengines.dshboth>=0.2.0-rc.2 <0.3.0-0; devDep pin0.2.0-rc.2. sbtd_validateanalysis fieldgitnexus→graft(no dual field).- Mode-gated enforcement (strict deny vs default/lite notice on failed required book gates).
- Draft-only planning tools (
sbtd_spec/sbtd_tickets/ task-artifact); TaskStore remains the only task writer. - Manuals supply chain pinned to
640-skillsv2.0.2with per-file sha256 MANIFEST.
Removed
- Trellis backend and GitNexus backend (including
trellis-workflowmanual). Plugin no longer writes.trellis/**; legacy lessons trees stay readable.
简体中文
新增
- Graft 分析后端(
sbtd_validatepre/post;只读走 managed launcher;六种 skip reason;不拒载;strict 下记graftEvidence: "未证明")。 - sbtd-task 只读层与
workflow_mode分层解析(工具/宿主 → task.md →default);plan/review/validate 返回模式与来源。 - lessons v2(
.sbtd/developer身份;docs/lessons/layered 库;旧.trellislessons 只读;graft-mismatch改名)。 - V4 宿主适配:notice kind
'dsh-sbtd'(仍识别'plugin:dsh-sbtd');runPreStep保留startsRequestSeries。 - sbtd-task 手册同步自
640-skillsv2.0.2(1d82494d…),含references/与task-data.schema.json。 - 两行 REQUIRED 宿主兼容 CI:
0.2.0-rc.2与0.2.1-rc.2。
变更
- 宿主范围:
peerDependencies["@deepseek-ai/dsh"]与engines.dsh均为>=0.2.0-rc.2 <0.3.0-0;devDep 钉0.2.0-rc.2。 sbtd_validate分析字段gitnexus→graft(不留双字段)。- 按模式分级强制(strict deny;default/lite 降级 notice)。
- 规划类工具只回草稿;任务记录唯一 writer 仍是 TaskStore。
- 手册供应链钉
640-skillsv2.0.2,MANIFEST 逐文件 sha256。
移除
- Trellis 后端与 GitNexus 后端(含
trellis-workflow手册)。不再写.trellis/**;旧 lessons 树仍可读。
Deployment boundary / 部署边界
English: npm install with @deepseek-ai/dsh@0.2.1-rc.2 can ERESOLVE (npm peer default lacks includePrerelease across patch-rc). pnpm host-compat REQUIRED rows for 0.2.0-rc.2 and 0.2.1-rc.2 pass. Range stays >=0.2.0-rc.2 <0.3.0-0 (no retreat). Prefer pnpm / dsh plugin manager; npm users on 0.2.1-rc.2 may need overrides. This publish updates dist-tag next only — latest remains 0.1.0-rc.1.
简体中文:搭配 @deepseek-ai/dsh@0.2.1-rc.2 用 npm install 可能 ERESOLVE(npm peer 默认无 includePrerelease,跨 patch rc)。pnpm 宿主兼容两行 REQUIRED 均通过。范围保持 >=0.2.0-rc.2 <0.3.0-0,不退回。推荐 pnpm / dsh 插件管理器;npm 0.2.1-rc.2 用户可能需 overrides。本次只更新 dist-tag next,latest 仍为 0.1.0-rc.1。
Full comparison / 完整对比: bbe1178...dsh-sbtd-v0.2.0-rc.1