generated from coulomb/repo-seed
OPEN-WP-0003: CLI validator for Integration Definition schema and index checks. OPEN-WP-0004: Portfolio survey and registration of additional integrations.
82 lines
2.3 KiB
Markdown
82 lines
2.3 KiB
Markdown
---
|
|
id: OPEN-WP-0003
|
|
type: workplan
|
|
title: "Integration CLI validator"
|
|
domain: infotech
|
|
repo: open-reuse
|
|
status: ready
|
|
owner: codex
|
|
topic_slug: infotech
|
|
created: "2026-06-24"
|
|
updated: "2026-06-24"
|
|
---
|
|
|
|
# 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
|
|
|
|
```task
|
|
id: OPEN-WP-0003-T01
|
|
status: todo
|
|
priority: high
|
|
```
|
|
|
|
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
|
|
|
|
```task
|
|
id: OPEN-WP-0003-T02
|
|
status: todo
|
|
priority: high
|
|
```
|
|
|
|
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
|
|
|
|
```task
|
|
id: OPEN-WP-0003-T03
|
|
status: todo
|
|
priority: medium
|
|
```
|
|
|
|
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
|
|
|
|
```task
|
|
id: OPEN-WP-0003-T04
|
|
status: todo
|
|
priority: medium
|
|
```
|
|
|
|
Update `registry/README.md` to reference `open-reuse validate` as the primary
|
|
validation path. Mark manual checklist as fallback until CI is green. |