diff --git a/governance/naming.toml b/governance/naming.toml index dc1c483..66ec63e 100644 --- a/governance/naming.toml +++ b/governance/naming.toml @@ -930,6 +930,45 @@ that would let it be a free function. This is the input and output divergence re """ rename_count = { python = 0, typescript = 0 } +[[entry]] +concept = "load the schema prose" +python = "" +typescript = "SchemaBundle.loadProse" +kind = "divergent" +divergence_reason = """ +JavaScript deduplicates every memo and note of all seventeen schemas into one side file the +manifests carry indices into, and reads it on demand. Python has no counterpart because it needs +none: it ships the full schemas on disk and reads `note` and `memo` straight off the field record +it already holds, so there is nothing to load and no moment at which to load it. + +The same divergence as `SchemaBundle.load` against `get_schema`, and for the same reason. The +prose is roughly 175 KB the parse path never touches, and a reader who only parses a model should +not pay for a sentence of English. Keeping the fetch separate is what lets the parse path stay +unaware the pool exists. + +Not a capability difference: `describe_object_type` reports the same prose in both languages, and +the corpus compares a digest over every memo and note of all 858 types. Only the moment of loading +differs. +""" +rename_count = { python = 0, typescript = 0 } + +[[entry]] +concept = "the schema prose already loaded" +python = "" +typescript = "SchemaBundle.prose" +kind = "divergent" +divergence_reason = """ +The synchronous half of `SchemaBundle.loadProse`, and the counterpart of `SchemaBundle.loaded`. +Python needs neither: its prose is on the record it already holds. + +It exists because every reader of prose in JavaScript is synchronous. `describeObjectType` takes a +pool rather than fetching one, and every answer in `@idfkit/language` is a pure function so an +editor server can answer a cursor without holding a thread. A consumer loads once when a document +arrives and reads here on the request path. Without the pair it would either await inside a path it +keeps synchronous or build a second cache beside the one the bundle already has. +""" +rename_count = { python = 0, typescript = 0 } + [[entry]] concept = "the supported version list" python = "ENERGYPLUS_VERSIONS"