Skip to content

docs-audit: qualify data-property anchors by declaring container against authorable-surface (option D on #12824) #13713

Description

@huangyiirene

Blocked-by: #13712

Provenance: maintainer ruling 2026-08-31 (director seat summon #7, decision batch #15, verbatim 「同意」 on #12824's presented recommendation "C 立即 + D 立项"). Filed by the director seat, session session_01KGtaLpkW1mycWgkbSb3H6t. This is the docs-audit half of option D; the spec half (the TS-name → spec-name mapping artifact) is #13712 and must land first.

The change

In scripts/docs-audit/affected-docs.mjs, when the most specific declaration enclosing a changed line is a data property, qualify the anchor by its declaring container against authorable-surface.base.json (via the #13712 mapping): a property of an authorable container (data/Object:userActions, data/Datasource:schemaMode) keeps minting its anchor; a property of an internal implementation type (MetaOverlayCacheKey, LocalizationCacheEntry, …) does not — the #12824 projection measured −17.4% rows (70 of 402) with both demonstrated true positives preserved.

⛔ Non-negotiables from the ruled analysis

  • The two measured true positives must survive, pinned: a change to userActions' declaration site still lists data-modeling/objects.mdx; a change to schemaMode's still lists data-modeling/drivers.mdx. A projection is not an end-to-end run — these pins are what convert it.
  • Definition sites mint; use sites don't (the SCIM-commit case: authorable key names used in a system-object literal moved no contract and should drop).
  • ⛔ Option B (blanket prefer-container) stays vetoed — do not implement it as a fallback when the mapping misses; an unmapped container keeps today's behaviour (fail toward noise, never toward silence).
  • C (anchor provenance in rows) is [decision] docs-audit: a data-property anchor is both the noisiest and the most valuable anchor the tool mints — 70 of 402 rows, and no cheap discriminator survives measurement #12824's own dispatch and may land first; this card builds on whatever shape it leaves.

Refs: #12824 (ruling + measurements) · #13712 (the mapping, blocker) · #13306 (oracle re-derivation) · #13471 (literal-anchor case gap, adjacent input).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions