data-cap
    Preparing search index...

    Interface FieldNode

    interface FieldNode {
        auditRequired: ResolvedGovernanceValue<boolean>;
        dataResidency: ResolvedGovernanceValue<string | readonly string[]>;
        declarationPosition: SourcePosition | undefined;
        docs: FieldDocs | undefined;
        legalBasis: ResolvedGovernanceValue<string>;
        owner: ResolvedGovernanceValue<string>;
        path: readonly string[];
        purpose: ResolvedGovernanceValue<string>;
        sensitivity: ResolvedGovernanceValue<string>;
        shape: unknown;
        writtenBy: readonly {
            kind: "subscription" | "getter" | "mutator";
            name: string;
        }[];
    }
    Index
    auditRequired: ResolvedGovernanceValue<boolean>

    Resolved: the field's own docs.auditRequired, else the capability's auditRequired -- same inheritance rule (ADR 0051, ADR 0057).

    dataResidency: ResolvedGovernanceValue<string | readonly string[]>

    Resolved: the field's own docs.dataResidency, else the capability's dataResidency -- same inheritance rule. The declared permitted-storage jurisdiction(s), not an observed fact (ADR 0051, ADR 0057).

    declarationPosition: SourcePosition | undefined

    Position of this field's own key in the fields object literal -- only when fields was resolved as an inline literal in this file; undefined when identifier-resolved across a file boundary this pass doesn't retain AST access to (never guessed at -- ADR 0052).

    docs: FieldDocs | undefined

    This field's own declared documentation, if any -- description/protections/retention/metadata have no resolution concept and live only here; for the six governed properties below, prefer .value/.declaredOn over reading this object directly (ADR 0057).

    legalBasis: ResolvedGovernanceValue<string>

    Resolved: the field's own docs.legalBasis, else the capability's legalBasis -- same inheritance rule. A declared fact, never a legal determination (ADR 0051, ADR 0057).

    Resolved: the field's own docs.owner, else the capability's owner, plus which one declared it.

    path: readonly string[]

    Top-level field key, as a single-element path (see the module doc comment on why granularity stops here).

    purpose: ResolvedGovernanceValue<string>

    Resolved: the field's own docs.purpose, else the capability's purpose -- same inheritance rule as owner/sensitivity (ADR 0051, ADR 0057). Declared only, never verified.

    sensitivity: ResolvedGovernanceValue<string>

    Resolved: the field's own docs.sensitivity, else the capability's sensitivity -- same inheritance rule as owner (ADR 0049, ADR 0050, ADR 0057).

    shape: unknown

    The field's literal-evaluated declared default -- structural comparison only (e.g. structural-duplication.ts), never a runtime value.

    writtenBy: readonly {
        kind: "subscription" | "getter" | "mutator";
        name: string;
    }[]

    Every getter/mutator/subscription whose statically-extracted writes shape claims this field.