You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Source: multi-agent review of PR #16, all UNVERIFIED-FINDER — verify first, then fix what holds. 2026-08-13. M-anchor: M2 — the List* verb rule already lands in OperationNamePolicy and curation grows with the first breadth batch; verify these inside that work.
C18 (highest priority of the four — public generated naming): OperationNamePolicy.Subject filters every post-group segment equal to the HTTP method (OperationNamePolicy.cs:44-49) — a value filter, not a structural verb position. A future operation whose resource subject legitimately contains the verb word loses that segment (v2.cache.get.entry → GetEntryAsync) and can collide with another generated name. Fix direction: strip only the structural verb position; pin fixtures where a later segment equals the verb.
C17: mechanically derived payload names never pass through identifier validation — ValidateEnvelopeNames covers curated overrides only (CurationValidator.cs:128-150); binder checks only the response-spine blacklist (OperationPlanBinder.cs:345-356). Note: the finder's ToPascalCase("2fa") example is stale (CSharpNamePolicy.cs:23-26 prefixes _), but keyword/punctuation/empty-transform cases remain unvalidated. Fix: one identifier validator after derivation for every final payload name, curated or mechanical; coordinate with C20.
C19: ReservedPayloadNames is a four-string blacklist (Error/IsError/RawBody/Status, OperationPlanBinder.cs:17,345-356); record-generated/inherited members (PrintMembers, Equals, GetHashCode) are unguarded — verify against the exact emitted record shape, then replace the ad hoc list with a centralized response-member collision rule tested as a whole.
C20: CSharpNamePolicy.IsValidIdentifier is a char predicate only (CSharpNamePolicy.cs:37-45) — C# keywords (class, event, namespace) pass and reach emitters bare. Fix: Roslyn keyword classification; fail-closed posture favors refusal over escaping. Tests across reserved + contextual keywords per curated name category.
Activity