Skip to content

Conformance wave: prerequisite visibility + cross-platform declarations (incl. shared hook-utils fix) #317

Description

@kyle-sexton

Part of the plugin-conformance program — epic #313 (dimensions 9 + 10 of its matrix).

Shared root cause — fix once in the synced hook library: the fleet's hook-utils.sh telemetry-only skip path makes a missing optional CLI a silent no-op in the default no-sink configuration. Doctrine: absence must be surfaced to both the agent and the user; a silently skipped feature is a defect. Land the visible-skip mechanism (e.g. additionalContext note) in the library source and resync all hook plugins.

Silent-skip / undeclared-prereq FAILs (dim 9): actionlint (CLI + jq silent no-op), bash-format (shellcheck skip invisible), desktop-notification (jq ungated), docs-hygiene (markdownlint-cli2 ship gate undeclared + absent-binary unclassified), eol-normalizer (jq disables hook silently), kindle-dedrm (gh undeclared, no fallback), ruff-format (ruff/jq silent), source-control (jq + unzip missing from README), work-items (jq undeclared), review (agents hard-require gh, README has no prerequisites section), biome-format (jq undeclared — noted).

Cross-platform declaration FAILs (dim 10): actionlint, mcp-tools, work-items (bash/jq requirement unstated), ai-briefing, education, prototype (unconditional Bash helper, no Windows path), code-tidying, knowledge (PowerShell gap), event-storming (unconditional rm -rf teardown), repo-hygiene (bare .sh hook command instead of interpreter-named exec form — real Windows spawn risk).

Acceptance: every runtime prerequisite declared at point of use and in the README; absence classified per doctrine (required→stop with remediation, optional→visible warn + skip, N/A→quiet); shell requirements stated with a Windows path; version bump + CHANGELOG per plugin; contract gate green.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions