{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"sandbaseai-sandbase-harness","slug":"sandbaseai-sandbase-harness","rank":22,"url":"https://github.com/sandbaseai/sandbase-harness","name":"sandbaseai/sandbase-harness","category":"workflow","description":{"zh":"通过 stdio MCP 将 dsh 连接到本地 SandBase Harness 运行时，用于管理代理与会话、流式执行任务、检查产物和取消工作。","en":"Connects dsh to a local SandBase Harness runtime over stdio MCP for managing agents and sessions, streaming turns, inspecting artifacts and cancelling work."},"stars":628,"starsCheckedAt":"2026-08-21","repository":{"owner":"sandbaseai","repo":"sandbase-harness","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:sandbaseai/sandbase-harness","tarball":null,"added":"2026-08-19","page":"https://awesome-dsh-plugin.com/p/sandbaseai/sandbase-harness/","screenshots":[],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"sandbaseai-sandbase-harness","slug":"sandbaseai-sandbase-harness","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:19:42.359Z","scanStatus":"static-complete","verdict":"review","score":77,"commit":"65ce225d01f56b5584d833af6b1afcc119dfd323","commitDate":"2026-08-20T14:30:17+08:00","artifactDigest":"sha256:767a14d74c2b812ccdc096f27b1157f431cfac6ffc802fffa3730d02e7cb1655","downloadUrl":"https://github.com/sandbaseai/sandbase-harness/archive/65ce225d01f56b5584d833af6b1afcc119dfd323.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:sandbaseai/sandbase-harness","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"managed-agents","packageVersion":"0.3.7","bundle":{"patch":"./examples/deepseek-harness/cordis.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"managed-agents","nameMatch":null,"npm":{"name":"managed-agents","latestVersion":"0.0.1","publishedAt":"2026-07-30T05:09:50.331Z","createdAt":"2026-07-30T05:09:50.022Z","versionCount":1,"maintainers":1,"repository":"git+https://github.com/aiwhiteteam/open-managed-agents.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"mismatch","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"examples/deepseek-harness/cordis.yml","inserts":[{"id":"mcp-sandbase-harness","name":"@deepseek-ai/dsh-mcp-client","path":"examples/deepseek-harness/cordis.yml","disabled":false}],"overrides":[],"jsExpressions":3,"clientPlatform":null,"parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","mcp","network","session","subprocess","telemetry"],"outboundHosts":[{"host":"api.minimax.io","count":4},{"host":"mcp.notion.com","count":3},{"host":"drivemcp.googleapis.com","count":2},{"host":"gmailmcp.googleapis.com","count":2},{"host":"calendarmcp.googleapis.com","count":2},{"host":"mcp.canva.com","count":2},{"host":"mcp.figma.com","count":2},{"host":"mcp.example.com","count":2},{"host":"api.example.com","count":2},{"host":"s3.amazonaws.com","count":2},{"host":"api.minimaxi.com","count":2},{"host":"api.anthropic.com","count":1},{"host":"api.openai.com","count":1},{"host":"mcp.sentry.dev","count":1},{"host":"mcp.linear.app","count":1},{"host":"mcp.slack.com","count":1},{"host":"api.githubcopilot.com","count":1},{"host":"platform.minimax.io","count":1},{"host":"platform.minimaxi.com","count":1}],"findings":[{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"low","confidence":"low","layer":"dsh-semantics","path":"examples/deepseek-harness/cordis.yml","pathClass":"test-example-docs","line":9,"evidence":"!!js dshHomePath('profiles/web/node_modules/managed-agents/dist/mcp/index.js')","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","note":"位于测试、示例或文档目录","hash":"eedcc0d39a8a2f0428a1f1c1"},{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"medium","confidence":"low","layer":"dsh-semantics","path":"examples/deepseek-harness/cordis.yml","pathClass":"test-example-docs","line":11,"evidence":"!!js process.env.MANAGED_AGENTS_URL ?? 'http://127.0.0.1:3000'","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","note":"表达式访问模块、进程或网络，超出读取注入服务的常规用法；位于测试、示例或文档目录","hash":"1c53152dcb3d7cd0c2a692b0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/smoke-release.mjs","pathClass":"source","line":5,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"ba00efcbefc82ca51fdbefef"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/smoke-release.mjs","pathClass":"source","line":5,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"34a6e2fa51a4dc08a95f3a6e"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/cli/worker-commands.ts","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b6da37715e312a0385ce0fd5"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/runtime/lifecycle.ts","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"2fba7173f1ad22f0af8e0a18"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/session/snapshot-manager.ts","pathClass":"source","line":13,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"baa04c9f128149d69fe93ee0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/session/snapshot-manager.ts","pathClass":"source","line":13,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"554dfc9191a970c664637972"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/templates/templates.ts","pathClass":"test-example-docs","line":26,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"aede79bd92c2863a1d529641"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/templates/templates.ts","pathClass":"test-example-docs","line":26,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"f8715f2e273c18cb49cdca30"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/sandbox/docker-provider.ts","pathClass":"source","line":13,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"693e3985b6ea1bba410c298b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/sandbox/docker-provider.ts","pathClass":"source","line":13,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"93deb23e4fbc81d75eebc83c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/sandbox/kubernetes-provider.ts","pathClass":"source","line":27,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"8dd7d8c886122eaa1be02f30"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/sandbox/kubernetes-provider.ts","pathClass":"source","line":27,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"c5e95de71566ce2ed643a7c3"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/sandbox/local-provider.ts","pathClass":"source","line":18,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b164e68488dbafebc741789b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/docker-sandbox.test.ts","pathClass":"test-example-docs","line":9,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"49a86b5fb5b4eee9bc0ea44b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/docker-sandbox.test.ts","pathClass":"test-example-docs","line":9,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"e40871743628d5f3ef21a34b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/kubernetes-sandbox-errors.test.ts","pathClass":"test-example-docs","line":14,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"4cc70dc2cdaf3a8ad9910ccb"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/kubernetes-sandbox-errors.test.ts","pathClass":"test-example-docs","line":14,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"cc97b8604aecd560bc0b80eb"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/kubernetes-sandbox-security.test.ts","pathClass":"test-example-docs","line":15,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"89394b405010d2c1d2d2f7aa"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/kubernetes-sandbox-security.test.ts","pathClass":"test-example-docs","line":15,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"27e9aa07f814d86ab0a3e406"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/kubernetes-sandbox.test.ts","pathClass":"test-example-docs","line":20,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"daca63dd670eb16a6f6165c8"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/kubernetes-sandbox.test.ts","pathClass":"test-example-docs","line":20,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"b1b8b31fd50a3c1d4890ceed"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/unit/kubernetes-sandbox.test.ts","pathClass":"test-example-docs","line":11,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"e178bd727875f2497dd4feed"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/unit/kubernetes-sandbox.test.ts","pathClass":"test-example-docs","line":11,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"4be3b129a149043ceb0c823d"},{"id":"HT-DATA-001","title":"同一模块同时接触凭据与网络","severity":"high","confidence":"low","layer":"static","path":"scripts/smoke-release.mjs","pathClass":"source","line":65,"evidence":"credential access at line 65 + outbound network at line 80","remediation":"拆分能力边界，限定目的域名，并提供不会发送凭据值的可验证证明。","hash":"d7a64c6a431aa76cb838fd40","review":{"verdict":"placeholder","reason":"该文件是发布前冒烟测试脚本scripts/smoke-release.mjs，OPENAI_API_KEY回退为固定字符串'smoke-test-key'仅用于本地127.0.0.1健康检查，非真实凭据也不会外发。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:17:57.003Z"}},{"id":"HT-DATA-001","title":"同一模块同时接触凭据与网络","severity":"medium","confidence":"medium","layer":"static","path":"src/cli/worker-commands.ts","pathClass":"source","line":77,"evidence":"credential access at line 77 + outbound network at line 71","remediation":"拆分能力边界，限定目的域名，并提供不会发送凭据值的可验证证明。","hash":"3f7b018047257c8fe1a827f6","review":{"verdict":"functional","reason":"environment_key经fetch发往`http://localhost:${opts.port}/v1/x/worker/claim`，即插件自身本地managed-agents运行时的worker认领接口，是声明功能（管理代理/会话）的必要部分，未发往第三方。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:17:57.003Z"}},{"id":"HT-IDENTITY-001","title":"npm 上存在同名包但指向其他仓库","severity":"low","confidence":"medium","path":"package.json","pathClass":"manifest","line":1,"evidence":"npm repository=git+https://github.com/aiwhiteteam/open-managed-agents.git ≠ sandbaseai/sandbase-harness","remediation":"npm 上存在同名包但指向其它仓库；从源码安装时请使用 github: 引用并锁定 commit。","layer":"identity","hash":"ba084bcae3cafc94b536a471"},{"id":"HT-VULN-001","title":"依赖存在已知漏洞","severity":"high","confidence":"medium","path":"package-lock.json","pathClass":"manifest","line":1,"evidence":"nanoid@3.3.15 GHSA-28wg-ghj8-5hjv (CVE-2026-67214) fixed in 3.3.16","remediation":"升级 nanoid 至 3.3.16 或更高版本。","layer":"vulnerability","hash":"984adeb3de71582aa38b5309","review":{"verdict":"unclear","reason":"package.json声明nanoid为^5.0.0，提供的lockfile片段未展示实际解析到的3.3.15版本号，无法确认该漏洞是否真实命中。","model":"sonnet","reviewedAt":"2026-08-21T10:45:02.786Z"}},{"id":"HT-VULN-001","title":"依赖存在已知漏洞","severity":"high","confidence":"medium","path":"package-lock.json","pathClass":"manifest","line":1,"evidence":"nanoid@3.3.15 GHSA-2v37-7h3g-55p8 (CVE-2026-67213) fixed in 3.3.18","remediation":"升级 nanoid 至 3.3.18 或更高版本。","layer":"vulnerability","hash":"823e3c37f82756840ef9d007","review":{"verdict":"unclear","reason":"同上，package-lock.json片段中未见nanoid实际resolved版本为3.3.15的证据，且对应GHSA/CVE编号无法核实，证据不足。","model":"sonnet","reviewedAt":"2026-08-21T10:45:02.786Z"}},{"id":"HT-VULN-001","title":"依赖存在已知漏洞","severity":"medium","confidence":"medium","path":"package-lock.json","pathClass":"manifest","line":1,"evidence":"@hono/node-server@1.19.14 GHSA-frvp-7c67-39w9 fixed in 2.0.5","remediation":"升级 @hono/node-server 至 2.0.5 或更高版本。","layer":"vulnerability","hash":"dccdeb9d54aa86a7be4699de"},{"id":"HT-VULN-001","title":"依赖存在已知漏洞","severity":"medium","confidence":"medium","path":"package-lock.json","pathClass":"manifest","line":1,"evidence":"hono@4.12.29 GHSA-54fx-42gc-7vw4 (CVE-2026-71848) fixed in 4.12.34","remediation":"升级 hono 至 4.12.34 或更高版本。","layer":"vulnerability","hash":"09dba557ca852c2f7d3edda8"},{"id":"HT-VULN-001","title":"依赖存在已知漏洞","severity":"medium","confidence":"medium","path":"package-lock.json","pathClass":"manifest","line":1,"evidence":"hono@4.12.29 GHSA-8j4g-w8fx-2239 (CVE-2026-69207) fixed in 4.12.34","remediation":"升级 hono 至 4.12.34 或更高版本。","layer":"vulnerability","hash":"1aeea40a16d34ac77facbc81"},{"id":"HT-VULN-001","title":"依赖存在已知漏洞","severity":"medium","confidence":"medium","path":"package-lock.json","pathClass":"manifest","line":1,"evidence":"hono@4.12.29 GHSA-f23p-vx2j-j53r (CVE-2026-71850) fixed in 4.12.34","remediation":"升级 hono 至 4.12.34 或更高版本。","layer":"vulnerability","hash":"ceeb6e50a727133cb171886d"}],"counts":{"critical":0,"high":2,"medium":5,"low":12},"rawCounts":{"critical":0,"high":3,"medium":6,"low":25},"vulnerabilities":[{"id":"GHSA-28wg-ghj8-5hjv","aliases":["CVE-2026-67214"],"package":"nanoid","version":"3.3.15","severity":"high","fixed":"3.3.16","summary":"nanoid: non-secure generators can loop indefinitely with negative size"},{"id":"GHSA-2v37-7h3g-55p8","aliases":["CVE-2026-67213"],"package":"nanoid","version":"3.3.15","severity":"high","fixed":"3.3.18","summary":"nanoid: custom generators can loop indefinitely when size is zero"},{"id":"GHSA-frvp-7c67-39w9","aliases":[],"package":"@hono/node-server","version":"1.19.14","severity":"medium","fixed":"2.0.5","summary":"Node.js Adapter for Hono: Path traversal in `serve-static` on Windows via encoded backslash (`%5C`)"},{"id":"GHSA-54fx-42gc-7vw4","aliases":["CVE-2026-71848"],"package":"hono","version":"4.12.29","severity":"medium","fixed":"4.12.34","summary":"Hono: Algorithmic Complexity DoS in Language Middleware"},{"id":"GHSA-8j4g-w8fx-2239","aliases":["CVE-2026-69207"],"package":"hono","version":"4.12.29","severity":"medium","fixed":"4.12.34","summary":"Hono: ReDoS in CORS middleware via Access-Control-Request-Headers"},{"id":"GHSA-f23p-vx2j-j53r","aliases":["CVE-2026-71850"],"package":"hono","version":"4.12.29","severity":"medium","fixed":"4.12.34","summary":"Hono: `memo()` retains SSR output across requests, leading to cross-user data disclosure"},{"id":"GHSA-33vc-wfww-vjfv","aliases":["CVE-2025-9910"],"package":"jsondiffpatch","version":"0.6.0","severity":"medium","fixed":"0.7.2","summary":"jsondiffpatch is vulnerable to Cross-site Scripting (XSS) via HtmlFormatter::nodeBegin"},{"id":"GHSA-866g-f22w-33x8","aliases":["CVE-2026-8769"],"package":"@ai-sdk/provider-utils","version":"2.2.8","severity":"low","fixed":null,"summary":"@ai-sdk/provider-utils has an Uncontrolled Resource Consumption issue"},{"id":"GHSA-rwvc-j5jr-mgvh","aliases":["CVE-2025-48985"],"package":"ai","version":"4.3.19","severity":"low","fixed":"5.0.52","summary":"Vercel’s AI SDK's filetype whitelists can be bypassed when uploading files"},{"id":"GHSA-79qm-7rj5-m7r9","aliases":["CVE-2026-71849"],"package":"hono","version":"4.12.29","severity":"low","fixed":"4.12.34","summary":"Hono: Proxy Helper does not remove response headers listed in the `Connection` header"}],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-present","vulnerabilities":"complete","identity":"complete","artifact":"not-compared","llmReview":"complete","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":309,"bytesScanned":2225311,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"data":21,"test-example-docs":103,"markdown":16,"html":1,"source":167,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-22T08:19:42.360Z","summary":null,"intentMatch":null,"findingsReviewed":4,"findingsCandidates":4,"fromCache":4,"usage":null}},"timeline":[{"scannedAt":"2026-08-22T08:19:42.359Z","commit":"65ce225d01f56b5584d833af6b1afcc119dfd323","policyVersion":"HT-DSH-0.2.2","verdict":"review","status":"static-complete"},{"scannedAt":"2026-08-21T11:17:57.003Z","commit":"65ce225d01f56b5584d833af6b1afcc119dfd323","policyVersion":"HT-DSH-0.2.1","verdict":"review","status":"static-complete"},{"scannedAt":"2026-08-21T10:45:02.786Z","commit":"65ce225d01f56b5584d833af6b1afcc119dfd323","policyVersion":"HT-DSH-0.2.0","verdict":"review","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"65ce225d01f56b5584d833af6b1afcc119dfd323","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:19:42.359Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"65ce225d01f56b5584d833af6b1afcc119dfd323","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:17:57.003Z"},{"kind":"first-scan","from":null,"to":"review","commit":"65ce225d01f56b5584d833af6b1afcc119dfd323","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:45:02.786Z"}]}