Skip to content

openapi: three doc comments cite ir-design §10 as fixing the Options shape; §10 is Servers #236

Description

@OmarAlJarrah

Problem

Three doc comments name ir-design §10 as the authority for openapi.Options' shape:

  • compilers/openapi/options.go — "Its shape is a published contract (ir-design §10)"
  • compilers/openapi/openapi.go (loadOptions) — "whose shape ir-design §10 fixes"
  • compilers/openapi/internal/load/load.go (load.Options) — "because openapi.Options is public API whose shape is fixed by ir-design §10"

docs/ir-design.md §10 is Servers:

$ grep -n '^## ' docs/ir-design.md | sed -n '10p'
1442:## 10. Servers

and the document does not describe compiler options in any section — grep -n 'openapi.Options\|compiler options' docs/ir-design.md is empty.

Why it matters

All three comments use the citation to justify a real design decision — that openapi.Options stays whole and each phase takes its own projected input rather than the public type. The decision looks right; the reason given for it points at nothing. A reader who follows the citation to check the constraint finds a struct about server URLs, and cannot tell whether the constraint exists elsewhere or does not exist at all.

The three restate one claim, which is why one wrong section number is wrong in three places.

Fix

Either point at whatever does fix the shape, or drop the citation and state the reason on its own terms in one place with the other two referring to it. Worth deciding which, since "the public options type is a published contract" is a real constraint if it holds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions