Commit Graph
3 Commits
Author SHA1 Message Date
moebiusbandandClaude Opus 5 668a5bf877 fix(config): update example configurations to match implementation
The shipped examples had drifted from the code that parses them:

- configs/cluster.json was still in the pre-v3 format: no top-level "name",
  "numberOfNodes" instead of the required "nodes" node-list expression, plain
  numbers instead of MetricValue objects for flopRateScalar/flopRateSimd/
  memoryBandwidth, unit strings instead of unit objects, "aggregation": null,
  and hwthread 72 missing from the core topology. It neither validated against
  cluster.schema.json nor decoded into schema.Cluster. Rewritten in the current
  format and extended with the accelerator metrics the GPU subclusters need.
- archive.retention.location is not a field of taskmanager.Retention. That
  decode is not strict, so the key was silently dropped and a "move" policy ran
  with an empty target path. Replaced with target-kind/target-path.
- "ui-file" pointed at ui-config.json while the shipped file is uiConfig.json,
  so ccConfig logged a load error and the UI fell back to defaults.
- Added the options introduced since the examples were written: checkpoint
  file-format/interval/max-wal-size, api-subjects concurrency, db-config,
  nodestate-retention, archive retention/compression, smoothing-window and the
  resample policy/algo defaults.

The config written by -init had no metric-store section, so a server started
right after -init aborted with "missing metricstore configuration".

internal/configexample guards all of this: it resolves "-file" references the
way ccConfig does, strict-decodes every section into the struct that actually
parses it, and validates the cluster configs against the cc-lib schema.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 16:02:32 +02:00
moebiusbandandClaude Opus 5 769da61570 fix(frontend): drop dead resample trigger/resolutions config
config.ResampleConfig stopped emitting the trigger and resolutions fields,
but MetricPlot still read them. resampleResolutions and resampleMinimum
were therefore always null, which made the array-based resolution branch in
the setScale hook unreachable and the timestep !== resampleMinimum guard
always true. Keep only the policy-based branch and derive the zoom trigger
straight from targetPoints.

configs/config-large.json still carried the removed minimum-points, trigger
and resolutions keys, which DisallowUnknownFields now rejects, so starting
against it aborted. Replace them with the current keys and add a test that
loads the file, so the example configs cannot drift out of the schema
unnoticed again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 12:17:34 +02:00
moebiusband 2d5d8fa20b Add large config example 2026-08-26 21:13:33 +02:00