Uh oh!
There was an error while loading. Please reload this page.
docs(qa): scoped coverage sweep of scan functionality (扫描功能) — 14 items, 3 revisions - #10147
Merged
Conversation
…ms, 3 revisions Scoped checklist-author run: three read-only gap hunters (kernel security scanner · TOTP QR enrollment · every other scan-shaped surface) diffed the platform's scan functionality against the ledger; five per-area writers authored what was missing, grounding every clause in source. New items: identity-auth two-factor enrollment lifecycle (enrollment-reveal, verify-to-activate, backup-codes, disable-lifecycle); cli doctor-health-report, doctor-deprecation-scan, migrate-duplicates-inventory, datasource-introspect-codegen, hook-body-extraction-gates, lint-severity-exit-contract; integration-system external-schema-introspection, external-schema-drift-gate; attachments-storage field-accept-maxsize-server-enforced (+ qa-media-constraints area recipe); platform-core interrupted-migration-boot-report. Revisions: auth-method-matrix (cite the 2FA lockout pin), migrate-plan-apply-json (nine subcommands, not eight), datasource-admin-lifecycle (stale knownGap — the federation service is now wired unconditionally by serve.ts). coverage.json: mapped the new items into the datasource/field/hook kinds (still 30 kinds mapped, 0 waived). FOLLOW-UPS.md §7 records what is NOT an item: the inert PluginSecurityScanner family (ADR-0049 enforce-or-remove), docs drift (phantom contentProcessing virus scanning, dead codemod prescription, eager-FS-scan claim), defects D9–D15, and the kernel/cloud spec blind spot in the coverage ratchet. Validated: node scripts/checklist-select.mjs --self-test (17 pass) + node scripts/check-platform-checklist.mjs (OK — 15 areas, 204 items, 30 kinds mapped, 0 waived). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MjcmqkgzLbc6WyDQ6gSuU3
This was referenced Aug 20, 2026
Open
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A scoped
checklist-authorsweep answering the maintainer's question: does the platform's scan functionality (扫描功能) have test coverage? Executed perdocs/qa/platform-checklist/SWEEP.mdwith a scoped fleet: 3 parallel read-only gap hunters (kernel security scanner · TOTP QR enrollment · every other scan-shaped surface), then 5 parallel per-area writers. Every clause was re-grounded in source by the writers; several hunter briefs were corrected against source along the way (documented in item histories).New checklist items (14)
identity-auth — the TOTP "scan the QR" enrollment lifecycle (previously only the challenge gate was covered, as one clause of
auth-method-matrix):two-factor-enrollment-reveal— otpauth URI / backupCodes payload shape, resultDialog path resolution, theget-totp-urire-reveal probetwo-factor-verify-to-activate— inert-until-verified, plus theverifieddefaultValue probe (observe-and-flag)two-factor-backup-codes— single-use, regeneration invalidation, the no-resultDialog lockout pathtwo-factor-disable-lifecycle— server-side password gate, teardown,mfa_requiredre-gate behaviorcli:
doctor-health-report(P1) — fullos doctorcontract incl. the false-PASS probe (✓ Test coverage/✓ Deprecationsover an unexamined tree in user apps)doctor-deprecation-scan(P2) — the 8-pattern--scan-deprecationsscan; deadobjectstack codemodprescription as expected-failmigrate-duplicates-inventory(P1) — Report the business identifiers already minted twice by the tenancy split — an operator-facing inventory, on installs the #8686 backfill cannot repair #8928 read-only duplicate-identifier scandatasource-introspect-codegen(P2) —list-tables/introspect --outcwd jail /validatehook-body-extraction-gates(P1) — forbidden-pattern refusals (--strict-body), capability inference matrix, crypto.hash 能力声明了、构建期还会自动推断,但沙箱从没实现 —— 调用直接抛(declared ≠ enforced) #4391 regression clauselint-severity-exit-contract(P2)integration-system:
external-schema-introspection(P1) —/remote-tables+?schema=narrowing (finding: the twolistRemoteTablesroute twins diverge on?schema=— the admin spelling drops it #7955 fixed behavior), object-draft codegen, twin-route equivalenceexternal-schema-drift-gate(P1) — boot-time drift scan;onMismatchfail/warn/ignore, partial-read honesty;checkOnBootfound declared≠enforced and encoded as a finding clauseattachments-storage:
field-accept-maxsize-server-enforced(P1) — the server-side control the client widget guard explicitly is not; newqa-media-constraintsarea provisioning recipe; declaration-based/no-content-sniffing boundary recorded so runs don't score it as a leakplatform-core:
interrupted-migration-boot-report(P2) — boot-time migration-journal scan, three degradation arms kept distinguishableRevisions (3)
identity-auth.auth-method-matrixrev 3 — cites the 2FA lockout dogfood pincli.migrate-plan-apply-jsonrev 2 — nine migrate subcommands, not eight (duplicatespostdated the item)integration-system.datasource-admin-lifecyclerev 2 — stale knownGap:ExternalDatasourceServicePluginis now wired unconditionally byserve.ts; the 503 clause re-sited onto its unit pin so a working 200 is never mis-scored as a regressioncoverage.json
New items mapped into the
datasource/field/hookkinds. Still 30 kinds mapped, 0 waived (no waivers existed to re-audit).FOLLOW-UPS.md §7 — what is deliberately NOT a checklist item
PluginSecurityScannerfamily — exported dead code with a non-compiling example and an in-package doc advertising a subpath export that doesn't exist; the kernel scan spec schemas (22 authorable rows, zero authors, zero parsers); marketplace/incident scan enum vocab; the unwired MetadataPlugin/metadata-fs FS scanscontentProcessingvirus scanning, the deadcodemodprescription, the eager-FS-scan claim, the phantom Studio consumer commentverifieddefault, unreadable regenerated backup codes,get-totp-urire-reveal) are captured as in-item probes and explicitly held for maintainer decision before any public issue; the rest (doctor false-PASS,FileConstraintErrorsanitized-500 wire contract,MigrationRecoveryPlugincomposed by no boot path, hook-extractor header vs. warn-and-bundle default) are marked safe to filespec/kernel/**andspec/cloud/**sit outside the liveness-derived coverage ratchet entirely — needs a rulingValidation
node scripts/checklist-select.mjs --self-test— 17/17 passnode scripts/check-platform-checklist.mjs— OK: 15 areas, 204 items (190 → 204), 30 kinds mapped, 0 waivedNo code paths touched; checklist-ledger + follow-ups only.
content/docs/releases/untouched; no changeset (QA ledger, not a published package).🤖 Generated with Claude Code
https://claude.ai/code/session_01MjcmqkgzLbc6WyDQ6gSuU3
Generated by Claude Code