Repository navigation
docs(platform): record Ontology Runtime R2 contract for trusted execution (#328) - #344
Conversation
…ps examples Pure fail-closed action invariants plus bounded example payloads. Not a live execution proof and not a Sales Workbench core vocabulary.
…list #328 exported a new shared module but left it off SHARED_RUNTIME_FILES, so verify's package-layout tests failed on Node 24 (unpackaged import from packages/shared/dist/index.js).
验证证据(head
|
PeterGuy326
left a comment
There was a problem hiding this comment.
Request changes。
CI 和 PR 自带的 5 条 semantic-runtime 测试都通过;但这两个纯函数目前仍有 fail-open/幂等边界问题,不能批准为 AC-003 的安全契约。
阻塞项:
- P1:非法 expiresAt 必须 fail-closed。当前 Date.parse 返回 NaN 时,NaN <= Date.now() 为 false,assertExecutable 会返回 null,把格式错误的过期时间当成可执行。
- P1:重试身份必须绑定 target version。当前 sameIdempotencyRetry 只比较 idempotencyKey、id 和 target.id;即使 target.version 变了,只要 key 被错误复用仍返回 true,和目标版本失效规则冲突。
- P2:实现允许 proposed/approved 直接进入 failed,但 #346 的规范状态机没有这两条迁移;请在规范中解释预运行失败,或收紧实现并补测试。
修复并补回归测试后请重新请求 review;当前没有批准或合并。
PeterGuy326
left a comment
There was a problem hiding this comment.
Reviewed current head 9b6b7d1.
- Invalid expiresAt now fails closed with an explicit invalid-expiry result.
- Retry identity now includes target.version, and the regression test covers a changed target version.
- proposed/approved can no longer transition directly to failed; the added tests cover the state-machine boundary.
- The semantic-runtime focused suite is 8/8, and current required hosted checks are green, including Node 24 Ubuntu/macOS, staging smoke, installer/layout parity, CodeQL, dependency review, and Scorecard.
- The diff is limited to the documented contract/examples, pure shared helpers, packaging allowlist, and focused tests; no live GitHub execution or business/product acceptance is claimed.
Technical review is approved. The PR remains BEHIND main and #328 AC-001/productOwner/technicalOwner plus live proof are explicitly still pending; those are separate merge/product gates, not silently approved by this review.
|
Updated branch onto current |
|
Squash-merged #326. Updating this branch onto current |
|
Post-#326 update-branch CI is green on Resolved the three outdated review threads from the earlier fail-closed / retry-identity / state-machine comments; those are fixed on Still not merging: #328 AC-001 owner/pilot and live AC-004/AC-006 proof remain open. |
|
Squash-merged #324. Updating this branch onto current |
Refs #328
What this is
R2 design increment asked for an Ontology Runtime seam and evidence on the issue. This PR records the glossary/boundary, publishes two bounded example payloads on the #302 github-ops pilot, adds fail-closed pure tests for AC-003, and packages
semantic-runtime.json the shared runtime allowlist.It is not live GitHub execution, not a graph database, and not Sales Workbench vocabulary in core.
Commits
b6acbcacontract + examples + tests5d267c0adddist/semantic-runtime.jstoSHARED_RUNTIME_FILES(first CI failed without this)9b6b7d1fail closed on invalid expiry, bind retries to target version, and align pre-run transitions with docs(platform): record trusted execution semantic contract R1 (#328) #346Validation ledger
docs/design/ontology-runtime-r2.md§2–3examples/github-ops/semantic/*.v1.jsonapps/server/test/semantic-runtime.test.tsgh pr mergeexecution claimed9b6b7d18Review follow-up on
9b6b7d1expiresAtnow returnsproposal_expiry_invalid; malformed time can no longer fail open.sameIdempotencyRetrynow requires the sametarget.version.proposed/approved → failedare rejected; pre-run transitions match docs(platform): record trusted execution semantic contract R1 (#328) #346.Local verification
The broader local run reached scripts 203/203, UI 36/36, server 513 pass / 2 skip / 1 unrelated pre-existing WorkBuddy signal-exit assertion, renderer 528/528, and security audit passed at the repository's
highthreshold. Two unrelated packaged-smoke temp-directory cleanup assertions also fail consistently in this sandbox. Current-head GitHub CI remains authoritative for the supported ubuntu/macos/windows lanes.First-run CI on
b6acbcafailedpackage-layout.test.mjs:packages/shared/dist/index.js imports unpackaged dist/semantic-runtime.js. Fixed in5d267c0.No merge, issue close, product acceptance, live business impact, or owner assignment is claimed. Independent re-review is still required.