docs: OED reference site (spec-generated fields & coded values) - #286
docs: OED reference site (spec-generated fields & coded values)#286sstruzik wants to merge 6 commits into
Conversation
…alues Standalone Furo/MyST site for the Open Exposure Data standard. Field reference (by input file: Loc/Acc/ReinsInfo/ReinsScope) and coded-value lists (perils, occupancy, construction, country, coverage) are generated at build time from oed.json (_ext/gen_oed_reference.py, which regenerates oed.json from the CSVs if absent); plus the migrated spec chapters and an overview/hierarchy explanation. Cross-component links via intersphinx (orchestrator-driven). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build PreviewYou can find files attached to the below linked Workflow Run URL (Logs).
|
Add the Oasis logo (light/dark, always visible in the Furo sidebar), the maroon/red Raleway palette matching oasislmf.github.io, and a persistent 'Oasis documentation home' link (rewritten to page-relative by the aggregator) so you can return to the top of the aggregated site from anywhere. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build PreviewYou can find files attached to the below linked Workflow Run URL (Logs).
|
The sidebar logo now returns to the aggregated landing, so the redundant 'Oasis documentation home' announcement bar is removed. Add the GitHub link in Furo's conventional spot — the footer icons (bottom of every page). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build PreviewYou can find files attached to the below linked Workflow Run URL (Logs).
|
`environ.get(NAME, "{}")` only substitutes the default when the variable is UNSET, so
exporting it empty reached json.loads("") and aborted the build with a traceback instead
of falling back to no cross-component inventories. Now `environ.get(NAME) or "{}"`.
Latent rather than live: the GenerateDocs orchestrator always writes valid JSON via
json.dumps, so it triggers only when the variable is exported empty by hand or by a CI
step. Found while reworking the same block in ODS_Tools (#289, 10e38ba) and applied
across the remaining components for consistency.
Verified by executing conf.py with the variable unset, set-but-empty and mapped: all
three succeed, and any pre-existing intersphinx_mapping entries are preserved.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Build PreviewYou can find files attached to the below linked Workflow Run URL (Logs).
|
autopep8 --diff --exit-code, which OasisLMF runs recursively over the repo, flagged `import json as _ix_json, os as _ix_os` as E401. Pre-existing, and dormant only because the code-quality workflow is not among the checks triggered on the docs PRs. Same change ODS_Tools already took in eb349ea, so all six components now have an identical, lint-clean cross-component block. Verified: 0 autopep8 findings for this file (was 3), the CI flake8 selection is clean, and conf.py still executes with OASIS_INTERSPHINX_MAP unset, set-but-empty and mapped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Build PreviewYou can find files attached to the below linked Workflow Run URL (Logs).
|
The link check (GenerateDocs#54) found two links to OpenDataStandards/tree/master/OpenExposureData/Docs, which 404s — that path went when the Open Data Standards repo was split. The equivalent lives here: ODS_OpenExposureData/tree/main/Docs (verified 200). Note two further links in import-format.rst still point at OpenDataStandards/tree/master/OpenExposureData. Those resolve today, so the check does not flag them, but they reference the superseded repository rather than this one — worth a follow-up sweep, kept out of here to stay a fix for what is actually broken. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Build PreviewYou can find files attached to the below linked Workflow Run URL (Logs).
|
Stands up a Sphinx documentation site for OED, generated from the specification, so the standard is documented where it is defined.
Part of the cross-repo Oasis documentation restructure (Option B): each repository owns the docs for what it owns, and
GenerateDocsaggregates them into the published site.What this adds
OasisLMF and ODS_Tools link here for OED definitions rather than restating them, so this landing removes duplication elsewhere as well as adding pages here.
Review-round changes
OpenDataStandards/tree/master/OpenExposureData/Docs, a path that went when the Open Data Standards repository was split. NowODS_OpenExposureData/tree/main/Docs, verified 200.conf.pyno longer aborts whenOASIS_INTERSPHINX_MAPis exported empty:environ.get(NAME, "{}")only substitutes its default when the variable is unset, so an empty value reachedjson.loads("")and killed the build with a traceback. Nowenviron.get(NAME) or "{}", verified with the variable unset, set-but-empty and mapped.style:split the one-line import inconf.pythatautopep8flagged as E401, so the cross-component block is lint-clean and identical to the other components'.Two links in
import-format.rststill point atOpenDataStandards/tree/master/OpenExposureData. Those resolve today, so nothing flags them, but they reference the superseded repository — left for a follow-up rather than widened into a fix for what is actually broken.Build is 0 warnings standalone and in the aggregated build.
Add a Sphinx documentation site for OED, with fields and coded values generated from the specification.