Skip to content

docs(qa): scoped coverage sweep of scan functionality (扫描功能) — 14 items, 3 revisions - #10147

Merged
os-elon merged 1 commit into
mainfrom
claude/new-session-0pv25p
Aug 20, 2026
Merged

docs(qa): scoped coverage sweep of scan functionality (扫描功能) — 14 items, 3 revisions#10147
os-elon merged 1 commit into
mainfrom
claude/new-session-0pv25p

Conversation

@baozhoutao

Copy link
Copy Markdown
Contributor

What

A scoped checklist-author sweep answering the maintainer's question: does the platform's scan functionality (扫描功能) have test coverage? Executed per docs/qa/platform-checklist/SWEEP.md with 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, the get-totp-uri re-reveal probe
  • two-factor-verify-to-activate — inert-until-verified, plus the verified defaultValue probe (observe-and-flag)
  • two-factor-backup-codes — single-use, regeneration invalidation, the no-resultDialog lockout path
  • two-factor-disable-lifecycle — server-side password gate, teardown, mfa_required re-gate behavior

cli:

integration-system:

attachments-storage:

  • field-accept-maxsize-server-enforced (P1) — the server-side control the client widget guard explicitly is not; new qa-media-constraints area provisioning recipe; declaration-based/no-content-sniffing boundary recorded so runs don't score it as a leak

platform-core:

  • interrupted-migration-boot-report (P2) — boot-time migration-journal scan, three degradation arms kept distinguishable

Revisions (3)

  • identity-auth.auth-method-matrix rev 3 — cites the 2FA lockout dogfood pin
  • cli.migrate-plan-apply-json rev 2 — nine migrate subcommands, not eight (duplicates postdated the item)
  • integration-system.datasource-admin-lifecycle rev 2 — stale knownGap: ExternalDatasourceServicePlugin is now wired unconditionally by serve.ts; the 503 clause re-sited onto its unit pin so a working 200 is never mis-scored as a regression

coverage.json

New items mapped into the datasource/field/hook kinds. Still 30 kinds mapped, 0 waived (no waivers existed to re-audit).

FOLLOW-UPS.md §7 — what is deliberately NOT a checklist item

  • 7a Inert scan surfaces (ADR-0049 enforce-or-remove candidates): the PluginSecurityScanner family — 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 scans
  • 7b Docs drift (PD#10): phantom contentProcessing virus scanning, the dead codemod prescription, the eager-FS-scan claim, the phantom Studio consumer comment
  • 7c Defects D9–D15 found while grounding — three auth-sensitive rows (2FA verified default, unreadable regenerated backup codes, get-totp-uri re-reveal) are captured as in-item probes and explicitly held for maintainer decision before any public issue; the rest (doctor false-PASS, FileConstraintError sanitized-500 wire contract, MigrationRecoveryPlugin composed by no boot path, hook-extractor header vs. warn-and-bundle default) are marked safe to file
  • 7d Governance hole: spec/kernel/** and spec/cloud/** sit outside the liveness-derived coverage ratchet entirely — needs a ruling
  • 7e Checked and clean — recorded so the next sweep doesn't re-derive (qrcode scanning keys correctly pruned, no upload content sniffing by design, etc.)

Validation

  • node scripts/checklist-select.mjs --self-test — 17/17 pass
  • node scripts/check-platform-checklist.mjs — OK: 15 areas, 204 items (190 → 204), 30 kinds mapped, 0 waived

No 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

…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
@github-actionsgithub-actionsBot added size/xl documentation Improvements or additions to documentation labels Aug 20, 2026
@baozhoutaobaozhoutao added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Aug 20, 2026 — with Claude
@os-elon
os-elon added this pull request to the merge queueAug 20, 2026
Merged via the queue into main with commit 8d74a57Aug 20, 2026
22 of 23 checks passed
@os-elon
os-elon deleted the claude/new-session-0pv25p branch August 20, 2026 15:48
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationsize/xlskip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@baozhoutao@os-elon@claude