@lunora/studiochore
Releases1407 releases
Changelog
Every release across the Lunora packages, newest first. Lunora is alpha: the API still moves, and this is where it is written down.
1407 / 1407
Oct 5, 2026
Dependency updates only, across 40 packages.
Oct 4, 2026
Dependency updates only, across 21 packages.
@lunora/clifeature
1.0.0-alpha.346
Added
Dependencies
- @lunora/codegen: upgraded to 1.0.0-alpha.261
- @lunora/config: upgraded to 1.0.0-alpha.304
- @lunora/mcp: upgraded to 1.0.0-alpha.211
- @lunora/seed: upgraded to 1.0.0-alpha.189
- @lunora/testing: upgraded to 1.0.0-alpha.232
@lunora/codegenfix
1.0.0-alpha.262
@lunora/configfeature
1.0.0-alpha.304
@lunora/rspackfix
1.0.0-alpha.26
@lunora/rspackfeature
1.0.0-alpha.25
@lunora/vitefeature
1.0.0-alpha.302
Oct 3, 2026
Dependency updates only, across 50 packages.
@lunora/advisorfix
1.0.0-alpha.189
@lunora/advisorfix
1.0.0-alpha.188
@lunora/advisorfix
1.0.0-alpha.187
@lunora/advisorchore
1.0.0-alpha.183
⚠ BREAKING CHANGES
@lunora/bindings/analyticsno longer exportscreateAnalyticsSqlClient,AnalyticsSqlErroror theAnalyticsSqlClient,AnalyticsSqlConfig,AnalyticsSqlResultandAnalyticsSqlColumnMetatypes, and theANALYTICS_SQL_ERRORcode is gone. Query withctx.analyticsSqlorcreateAnalyticsSql({ binding: createAnalyticsSqlRest(...) })in the Analytics SQL dialect; failures areAnalyticsSqlQueryError(ANALYTICS_SQL_QUERY_ERROR). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- refactor(advisor): read ae metrics in the analytics sql dialect only The quarantined Analytics Engine feeder speaks only the Analytics SQL dialect, the one
ctx.analyticsSqlruns:events.analyticsEngine."<dataset>", the SQL API's sample-weightedCOUNT(*), and every value bound as a parameter -$since,$event, and$groupwhen a group is given. TheAnalyticsMetricsDialectunion,dialectParts, thesqlStringliteral escaper and the hidden "were params passed" dialect switch are gone; the dataset, which names the table and so cannot be a parameter, keeps its identifier guard. AnalyticsMetricsOptionsrequiressince(an ISO-8601 lowertimestampbound) and has nodialect;AnalyticsMetricsSource.queryalways receivesparams; theAnalyticsMetricsDialecttype is removed. Passctx.analyticsSqlas the source. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(studio): ask the host for usage panels by key, never with sql The Analytics tab has one runner,
analyticsSqlQuery(panel), which receives a panel key ("volume","latency","hotShards") and resolves the rows. The host answers through an admin-gated action that builds the statement server-side withfunctionUsageQuery(panel)and runs it onctx.analyticsSql. The old shape handed the host a SQL string to execute, which invited an action that runs caller-supplied SQL against the whole account. The prop docs and the not-wired message now say the action must be admin-only and take the key. The panel drops the second (token-dialect) runner, the precedence between the two, the dataset prop (now the server's choice) andtoPanelResult: columns arestring[], read off the first row's keys in SELECT order. StudioProps.analyticsQueryis removed andanalyticsSqlQuerynow has the signature(panel: FunctionUsagePanel) => Promise<AnalyticsSqlQueryResult>.AnalyticsPanelPropslosesdatasetandrunAnalyticsSql, and itsrunQuerytakes a panel key. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(config): report artifacts as unsupported in the alchemy translation The Alchemy translator emits only D1, R2, KV and Queue resources, but an artifacts[] binding was neither emitted nor listed in unsupported, so a config using ctx.artifacts produced a Worker without env.ARTIFACTS and no diagnostic. Raised by review on #941. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- docs(bindings): list the analytics-sql subpath in the readme table Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Added
Dependencies
- @lunora/errors: upgraded to 1.0.0-alpha.50
- @lunora/server: upgraded to 1.0.0-alpha.172
- @lunora/values: upgraded to 1.0.0-alpha.60
@lunora/authfeature
1.0.0-alpha.184
@lunora/bindingschore
1.0.0-alpha.93
⚠ BREAKING CHANGES
@lunora/bindings/analyticsno longer exportscreateAnalyticsSqlClient,AnalyticsSqlErroror theAnalyticsSqlClient,AnalyticsSqlConfig,AnalyticsSqlResultandAnalyticsSqlColumnMetatypes, and theANALYTICS_SQL_ERRORcode is gone. Query withctx.analyticsSqlorcreateAnalyticsSql({ binding: createAnalyticsSqlRest(...) })in the Analytics SQL dialect; failures areAnalyticsSqlQueryError(ANALYTICS_SQL_QUERY_ERROR). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- refactor(advisor): read ae metrics in the analytics sql dialect only The quarantined Analytics Engine feeder speaks only the Analytics SQL dialect, the one
ctx.analyticsSqlruns:events.analyticsEngine."<dataset>", the SQL API's sample-weightedCOUNT(*), and every value bound as a parameter -$since,$event, and$groupwhen a group is given. TheAnalyticsMetricsDialectunion,dialectParts, thesqlStringliteral escaper and the hidden "were params passed" dialect switch are gone; the dataset, which names the table and so cannot be a parameter, keeps its identifier guard. AnalyticsMetricsOptionsrequiressince(an ISO-8601 lowertimestampbound) and has nodialect;AnalyticsMetricsSource.queryalways receivesparams; theAnalyticsMetricsDialecttype is removed. Passctx.analyticsSqlas the source. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(studio): ask the host for usage panels by key, never with sql The Analytics tab has one runner,
analyticsSqlQuery(panel), which receives a panel key ("volume","latency","hotShards") and resolves the rows. The host answers through an admin-gated action that builds the statement server-side withfunctionUsageQuery(panel)and runs it onctx.analyticsSql. The old shape handed the host a SQL string to execute, which invited an action that runs caller-supplied SQL against the whole account. The prop docs and the not-wired message now say the action must be admin-only and take the key. The panel drops the second (token-dialect) runner, the precedence between the two, the dataset prop (now the server's choice) andtoPanelResult: columns arestring[], read off the first row's keys in SELECT order. StudioProps.analyticsQueryis removed andanalyticsSqlQuerynow has the signature(panel: FunctionUsagePanel) => Promise<AnalyticsSqlQueryResult>.AnalyticsPanelPropslosesdatasetandrunAnalyticsSql, and itsrunQuerytakes a panel key. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(config): report artifacts as unsupported in the alchemy translation The Alchemy translator emits only D1, R2, KV and Queue resources, but an artifacts[] binding was neither emitted nor listed in unsupported, so a config using ctx.artifacts produced a Worker without env.ARTIFACTS and no diagnostic. Raised by review on #941. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- docs(bindings): list the analytics-sql subpath in the readme table Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Added
Dependencies
- @lunora/errors: upgraded to 1.0.0-alpha.50
- @lunora/platform: upgraded to 1.0.0-alpha.52
@lunora/clifix
1.0.0-alpha.342
Fixed
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.187
- @lunora/codegen: upgraded to 1.0.0-alpha.257
- @lunora/config: upgraded to 1.0.0-alpha.300
- @lunora/seed: upgraded to 1.0.0-alpha.185
- @lunora/testing: upgraded to 1.0.0-alpha.228
@lunora/clichore
1.0.0-alpha.339
⚠ BREAKING CHANGES
- capability inference and the codegen probe surface changed.
Added
Fixed
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.185
- @lunora/bindings: upgraded to 1.0.0-alpha.95
- @lunora/codegen: upgraded to 1.0.0-alpha.254
- @lunora/config: upgraded to 1.0.0-alpha.297
- @lunora/container: upgraded to 1.0.0-alpha.69
- @lunora/d1: upgraded to 1.0.0-alpha.161
- @lunora/mcp: upgraded to 1.0.0-alpha.208
- @lunora/runtime: upgraded to 1.0.0-alpha.175
- @lunora/seed: upgraded to 1.0.0-alpha.182
- @lunora/testing: upgraded to 1.0.0-alpha.225
@lunora/clichore
1.0.0-alpha.337
⚠ BREAKING CHANGES
@lunora/bindings/analyticsno longer exportscreateAnalyticsSqlClient,AnalyticsSqlErroror theAnalyticsSqlClient,AnalyticsSqlConfig,AnalyticsSqlResultandAnalyticsSqlColumnMetatypes, and theANALYTICS_SQL_ERRORcode is gone. Query withctx.analyticsSqlorcreateAnalyticsSql({ binding: createAnalyticsSqlRest(...) })in the Analytics SQL dialect; failures areAnalyticsSqlQueryError(ANALYTICS_SQL_QUERY_ERROR). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- refactor(advisor): read ae metrics in the analytics sql dialect only The quarantined Analytics Engine feeder speaks only the Analytics SQL dialect, the one
ctx.analyticsSqlruns:events.analyticsEngine."<dataset>", the SQL API's sample-weightedCOUNT(*), and every value bound as a parameter -$since,$event, and$groupwhen a group is given. TheAnalyticsMetricsDialectunion,dialectParts, thesqlStringliteral escaper and the hidden "were params passed" dialect switch are gone; the dataset, which names the table and so cannot be a parameter, keeps its identifier guard. AnalyticsMetricsOptionsrequiressince(an ISO-8601 lowertimestampbound) and has nodialect;AnalyticsMetricsSource.queryalways receivesparams; theAnalyticsMetricsDialecttype is removed. Passctx.analyticsSqlas the source. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(studio): ask the host for usage panels by key, never with sql The Analytics tab has one runner,
analyticsSqlQuery(panel), which receives a panel key ("volume","latency","hotShards") and resolves the rows. The host answers through an admin-gated action that builds the statement server-side withfunctionUsageQuery(panel)and runs it onctx.analyticsSql. The old shape handed the host a SQL string to execute, which invited an action that runs caller-supplied SQL against the whole account. The prop docs and the not-wired message now say the action must be admin-only and take the key. The panel drops the second (token-dialect) runner, the precedence between the two, the dataset prop (now the server's choice) andtoPanelResult: columns arestring[], read off the first row's keys in SELECT order. StudioProps.analyticsQueryis removed andanalyticsSqlQuerynow has the signature(panel: FunctionUsagePanel) => Promise<AnalyticsSqlQueryResult>.AnalyticsPanelPropslosesdatasetandrunAnalyticsSql, and itsrunQuerytakes a panel key. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(config): report artifacts as unsupported in the alchemy translation The Alchemy translator emits only D1, R2, KV and Queue resources, but an artifacts[] binding was neither emitted nor listed in unsupported, so a config using ctx.artifacts produced a Worker without env.ARTIFACTS and no diagnostic. Raised by review on #941. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- docs(bindings): list the analytics-sql subpath in the readme table Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Added
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.183
- @lunora/bindings: upgraded to 1.0.0-alpha.93
- @lunora/codegen: upgraded to 1.0.0-alpha.252
- @lunora/config: upgraded to 1.0.0-alpha.295
- @lunora/container: upgraded to 1.0.0-alpha.68
- @lunora/d1: upgraded to 1.0.0-alpha.160
- @lunora/errors: upgraded to 1.0.0-alpha.50
- @lunora/mcp: upgraded to 1.0.0-alpha.206
- @lunora/runtime: upgraded to 1.0.0-alpha.173
- @lunora/seed: upgraded to 1.0.0-alpha.180
- @lunora/testing: upgraded to 1.0.0-alpha.223
@lunora/clifeature
1.0.0-alpha.336
Added
Fixed
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.182
- @lunora/bindings: upgraded to 1.0.0-alpha.92
- @lunora/codegen: upgraded to 1.0.0-alpha.251
- @lunora/config: upgraded to 1.0.0-alpha.294
- @lunora/container: upgraded to 1.0.0-alpha.67
- @lunora/d1: upgraded to 1.0.0-alpha.159
- @lunora/mcp: upgraded to 1.0.0-alpha.205
- @lunora/runtime: upgraded to 1.0.0-alpha.172
- @lunora/seed: upgraded to 1.0.0-alpha.179
- @lunora/testing: upgraded to 1.0.0-alpha.222
@lunora/codegenfix
1.0.0-alpha.260
@lunora/codegenfix
1.0.0-alpha.258
@lunora/codegenfix
1.0.0-alpha.257
@lunora/codegenfeature
1.0.0-alpha.256
Added
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.186
- @lunora/agent: upgraded to 1.0.0-alpha.169
- @lunora/platform: upgraded to 1.0.0-alpha.55
- @lunora/queue: upgraded to 1.0.0-alpha.91
- @lunora/scheduler: upgraded to 1.0.0-alpha.109
- @lunora/bindings: upgraded to 1.0.0-alpha.96
- @lunora/do: upgraded to 1.0.0-alpha.193
- @lunora/server: upgraded to 1.0.0-alpha.175
- @lunora/shard-engine: upgraded to 1.0.0-alpha.111
@lunora/codegenchore
1.0.0-alpha.254
⚠ BREAKING CHANGES
- capability inference and the codegen probe surface changed.
Fixed
Tests
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.185
- @lunora/agent: upgraded to 1.0.0-alpha.167
- @lunora/container: upgraded to 1.0.0-alpha.69
- @lunora/platform: upgraded to 1.0.0-alpha.54
- @lunora/queue: upgraded to 1.0.0-alpha.90
- @lunora/scheduler: upgraded to 1.0.0-alpha.108
- @lunora/bindings: upgraded to 1.0.0-alpha.95
- @lunora/do: upgraded to 1.0.0-alpha.192
- @lunora/server: upgraded to 1.0.0-alpha.174
- @lunora/shard-engine: upgraded to 1.0.0-alpha.110
@lunora/codegenfeature
1.0.0-alpha.253
Added
Fixed
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.184
- @lunora/agent: upgraded to 1.0.0-alpha.166
- @lunora/do: upgraded to 1.0.0-alpha.191
- @lunora/server: upgraded to 1.0.0-alpha.173
@lunora/codegenchore
1.0.0-alpha.252
⚠ BREAKING CHANGES
@lunora/bindings/analyticsno longer exportscreateAnalyticsSqlClient,AnalyticsSqlErroror theAnalyticsSqlClient,AnalyticsSqlConfig,AnalyticsSqlResultandAnalyticsSqlColumnMetatypes, and theANALYTICS_SQL_ERRORcode is gone. Query withctx.analyticsSqlorcreateAnalyticsSql({ binding: createAnalyticsSqlRest(...) })in the Analytics SQL dialect; failures areAnalyticsSqlQueryError(ANALYTICS_SQL_QUERY_ERROR). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- refactor(advisor): read ae metrics in the analytics sql dialect only The quarantined Analytics Engine feeder speaks only the Analytics SQL dialect, the one
ctx.analyticsSqlruns:events.analyticsEngine."<dataset>", the SQL API's sample-weightedCOUNT(*), and every value bound as a parameter -$since,$event, and$groupwhen a group is given. TheAnalyticsMetricsDialectunion,dialectParts, thesqlStringliteral escaper and the hidden "were params passed" dialect switch are gone; the dataset, which names the table and so cannot be a parameter, keeps its identifier guard. AnalyticsMetricsOptionsrequiressince(an ISO-8601 lowertimestampbound) and has nodialect;AnalyticsMetricsSource.queryalways receivesparams; theAnalyticsMetricsDialecttype is removed. Passctx.analyticsSqlas the source. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(studio): ask the host for usage panels by key, never with sql The Analytics tab has one runner,
analyticsSqlQuery(panel), which receives a panel key ("volume","latency","hotShards") and resolves the rows. The host answers through an admin-gated action that builds the statement server-side withfunctionUsageQuery(panel)and runs it onctx.analyticsSql. The old shape handed the host a SQL string to execute, which invited an action that runs caller-supplied SQL against the whole account. The prop docs and the not-wired message now say the action must be admin-only and take the key. The panel drops the second (token-dialect) runner, the precedence between the two, the dataset prop (now the server's choice) andtoPanelResult: columns arestring[], read off the first row's keys in SELECT order. StudioProps.analyticsQueryis removed andanalyticsSqlQuerynow has the signature(panel: FunctionUsagePanel) => Promise<AnalyticsSqlQueryResult>.AnalyticsPanelPropslosesdatasetandrunAnalyticsSql, and itsrunQuerytakes a panel key. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(config): report artifacts as unsupported in the alchemy translation The Alchemy translator emits only D1, R2, KV and Queue resources, but an artifacts[] binding was neither emitted nor listed in unsupported, so a config using ctx.artifacts produced a Worker without env.ARTIFACTS and no diagnostic. Raised by review on #941. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- docs(bindings): list the analytics-sql subpath in the readme table Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Added
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.183
- @lunora/agent: upgraded to 1.0.0-alpha.165
- @lunora/container: upgraded to 1.0.0-alpha.68
- @lunora/errors: upgraded to 1.0.0-alpha.50
- @lunora/platform: upgraded to 1.0.0-alpha.52
- @lunora/queue: upgraded to 1.0.0-alpha.88
- @lunora/scheduler: upgraded to 1.0.0-alpha.106
- @lunora/values: upgraded to 1.0.0-alpha.60
- @lunora/workflow: upgraded to 1.0.0-alpha.71
- @lunora/bindings: upgraded to 1.0.0-alpha.93
- @lunora/do: upgraded to 1.0.0-alpha.190
- @lunora/server: upgraded to 1.0.0-alpha.172
- @lunora/shard-engine: upgraded to 1.0.0-alpha.108
@lunora/codegenrefactor
1.0.0-alpha.251
Refactored
Dependencies
- @lunora/advisor: upgraded to 1.0.0-alpha.182
- @lunora/agent: upgraded to 1.0.0-alpha.164
- @lunora/container: upgraded to 1.0.0-alpha.67
- @lunora/platform: upgraded to 1.0.0-alpha.51
- @lunora/queue: upgraded to 1.0.0-alpha.87
- @lunora/scheduler: upgraded to 1.0.0-alpha.105
- @lunora/bindings: upgraded to 1.0.0-alpha.92
- @lunora/do: upgraded to 1.0.0-alpha.189
- @lunora/server: upgraded to 1.0.0-alpha.171
- @lunora/shard-engine: upgraded to 1.0.0-alpha.107
@lunora/configchore
1.0.0-alpha.297
⚠ BREAKING CHANGES
- capability inference and the codegen probe surface changed.
Added
Fixed
Dependencies
- @lunora/codegen: upgraded to 1.0.0-alpha.254
- @lunora/container: upgraded to 1.0.0-alpha.69
- @lunora/seed: upgraded to 1.0.0-alpha.182
- @lunora/studio: upgraded to 1.0.0-alpha.256
@lunora/configchore
1.0.0-alpha.295
⚠ BREAKING CHANGES
@lunora/bindings/analyticsno longer exportscreateAnalyticsSqlClient,AnalyticsSqlErroror theAnalyticsSqlClient,AnalyticsSqlConfig,AnalyticsSqlResultandAnalyticsSqlColumnMetatypes, and theANALYTICS_SQL_ERRORcode is gone. Query withctx.analyticsSqlorcreateAnalyticsSql({ binding: createAnalyticsSqlRest(...) })in the Analytics SQL dialect; failures areAnalyticsSqlQueryError(ANALYTICS_SQL_QUERY_ERROR). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- refactor(advisor): read ae metrics in the analytics sql dialect only The quarantined Analytics Engine feeder speaks only the Analytics SQL dialect, the one
ctx.analyticsSqlruns:events.analyticsEngine."<dataset>", the SQL API's sample-weightedCOUNT(*), and every value bound as a parameter -$since,$event, and$groupwhen a group is given. TheAnalyticsMetricsDialectunion,dialectParts, thesqlStringliteral escaper and the hidden "were params passed" dialect switch are gone; the dataset, which names the table and so cannot be a parameter, keeps its identifier guard. AnalyticsMetricsOptionsrequiressince(an ISO-8601 lowertimestampbound) and has nodialect;AnalyticsMetricsSource.queryalways receivesparams; theAnalyticsMetricsDialecttype is removed. Passctx.analyticsSqlas the source. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(studio): ask the host for usage panels by key, never with sql The Analytics tab has one runner,
analyticsSqlQuery(panel), which receives a panel key ("volume","latency","hotShards") and resolves the rows. The host answers through an admin-gated action that builds the statement server-side withfunctionUsageQuery(panel)and runs it onctx.analyticsSql. The old shape handed the host a SQL string to execute, which invited an action that runs caller-supplied SQL against the whole account. The prop docs and the not-wired message now say the action must be admin-only and take the key. The panel drops the second (token-dialect) runner, the precedence between the two, the dataset prop (now the server's choice) andtoPanelResult: columns arestring[], read off the first row's keys in SELECT order. StudioProps.analyticsQueryis removed andanalyticsSqlQuerynow has the signature(panel: FunctionUsagePanel) => Promise<AnalyticsSqlQueryResult>.AnalyticsPanelPropslosesdatasetandrunAnalyticsSql, and itsrunQuerytakes a panel key. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>- fix(config): report artifacts as unsupported in the alchemy translation The Alchemy translator emits only D1, R2, KV and Queue resources, but an artifacts[] binding was neither emitted nor listed in unsupported, so a config using ctx.artifacts produced a Worker without env.ARTIFACTS and no diagnostic. Raised by review on #941. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- docs(bindings): list the analytics-sql subpath in the readme table Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Added
Dependencies
- @lunora/codegen: upgraded to 1.0.0-alpha.252
- @lunora/container: upgraded to 1.0.0-alpha.68
- @lunora/errors: upgraded to 1.0.0-alpha.50
- @lunora/seed: upgraded to 1.0.0-alpha.180
- @lunora/studio: upgraded to 1.0.0-alpha.254
Open source
Built in the open, on purpose.
Nothing about Lunora is a black box. Read it, fork it, or send the fix yourself.
- Pull requestFork it and send the change
Every contribution is reviewed. Small fixes are welcome.
- Good first issuesStart somewhere small
Labelled and scoped so a first PR is not a research project.
- DiscussionsShape what gets built
The roadmap moves in public.