← Back to all sparks
H

hubAdmin

ANALYTICS
Velocity0.0

Utilities for Administering Hubverse Hubs

The config-authoring half of hubverse, pinned to whatever the schema is doing this quarter

forecast-hubsjson-schemaconfig-validationhubverseepidemiologyr-package
Current state
hubAdmin builds and validates the JSON configuration that defines a hubverse forecast hub — rounds, model tasks, output types, target metadata. It is the administrator-facing member of the hubverse family, sitting alongside the packages that read and evaluate hub data. Its release cadence is set almost entirely by the hubverse schema, which it has now tracked from v4.0.0 through v6.0.0.
Where it's heading
Every release here is legible as schema-following. New schema properties become new arguments, new schema constraints become new validate_config() checks, and the package version is essentially a marker for which schema generation it can author. The one thread that is genuinely its own is ergonomics: session-level options for schema version and branch, support for in-development schema branches, and a steadily stricter validator that now catches duplicate properties and mismatched target keys before a hub goes live.
Prediction
With v6.0.0 support only partially landed, the next releases most likely finish the additional_metadata migration across the remaining create_* functions.

Recent moves

  1. 9mo ago

    Schema v6.0.0 additional_metadata support lands

    Adds arbitrary extra properties through a ... argument on create_round() and create_target_metadata_item(), wrapped in v6.0.0's additional_metadata field and written directly for older schemas. It also fixes unhelpful validation errors when custom task IDs like reference_date are used as round IDs with values that vary across model tasks.

    View source ↗
  2. 9mo ago

    target-data.json config validation added

    Extends validation to the target-data.json config and adds has_target_data_config() to detect it, widening the package's remit beyond the tasks config. Early v6.0.0 schema tests arrive in the same release.

    View source ↗
  3. 1y ago

    Target metadata gains optional properties for schema 5.1.0

    Updates create_target_metadata_item() with optional additional properties to match schema 5.1.0. A narrow release that shows the package's cadence tracking the schema's rather than its own.

    View source ↗
  4. 1y ago

    Validator catches duplicate properties and mismatched target keys

    validate_config() now flags duplicate property names and checks that each target_metadata item's target_id matches the declared target_keys. Both are the kind of misconfiguration that would otherwise surface as confusing failures once a hub is accepting submissions.

    View source ↗
  5. 1y ago

    Schema version and branch settable per session

    Lets schema_version and branch be set globally through options rather than passed to every create_* call, and makes round_id pattern validation explicit in line with schema v4.0.1's regular expression. The ergonomics thread that runs alongside the schema-chasing.

    View source ↗
  6. 1y ago

    Output types follow the v4.0.0 is_required split

    Adopts v4.0.0's separation of whether an output type is required from which output_type_id values are required, and encodes the empty case as NULL rather than NA. The branch attribute added here is what later allowed authoring against schemas still in development.

    View source ↗