Summary
plugins/ruff-format/hooks/ruff-format.sh calls hook::emit_telemetry("ruff-format", ...) and emits a schema-shaped envelope, but unlike markdown-format and (now) typos-format, it never shipped:
docs/conventions/hook-telemetry/data/ruff-format.schema.json
- A row in
docs/conventions/hook-telemetry/README.md's Implementers table
Found during independent review of #872 (typos-format plugin), which used ruff-format as one of its two reference plugins for the hook-telemetry convention and discovered the gap while comparing against markdown-format's complete schema+registry-row pair.
Impact
Low — the envelope itself is correctly shaped and functions; this is purely a documentation-conformance gap (a consumer sink discovering the ruff-format hook value has no published data schema to validate against, per the convention's own "Per-hook data" discovery mechanism).
Fix
Add docs/conventions/hook-telemetry/data/ruff-format.schema.json (mirror markdown-format.schema.json's shape: {tool, file, findings}, adjusted for Ruff's findings shape — array of diagnostic strings, matching what ruff-format.sh actually emits) and add the corresponding row to the Implementers table.
Related
Summary
plugins/ruff-format/hooks/ruff-format.shcallshook::emit_telemetry("ruff-format", ...)and emits a schema-shaped envelope, but unlikemarkdown-formatand (now)typos-format, it never shipped:docs/conventions/hook-telemetry/data/ruff-format.schema.jsondocs/conventions/hook-telemetry/README.md's Implementers tableFound during independent review of #872 (typos-format plugin), which used
ruff-formatas one of its two reference plugins for the hook-telemetry convention and discovered the gap while comparing againstmarkdown-format's complete schema+registry-row pair.Impact
Low — the envelope itself is correctly shaped and functions; this is purely a documentation-conformance gap (a consumer sink discovering the
ruff-formathookvalue has no publisheddataschema to validate against, per the convention's own "Per-hook data" discovery mechanism).Fix
Add
docs/conventions/hook-telemetry/data/ruff-format.schema.json(mirrormarkdown-format.schema.json's shape:{tool, file, findings}, adjusted for Ruff's findings shape — array of diagnostic strings, matching whatruff-format.shactually emits) and add the corresponding row to the Implementers table.Related
docs/topics/lint-static-analysis-gaps/PLAN.md).