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.
|
||||
81
workplans/OPEN-WP-0004-integration-portfolio-registration.md
Normal file
81
workplans/OPEN-WP-0004-integration-portfolio-registration.md
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
id: OPEN-WP-0004
|
||||
type: workplan
|
||||
title: "Integration portfolio registration"
|
||||
domain: infotech
|
||||
repo: open-reuse
|
||||
status: ready
|
||||
owner: codex
|
||||
topic_slug: infotech
|
||||
created: "2026-06-24"
|
||||
updated: "2026-06-24"
|
||||
---
|
||||
|
||||
# Integration portfolio registration
|
||||
|
||||
Grow `registry/indexes/integrations.yaml` beyond the markitect-quarkdown
|
||||
reference entry. Survey the portfolio for proven OSS integrations, coordinate
|
||||
definition authoring in consuming repositories, and register discovery rows in
|
||||
open-reuse.
|
||||
|
||||
## Design decisions
|
||||
|
||||
- **Source of truth:** Integration definitions live in consuming repos;
|
||||
open-reuse holds the discovery index only (per PRD open question 7).
|
||||
- **Entry bar:** Only integrations that have **proven value** in practice —
|
||||
open-reuse does not register experiments or planned work.
|
||||
- **Dependency:** Prefer `open-reuse validate` from OPEN-WP-0003 for final
|
||||
verification; manual checklist is acceptable until that workplan completes.
|
||||
|
||||
## Survey portfolio candidates
|
||||
|
||||
```task
|
||||
id: OPEN-WP-0004-T01
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Scan the local repo portfolio (reuse-surface `local-repo-roster.yaml`, domain
|
||||
`INTENT.md` files, and existing `*.integration.yaml` files) for proven
|
||||
integrations not yet indexed. Produce a short candidate list with owner repo,
|
||||
upstream project, reuse mode estimate, and registration readiness
|
||||
(ready / needs-definition / needs-boundary-work).
|
||||
|
||||
## Prioritize and assign targets
|
||||
|
||||
```task
|
||||
id: OPEN-WP-0004-T02
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Select 2–3 candidates for registration in this workplan cycle. Record the
|
||||
selection and rationale in the task result. Defer remaining candidates to
|
||||
backlog with explicit blockers.
|
||||
|
||||
## Author integration definitions
|
||||
|
||||
```task
|
||||
id: OPEN-WP-0004-T03
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
For each selected candidate, ensure a conforming Integration Definition exists
|
||||
in the consuming repo at `integration/<id>.integration.yaml` using
|
||||
`templates/integration-entry.template.yaml`. Complete at minimum: upstream,
|
||||
reuse classification, boundary, validation harness, and maintainers. Coordinate
|
||||
PRs in owning repos where definitions are missing.
|
||||
|
||||
## Expand registry index
|
||||
|
||||
```task
|
||||
id: OPEN-WP-0004-T04
|
||||
status: todo
|
||||
priority: medium
|
||||
```
|
||||
|
||||
Add index rows to `registry/indexes/integrations.yaml` for each registered
|
||||
integration. Update `registry/README.md` reference section. Run
|
||||
`open-reuse validate` (or manual checklist) and confirm all new rows pass
|
||||
promotion gates for `registered` or `active` status.
|
||||
Reference in New Issue
Block a user