Skip to content

v9.0.2

Choose a tag to compare

@github-actions github-actions released this 12 May 13:27
· 2319 commits to main since this release

Patch release. Three self-contained fixes from the Phase X.2 punch-list — all internal; the CLI, config.yaml, and the L2 institution YAML keep their shapes (a customization carried across the v9.0.1 → v9.0.2 line needs no changes).

  • Dataset-parameter StaticValues defaults are 1-element sentinels, not the full declared-value list (X.2.t.2). AWS QuickSight's create-data-set rejects a StringDatasetParameter.DefaultValues.StaticValues list with >32 elements — so a per-sheet dropdown defaulting to "every declared value" blew up an L2 with >32 rails / chains / templates / transfer_types / roles. The dataset SQL is now shaped WHERE ('<sentinel>' IN (<<$pX>>) OR <col> IN (<<$pX>>)) so the 1-element sentinel default means "match everything" on load (identically for the QuickSight renderer — the MappedDataSetParameters bridge overrides on selection — and the self-hosted renderer — the executor splices the sentinel default, or binds real URL values to narrow). The control's options still carry the full declared list (AWS caps only the dataset-param default). Belt-and-braces: common/models.py::*DatasetParameterDefaultValues.__post_init__ now raises if a StaticValues list exceeds 32 — the bug is unrepresentable at construction. Mirrors the pattern the L1 account_id / transfer_id dropdowns already used since Phase Y. (Outstanding: a live AWS deploy against a >32-rail L2 to confirm against create-data-set itself — low-risk; the SQL shape is identical to the already-deployed pattern and the DataSetParameters shape is unchanged, so no new rejection surface.)
  • quicksight-gen docs serve works from a non-editable pip install (X.2.s.1). docs serve was running mkdocs without setting cwd, while docs apply does — and mkdocs-macros resolves its include_dir: docs/_macros against the process cwd, not the config file's directory. From an installed wheel (cwd = wherever the operator ran the command, no docs/_macros) the initial build died with "docs/_macros does not exist" before serving a single page. Fix: cwd=<bundled mkdocs.yml's dir>, mirroring docs apply. Regression guards: a unit test plus a ci.yml::docs-portable-install step that runs docs serve from a clean cwd under a timeout and asserts it reaches "Serving on" without the macros-path error.
  • spec_example (the default / CI L2) now exercises every L2FT completion outcome (X.2.u.3.fix.demo). Added a TwoLegRail-first transfer template (ExternalReconciliationCycle), its leg rail, and spec_example's first chains: entry (a Required chain child). The auto-scenario now fires template instances covering {Complete, Imbalanced, Orphaned} and chain instances covering {Completed, Incomplete}, so the L2FT Chains + Transfer Templates "Completion" filter e2e tests are strict again (were relaxed because the prior single-leg-rail template only ever fired 'Imbalanced'). Re-locked the three byte-stamped spec_example seed files (postgres / oracle / sqlite) + the two bundled fixture copies.

Still open from X.2.s: docs apply --portable dropping the L2 theme (X.2.s.2) — couldn't reproduce from code reading; needs a fresh-wheel repro to pin the failure mode. Tracked as a follow-up.

(Everything below is unchanged from the v9.0.1 notes.)