Skip to content

feat: add tool-metadata.json and multiplex.json - #70

Merged
k-rister merged 1 commit into
masterfrom
feat-tool-metadata
Aug 21, 2026
Merged

feat: add tool-metadata.json and multiplex.json#70
k-rister merged 1 commit into
masterfrom
feat-tool-metadata

Conversation

@k-rister

Copy link
Copy Markdown
Contributor

Summary

  • Adds tool-metadata.json: description and CDM-indexed status for the 4 subtools (mpstat, sar, iostat, pidstat), including sar's split into 5 distinct CDM sources by section (sar-mem, sar-io, sar-tasks, sar-scheduler, sar-net) and mpstat's dynamically-forked source name (mpstat-<fork-index>).
  • Adds multiplex.json: validation rules for sysstat-start's params plus a defaults preset reproducing its own bash defaults (subtools=mpstat,sar,iostat,pidstat, interval=3) — required so existing tool-params.json entries with zero params (a legal, pre-existing case) keep working once this tool opts into rickshaw's multiplex bridge (rickshaw#865).
  • Reference implementation for crucible#653, consumed by crucible tools list (crucible#654 / crucible#655).
  • Updates CLAUDE.md's Key Files table with both new files.

Test plan

  • Validated tool-metadata.json against the current shipped schema (crucible/schema/tool-metadata.json) with jsonschema.validate()
  • Live-tested multiplex.json against the real multiplex.py binary:
    • Empty params → defaults preset backfills subtools/interval=3
    • Explicit valid params (subtools=mpstat,iostat, interval=5) round-trip unchanged
    • Invalid interval (0) and invalid subtool name (bogus) both correctly rejected with EC_VALIDATIONS_FAIL

🤖 Generated with Claude Code

Reference implementation for crucible#653, consumed by `crucible tools
list` (crucible#654 / crucible#655).

- Adds `tool-metadata.json`: description and CDM-indexed status for
  the 4 subtools (mpstat, sar, iostat, pidstat), including sar's split
  into 5 distinct CDM sources by section (sar-mem, sar-io, sar-tasks,
  sar-scheduler, sar-net) and mpstat's dynamically-forked source name
  (`mpstat-<fork-index>`).
- Adds `multiplex.json`: validation rules for `sysstat-start`'s params
  plus a `defaults` preset reproducing its own bash defaults
  (`subtools=mpstat,sar,iostat,pidstat`, `interval=3`) — required so
  existing `tool-params.json` entries with zero params (a legal,
  pre-existing case) keep working once this tool opts into rickshaw's
  multiplex bridge (rickshaw#865).
- Updates `CLAUDE.md`'s Key Files table with both new files.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@k-rister k-rister self-assigned this Aug 21, 2026
@k-rister
k-rister requested a review from a team August 21, 2026 13:41
@project-crucible-tracking project-crucible-tracking Bot moved this to In Progress in Crucible Tracking Aug 21, 2026

@atheurer atheurer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Verified schema conformance and metric type definitions against the post-processing scripts.

@k-rister
k-rister merged commit 7b768e6 into master Aug 21, 2026
38 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Crucible Tracking Aug 21, 2026
@k-rister
k-rister deleted the feat-tool-metadata branch August 21, 2026 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants