From f1d63b101c524647592258dcc870403eb1c08615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E9=BB=98=E6=B6=B5?= <21739308@qq.com> Date: Wed, 23 Sep 2026 17:22:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=20runner=20=E7=BA=A6?= =?UTF-8?q?=E5=AE=9A=E5=92=8C=20PicoDet=20=E6=A0=87=E5=87=86=E6=8A=A5?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 4 + .../sdk-standard/picodet-series-after.json | 254 ++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 reports/sdk-standard/picodet-series-after.json diff --git a/AGENTS.md b/AGENTS.md index d999e5d..e2efe14 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -42,3 +42,7 @@ Run the checker plus the relevant package tests, portal checks, build, and browser smoke tests. Do not claim compatibility beyond dated verification evidence. Preserve unrelated user changes and do not perform remote GitHub mutations without explicit scope. + +## Runner + +如需启动或检查 self-hosted runner,工作目录为 `F:\github-runner`。 diff --git a/reports/sdk-standard/picodet-series-after.json b/reports/sdk-standard/picodet-series-after.json new file mode 100644 index 0000000..88ea99e --- /dev/null +++ b/reports/sdk-standard/picodet-series-after.json @@ -0,0 +1,254 @@ +{ + "scanDate": "2026-09-15", + "historicalSnapshot": true, + "note": "历史标准快照:本报告生成时使用 standards/v1 1.1.0;当前标准已升级为 1.3.0,本文件不作为当前合规结论。", + "standardVersion": "1.1.0", + "repositories": [ + { + "standardVersion": "1.1.0", + "repository": "detection-picodet-series-fp32", + "summary": { + "requiredPassed": 18, + "requiredFailed": 0, + "requiredSkipped": 4, + "requiredUnknown": 0, + "requiredNotApplicable": 0, + "recommendedPassed": 3, + "recommendedFailed": 0, + "labs": 1, + "status": "locally-compliant" + }, + "findings": [ + { + "id": "CACHE-001", + "level": "required", + "status": "pass", + "message": "Cache storage, versioning, estimate, and cleanup are declared", + "remediation": "Add cache contract fields and expose cleanup controls in the Demo.", + "path": "sdk-manifest.yaml", + "evidence": "sdk-manifest.yaml" + }, + { + "id": "DEMO-001", + "level": "required", + "status": "pass", + "message": "A runnable standalone Demo entry exists", + "remediation": "Add a Demo app with a documented start/build command.", + "path": "apps/demo/index.html", + "evidence": "apps/demo/index.html" + }, + { + "id": "DEMO-002", + "level": "required", + "status": "pass", + "message": "Demo declares Chinese as its initial language", + "remediation": "Set lang or default language state to zh-CN.", + "path": "apps/demo/index.html", + "evidence": "apps/demo/index.html, apps/demo/src/App.tsx, apps/demo/src/ClassFilter.tsx, apps/demo/src/i18n/en.ts, apps/demo/tests/class-filter.spec.ts, apps/demo/tests/target-selection.spec.ts, examples/cdn/index.html, examples/model-variants/index.html, examples/react/index.html, examples/vanilla-vite/index.html, examples/vanilla/index.html, examples/vue/index.html, examples/wechat-webview/index.html" + }, + { + "id": "DEMO-003", + "level": "required", + "status": "pass", + "message": "Demo provides an in-page Chinese/English toggle", + "remediation": "Add a language toggle that does not alter inference state.", + "path": "apps/demo/src/App.tsx", + "evidence": "apps/demo/src/App.tsx, apps/demo/src/ClassFilter.tsx, apps/demo/src/i18n/detection-labels.ts, apps/demo/src/i18n/en.ts, apps/demo/src/i18n/zh-CN.ts, apps/demo/src/styles.css, apps/demo/tests/class-filter.spec.ts, apps/demo/tests/demo.spec.ts, apps/demo/tests/image-export.spec.ts, apps/demo/tests/image-zoom.spec.ts, apps/demo/tests/precision-selection.spec.ts, apps/demo/tests/small-objects.spec.ts, apps/demo/tests/target-selection.spec.ts" + }, + { + "id": "DEMO-004", + "level": "required", + "status": "pass", + "message": "Demo exposes current-model and global cache cleanup controls", + "remediation": "Wire clear-current and clear-all actions to the SDK cache API.", + "path": ".github/workflows/ci.yml", + "evidence": ".github/workflows/ci.yml" + }, + { + "id": "DEMO-005", + "level": "required", + "status": "pass", + "message": "Demo exposes model/runtime/timing information", + "remediation": "Render data-sdk-model-info, data-sdk-runtime-info, and data-sdk-timing regions.", + "path": ".github/workflows/ci.yml", + "evidence": ".github/workflows/ci.yml" + }, + { + "id": "DEPLOY-001", + "level": "required", + "status": "skip", + "message": "The live Demo has a reproducible HTTPS deployment from protected source with least-privilege credentials", + "remediation": "Configure and verify a deployment that meets standards/v1/repository-governance-contract.md, then record its commit and deployment evidence.", + "evidence": "Requires read-only remote-api verification; offline sdk:check did not evaluate this rule." + }, + { + "id": "DOC-001", + "level": "required", + "status": "pass", + "message": "Chinese-default and English README files link to one another", + "remediation": "Add README.md and README.en.md with reciprocal language links.", + "path": ".github/workflows/ci.yml", + "evidence": ".github/workflows/ci.yml" + }, + { + "id": "DOC-002", + "level": "required", + "status": "pass", + "message": "Chinese and English documentation directories are present", + "remediation": "Provide equivalent docs/zh-CN and docs/en quick-start/API guidance.", + "path": ".github/workflows/ci.yml", + "evidence": ".github/workflows/ci.yml" + }, + { + "id": "DOC-003", + "level": "required", + "status": "pass", + "message": "README or package metadata exposes GitHub, npm, and live Demo links", + "remediation": "Add repository, package, and Demo URLs to README and manifest.", + "path": "README.md", + "evidence": "README.md" + }, + { + "id": "EXAMPLE-001", + "level": "required", + "status": "pass", + "message": "Vanilla TypeScript/DOM portability example exists", + "remediation": "Add examples/vanilla with a runnable README.", + "path": "examples/vanilla-vite/README.md", + "evidence": "examples/vanilla-vite/README.md" + }, + { + "id": "EXAMPLE-002", + "level": "required", + "status": "pass", + "message": "React reference example exists", + "remediation": "Add examples/react or explicitly record a migration exception.", + "path": "examples/react/README.md", + "evidence": "examples/react/README.md" + }, + { + "id": "EXAMPLE-003", + "level": "recommended", + "status": "pass", + "message": "Declared target surfaces have runnable examples or explicit unsupported status", + "remediation": "Align examples with manifest target surfaces.", + "path": "examples/vanilla-vite/README.md", + "evidence": "examples/vanilla-vite/README.md, examples/react/README.md, examples/vue/README.md, examples/cdn/README.md, examples/wechat-webview/README.md" + }, + { + "id": "GOV-001", + "level": "required", + "status": "skip", + "message": "The default branch has an active least-privilege Ruleset for pull requests, current CI checks, resolved conversations, deletion, and force-push protection", + "remediation": "Configure an active default-branch Ruleset using standards/v1/repository-governance-contract.md and capture dated GitHub API evidence.", + "evidence": "Requires read-only github-api verification; offline sdk:check did not evaluate this rule." + }, + { + "id": "GOV-002", + "level": "required", + "status": "skip", + "message": "Release tags are immutable under an active tag Ruleset", + "remediation": "Protect the documented release tag pattern against updates and deletion, minimize bypass, and capture dated GitHub API evidence.", + "evidence": "Requires read-only github-api verification; offline sdk:check did not evaluate this rule." + }, + { + "id": "LABS-001", + "level": "labs", + "status": "skip", + "message": "Experimental backends and NPU claims have explicit evidence and limits", + "remediation": "Mark WebNN/NPU as labs unless a dated verification matrix exists.", + "evidence": "Labs rule is informational" + }, + { + "id": "META-001", + "level": "required", + "status": "pass", + "message": "SDK manifest is present and declares the v1 contract", + "remediation": "Copy standards/v1/templates/sdk-manifest.yaml and fill every required field.", + "path": ".github/workflows/ci.yml", + "evidence": ".github/workflows/ci.yml" + }, + { + "id": "META-002", + "level": "required", + "status": "pass", + "message": "package.json declares a public package identity and version", + "remediation": "Add a non-private package with a semver version and repository metadata.", + "path": ".github/workflows/ci.yml", + "evidence": ".github/workflows/ci.yml" + }, + { + "id": "MODEL-001", + "level": "required", + "status": "pass", + "message": "Manifest declares model identity, precision, size, source, license, and checksum", + "remediation": "Complete the model and asset fields in sdk-manifest.yaml.", + "path": "sdk-manifest.yaml", + "evidence": "sdk-manifest.yaml" + }, + { + "id": "PAGES-001", + "level": "required", + "status": "skip", + "message": "A GitHub Pages Demo deploys through GitHub Actions with scoped permissions, environment binding, HTTPS, and concurrency control", + "remediation": "Configure Pages and its deployment workflow using standards/v1/repository-governance-contract.md and capture dated GitHub API evidence.", + "evidence": "Requires read-only github-api verification; offline sdk:check did not evaluate this rule." + }, + { + "id": "PERF-001", + "level": "required", + "status": "pass", + "message": "Standard load and inference timing fields are declared", + "remediation": "Document download, cache, integrity, session, inference, and total timing.", + "path": "sdk-manifest.yaml", + "evidence": "sdk-manifest.yaml" + }, + { + "id": "RELEASE-001", + "level": "required", + "status": "pass", + "message": "CI workflow runs verification before release", + "remediation": "Add .github/workflows/ci.yml with tests, typecheck, and build.", + "path": ".github/workflows/ci.yml", + "evidence": ".github/workflows/ci.yml" + }, + { + "id": "RELEASE-002", + "level": "required", + "status": "pass", + "message": "GitHub Release workflow exists", + "remediation": "Add a tag-triggered release workflow and publish notes.", + "path": ".github/workflows/release.yml", + "evidence": ".github/workflows/release.yml" + }, + { + "id": "RELEASE-003", + "level": "recommended", + "status": "pass", + "message": "Changelog documents user-visible SDK and Demo changes", + "remediation": "Add CHANGELOG.md with the current release entry.", + "path": ".github/workflows/ci.yml", + "evidence": ".github/workflows/ci.yml" + }, + { + "id": "RUNTIME-001", + "level": "required", + "status": "pass", + "message": "Requested/actual backend and execution mode are declared", + "remediation": "Add runtime backends, execution modes, and actual backend reporting.", + "path": "sdk-manifest.yaml", + "evidence": "sdk-manifest.yaml" + }, + { + "id": "UI-001", + "level": "recommended", + "status": "pass", + "message": "Demo styling references the shared token vocabulary", + "remediation": "Import or copy standards/v1/ui-tokens.json values without introducing conflicting status colors.", + "path": "standards/v1/ui-tokens.json", + "evidence": "standards/v1/ui-tokens.json" + } + ] + } + ] +}