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
- 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.
- 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
Problem description
P-016
check-sinkcredential-not-in-response(applicabilityapi_pattern: [explicit-subscription], default levelerror) fires aserroron the r4.3 sample artifacts shipped by Commonalities —sample-service-subscriptions.yamlandsample-implicit-events.yamlboth now carrysinkCredentialin 2xx response shapes.The rule encodes Event Guide §2.2.3 "sinkCredential MUST NOT be present in
POSTandGETresponses". Commonalities r4.3 introduced a partial-disclosure model (Event Guide §4.3.1) that uses per-fieldwriteOnly: trueto 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
conditional_level.default: offon 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.writeOnlycheck. If §2.2.3 is restored: drop the mute, rule stands as-is.Additional context
linting/config/.spectral-r4.yaml