refactor: name the vendor OpenAPI specs for what they are - #113
Merged
Conversation
"Corpus" named a collection without saying whose documents it held or what they were for, and it sat one letter of context away from "spec", which in this repo means the single document a provider is generated from. These are the opposite: third-party documents this toolkit's own tests parse and derive, read and never written, imported into nothing. internal/corpus becomes internal/vendor_openapi_specs, corpus.lock.json becomes vendor_openapi_specs.lock.json, and TFPFGEN_CORPUS_* becomes TFPFGEN_VENDOR_OPENAPI_SPECS_*. The package spells the acronym OpenAPI in Go identifiers, as the other seventy-four occurrences in the tree do. Mechanical throughout: no behaviour changes, and the pins are untouched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
"Corpus" named a collection without saying whose documents it held or what they were for, and it sat one letter of context away from
spec— which in this repo already means the single document a provider is generated from (internal/spec/*,spec/upstream.yaml,spec/revised.yaml,tfpfgen spec import|revise|verify).These are the opposite of that: third-party documents the toolkit's own tests parse and derive. They are only ever read — never imported, corrected, revised, or generated from.
internal/corpusinternal/vendor_openapi_specscorpus.lock.jsonvendor_openapi_specs.lock.jsonTFPFGEN_CORPUS_DIR/_REQUIRED/_LOCKTFPFGEN_VENDOR_OPENAPI_SPECS_DIR/_REQUIRED/_LOCKTestUnit_Corpus_*TestUnit_VendorOpenAPISpecs_*tfpfgen/corpustfpfgen/vendor_openapi_specsThe directory takes underscores, following
intermediate_representation, the other fully-worded package here. Go identifiers spell the acronymOpenAPI, as the other 74 occurrences in the tree do —OpenApiappears nowhere.docs/glossary.mdgains the term and records corpus as retired;CLAUDE.md's hard rule is restated in the new vocabulary, with the reason a pin exists at all added to it.Mechanical throughout. No behaviour changes, and the pins themselves are untouched.
Verification
Cold cache, corpus— sorry, vendor-spec tests forced to run rather than skip:
The renamed env var is proven wired rather than silently ignored — pointing it at an unwritable path fails as it should:
🤖 Generated with Claude Code