Files
open-reuse/workplans/OPEN-WP-0003-integration-cli-validator.md

2.6 KiB

id, type, title, domain, repo, status, owner, topic_slug, created, updated, state_hub_workstream_id
id type title domain repo status owner topic_slug created updated state_hub_workstream_id
OPEN-WP-0003 workplan Integration CLI validator infotech open-reuse ready codex infotech 2026-06-24 2026-06-24 16149ad7-be98-4ec1-807b-3d4b62db2bba

Integration CLI validator

Replace the manual validation checklist in registry/README.md with an automated open-reuse validate command. Follows OPEN-WP-0002 schema v0.1 and patterns from reuse-surface reuse-surface validate.

Design decisions

  • Runtime: Python package (open_reuse/) with uv/pyproject.toml, matching reuse-surface CLI conventions.
  • Scope: Validate Integration Definition YAML against schemas/integration.schema.yaml and check index consistency in registry/indexes/integrations.yaml.
  • Out of scope: Upstream monitoring, validation harness execution, or federation publish — those belong to later workplans.

Bootstrap Python package

id: OPEN-WP-0003-T01
status: todo
priority: high
state_hub_task_id: "70b8cead-3c16-4e48-ab8f-ee6f7cedf25e"

Add pyproject.toml, open_reuse/ package skeleton, and entry point open-reuse with a validate subcommand stub. Include jsonschema and pyyaml as dependencies. Document install and run commands in AGENTS.md and .claude/rules/stack-and-commands.md.

Implement validate command

id: OPEN-WP-0003-T02
status: todo
priority: high
state_hub_task_id: "0f8c8e25-1c1f-4f94-8771-71bcc3402db2"

Implement open-reuse validate with:

  • Schema validation of one or more *.integration.yaml files (default: scan registry/integrations/ if present).
  • Index checks: every indexes/integrations.yaml row has required fields; id and reuse_mode are consistent when the definition file is reachable.
  • --fail-on-warnings for promotion-gate checks (missing maintainers on active status, missing index row for local definitions).
  • Exit code 0 on success, non-zero on errors.

Add tests and CI

id: OPEN-WP-0003-T03
status: todo
priority: medium
state_hub_task_id: "e84e7b00-43ec-429e-afa0-42cb8eaa0074"

Add tests/test_validate.py covering schema pass/fail, index consistency, and the markitect-quarkdown reference fixture. Add .gitea/workflows/ci.yml running pytest on push/PR to main.

Update registry documentation

id: OPEN-WP-0003-T04
status: todo
priority: medium
state_hub_task_id: "cfd38f45-0c0a-4790-b666-c211983b3ee9"

Update registry/README.md to reference open-reuse validate as the primary validation path. Mark manual checklist as fallback until CI is green.