Skip to content

feat(explorer): scenario filter — ?scenario= reads the forecast slice#223

Merged
jfrench9 merged 2 commits into
mainfrom
feature/scenario-explorer
Jul 23, 2026
Merged

feat(explorer): scenario filter — ?scenario= reads the forecast slice#223
jfrench9 merged 2 commits into
mainfrom
feature/scenario-explorer

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Summary

Frontend tail of robosystems#917 (the F-1 forecast engine).

  • ScenarioSelect in the Block Explorer header — appears once the graph has a forecast block. 'Actuals' (default) reads the null scenario; picking a scenario threads its structure id through every envelope read: the metric series extends with "(forecast)"-labeled columns, statements bind the latest computed month. State is URL-encoded (?block / ?view / ?scenario) so a scenario view is shareable.
  • BlockView renders forecast blocks (the authored lever container) through the metric projection — the server shapes the lever grid metric-style (itemType-driven percent/days formatting), so no new renderer. MetricRendering/StatementRendering already prefer period.label, so forecast column labels display with zero changes.

Verification

npm run test:all green against the local @robosystems/client build (the new getInformationBlock options arg), incl. a new ?scenario= threading test.

Sequencing

Blocked on the @robosystems/client publish from typescript-client#154 — a follow-up commit on this branch bumps the dependency + lockfile once it's on npm; CI will be red until then. Merge order: robosystems#917 deploy → client publish → bump → merge here.

jfrench9 added 2 commits July 23, 2026 02:59
ScenarioSelect in the Block Explorer header (visible once the graph has
a forecast block): 'Actuals' reads the null scenario; picking a
scenario threads its structure id through every envelope read — the
metric series extends with '(forecast)'-labeled columns, statements
bind the latest computed month. State is URL-encoded
(?block/?view/?scenario) so a scenario view is shareable.

BlockView renders forecast blocks (the authored lever container)
through the metric projection — the server shapes the lever grid
metric-style, so no new renderer. MetricRendering/StatementRendering
already prefer period.label, so the forecast column labels display
without changes.

Requires @robosystems/client with scenario-aware reads (the
getInformationBlock options arg) — verified against the local build;
the dependency bump lands with the next client publish.
The published client carrying the F-1 scenario surface — the
getInformationBlock/listInformationBlocks scenarioId options this
branch's explorer filter requires. Full gate re-verified against the
published package (one deduped copy in the tree), not a local build.
@jfrench9
jfrench9 merged commit 6b37c9a into main Jul 23, 2026
3 checks passed
@jfrench9
jfrench9 deleted the feature/scenario-explorer branch July 23, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant