generated from coulomb/repo-seed
84 lines
2.3 KiB
Markdown
84 lines
2.3 KiB
Markdown
# Service And Retention Integration
|
|
|
|
Status: draft
|
|
Created: 2026-05-07
|
|
|
|
## Local Service
|
|
|
|
`open-cmis-tck` does not run its own service. It plugs into the guide-board
|
|
local API as an external extension:
|
|
|
|
```sh
|
|
cd ../guide-board
|
|
PYTHONPATH=src python3 -m guide_board \
|
|
--extension-dir ../open-cmis-tck \
|
|
serve --host 127.0.0.1 --port 8080
|
|
```
|
|
|
|
The guide-board service can then:
|
|
|
|
- list `open-cmis-tck` from `GET /extensions`,
|
|
- build CMIS run plans with `POST /assessments/plan`,
|
|
- start CMIS runs with `POST /runs`,
|
|
- inspect jobs with `GET /runs/{job_id}`,
|
|
- fetch reports with `GET /runs/{job_id}/reports`.
|
|
|
|
CLI execution remains the primary and most transparent path. The service is a
|
|
transport and job-tracking layer over the same runner contracts.
|
|
|
|
## Retention
|
|
|
|
CMIS runs use the guide-board run directory contract. Each run writes:
|
|
|
|
- `run.json`
|
|
- `retention-summary.json`
|
|
- `plan.json`
|
|
- `normalized/evidence.json`
|
|
- `normalized/findings.json`
|
|
- `normalized/mappings.json`
|
|
- `reports/assessment-package.json`
|
|
- `reports/report.md`
|
|
|
|
Extension-side post-processing can also add:
|
|
|
|
- `reports/cmis-maturity-scorecard.json`
|
|
- `reports/cmis-maturity-scorecard.md`
|
|
- `reports/opencmis-log-review.json`
|
|
- `reports/opencmis-log-review.md`
|
|
|
|
The sample assessment profile keeps summaries for 365 days and raw artifacts for
|
|
30 days:
|
|
|
|
```json
|
|
{
|
|
"retention_policy": {
|
|
"summary_days": 365,
|
|
"raw_artifact_days": 30
|
|
}
|
|
}
|
|
```
|
|
|
|
Compact `retention-summary.json` files are suitable for guide-board trend
|
|
summaries and downstream CMIS capability scorecards without retaining unbounded
|
|
raw TCK logs.
|
|
|
|
## Durable Local Archive
|
|
|
|
For product-facing assessment evidence, do not rely on `/tmp` as the only copy.
|
|
Archive completed runs after scorecard and log-review generation:
|
|
|
|
```sh
|
|
cd /home/worsch/open-cmis-tck
|
|
PYTHONPATH=src python3 scripts/archive_assessment_run.py \
|
|
--run-dir /tmp/open-cmis-tck-live \
|
|
--archive-root .local/runs/archive
|
|
```
|
|
|
|
The archive command copies the full run directory and writes
|
|
`archive-manifest.json` with SHA-256 hashes, file sizes, source path, archive
|
|
path, run ID, target profile reference, and assessment profile reference.
|
|
|
|
The default local archive root remains under `.local/`, so it is not committed.
|
|
Move selected archive packages into a controlled evidence store when the run is
|
|
used for release or external audit preparation.
|