Skip to content

P-016 check-sinkcredential-not-in-response: short-term mute + replacement pending Commonalities#638 #297

Description

@hdamker

Problem description

P-016 check-sinkcredential-not-in-response (applicability api_pattern: [explicit-subscription], default level error) fires as error on the r4.3 sample artifacts shipped by Commonalities — sample-service-subscriptions.yaml and sample-implicit-events.yaml both now carry sinkCredential in 2xx response shapes.

The rule encodes Event Guide §2.2.3 "sinkCredential MUST NOT be present in POST and GET responses". Commonalities r4.3 introduced a partial-disclosure model (Event Guide §4.3.1) that uses per-field writeOnly: true to keep secret fields out of responses while allowing non-secret client-configuration fields. §2.2.3 was not updated and now contradicts §4.3.1; Commonalities#638 tracks the reconciliation.

The current rule is too broad for the §4.3.1 model and blocks ReleaseTest#184.

Expected behavior

  1. Short-term: mute. conditional_level.default: off on the metadata entry with an inline comment referencing this issue and #638 — same pattern as the S-314 / S-316 mute referencing Commonalities#615. Unblocks ReleaseTest#184.
  2. Longer-term: replace once #638 resolves. If §4.3.1 wins: rewrite as a per-field writeOnly check. If §2.2.3 is restored: drop the mute, rule stands as-is.

Additional context

  • Upstream design dependency: Commonalities#638
  • Existing mute precedent: S-314 / S-316 in linting/config/.spectral-r4.yaml

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions