generated from coulomb/repo-seed
docs(workplans): add OPEN-WP-0003 and OPEN-WP-0004
OPEN-WP-0003: CLI validator for Integration Definition schema and index checks. OPEN-WP-0004: Portfolio survey and registration of additional integrations.
This commit is contained in:
82
workplans/OPEN-WP-0003-integration-cli-validator.md
Normal file
82
workplans/OPEN-WP-0003-integration-cli-validator.md
Normal file
@@ -0,0 +1,82 @@
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user