generated from coulomb/repo-seed
196 lines
5.5 KiB
Markdown
196 lines
5.5 KiB
Markdown
---
|
|
id: OPEN-CMIS-TCK-WP-0001
|
|
type: workplan
|
|
title: "OpenCMIS TCK Harness Foundation"
|
|
repo: open-cmis-tck
|
|
domain: markitect
|
|
status: active
|
|
owner: codex
|
|
planning_priority: high
|
|
planning_order: 1
|
|
created: "2026-05-07"
|
|
updated: "2026-05-07"
|
|
state_hub_workstream_id: "276483ee-1497-495b-8710-fd8bb7dace22"
|
|
---
|
|
|
|
# OPEN-CMIS-TCK-WP-0001: OpenCMIS TCK Harness Foundation
|
|
|
|
## Purpose
|
|
|
|
Establish `open-cmis-tck` as a reusable CMIS compatibility test facility. The
|
|
first usable outcome is a local harness that can run selected Apache Chemistry
|
|
OpenCMIS TCK checks against a configured CMIS Browser Binding target and produce
|
|
normalized capability evidence.
|
|
|
|
## Background
|
|
|
|
`kontextual-engine` now exposes a conservative CMIS 1.1 Browser Binding subset
|
|
with explicit unsupported flags. Its current scorecard is estimation-based.
|
|
Running selected OpenCMIS TCK checks is the next step to turn that estimate into
|
|
evidence-backed capability scoring.
|
|
|
|
This repository keeps the TCK harness separate so product repositories do not
|
|
have to carry Java/Maven orchestration, raw TCK output, or test-facility service
|
|
code in their own trees.
|
|
|
|
## Target Architecture
|
|
|
|
```text
|
|
target profile config
|
|
-> preflight probe
|
|
-> OpenCMIS TCK runner
|
|
-> raw run artifacts
|
|
-> normalized result model
|
|
-> capability-group mapper
|
|
-> JSON/Markdown reports
|
|
-> optional service API
|
|
```
|
|
|
|
## Boundary
|
|
|
|
This workplan builds a test facility. It does not implement CMIS server
|
|
features, modify `kontextual-engine`, or claim formal CMIS certification.
|
|
|
|
## D1.1 - Repository Foundation
|
|
|
|
```task
|
|
id: OPEN-CMIS-TCK-WP-0001-T001
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "add6a26d-38a8-4500-8a3e-6fdac43fee42"
|
|
```
|
|
|
|
Acceptance:
|
|
|
|
- `INTENT.md` captures the project purpose, scope, boundaries, and first target.
|
|
- Repository README identifies the project and points to the workplan.
|
|
- Basic directory layout exists for configs, scripts, reports, docs, and tests.
|
|
- Local generated artifacts are ignored where appropriate.
|
|
|
|
## D1.2 - Target Profile Schema
|
|
|
|
```task
|
|
id: OPEN-CMIS-TCK-WP-0001-T002
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "2ccc74a7-bed9-4769-8608-d579fdf3a0cd"
|
|
```
|
|
|
|
Acceptance:
|
|
|
|
- A target profile config format defines endpoint URL, binding, repository ID,
|
|
credentials or auth mode, expected capability groups, known gaps, and timeout
|
|
settings.
|
|
- A `kontextual-engine` `compat-tck` example profile is included.
|
|
- Profile validation produces actionable diagnostics for missing or invalid
|
|
fields.
|
|
|
|
## D1.3 - Preflight Probe
|
|
|
|
```task
|
|
id: OPEN-CMIS-TCK-WP-0001-T003
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "6d45885b-78a4-4e8b-8fcc-b8d6488e703b"
|
|
```
|
|
|
|
Acceptance:
|
|
|
|
- Preflight checks verify target reachability, repository info, CMIS version,
|
|
binding posture, and capability flags before invoking the Java TCK.
|
|
- Unsupported optional capabilities can be accepted as expected gaps.
|
|
- Preflight output is captured as structured JSON.
|
|
|
|
## D1.4 - OpenCMIS TCK Runner Wrapper
|
|
|
|
```task
|
|
id: OPEN-CMIS-TCK-WP-0001-T004
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "502d7586-6f9e-475e-9683-43260666d5d9"
|
|
```
|
|
|
|
Acceptance:
|
|
|
|
- The harness documents Java and Maven requirements.
|
|
- A runner command can invoke selected OpenCMIS TCK groups against one target.
|
|
- Raw logs and machine-readable run metadata are written under a run directory.
|
|
- TCK execution can be skipped cleanly when Java/Maven are unavailable.
|
|
|
|
## D1.5 - Result Normalization
|
|
|
|
```task
|
|
id: OPEN-CMIS-TCK-WP-0001-T005
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "716486b6-6f14-41f8-8417-5015ba746005"
|
|
```
|
|
|
|
Acceptance:
|
|
|
|
- Raw TCK output is normalized into a stable result schema.
|
|
- Results distinguish pass, fail, expected skip, unsupported by design, and
|
|
infrastructure error.
|
|
- Failures include enough context to map back to TCK group, capability group,
|
|
target profile, and raw artifact paths.
|
|
|
|
## D1.6 - Capability Mapping And Reports
|
|
|
|
```task
|
|
id: OPEN-CMIS-TCK-WP-0001-T006
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "9f7dacc5-4d19-4755-aa9a-8572d4285514"
|
|
```
|
|
|
|
Acceptance:
|
|
|
|
- Capability-group mapping aligns TCK groups with repository/type, navigation,
|
|
object/content, versioning, query, relationships, ACL/policy, change log, and
|
|
extension gaps.
|
|
- JSON reports are compact and suitable for scorecard ingestion.
|
|
- Markdown reports summarize pass/fail/skip counts and unexpected gaps.
|
|
- Known gaps do not hide unexpected failures in the same capability area.
|
|
|
|
## D1.7 - Optional Local Service API
|
|
|
|
```task
|
|
id: OPEN-CMIS-TCK-WP-0001-T007
|
|
status: todo
|
|
priority: medium
|
|
state_hub_task_id: "a05e47bd-88db-4878-aef4-bf328790c3f0"
|
|
```
|
|
|
|
Acceptance:
|
|
|
|
- A small local API can list target profiles, start a run, inspect run status,
|
|
and fetch normalized reports.
|
|
- The service is optional; CLI operation remains the primary path.
|
|
- Long-running TCK jobs are tracked without blocking the API process.
|
|
|
|
## D1.8 - Historical Result Retention
|
|
|
|
```task
|
|
id: OPEN-CMIS-TCK-WP-0001-T008
|
|
status: todo
|
|
priority: medium
|
|
state_hub_task_id: "c27ea43f-41ec-49d0-a890-3681455f7c6c"
|
|
```
|
|
|
|
Acceptance:
|
|
|
|
- The harness keeps compact run summaries over time.
|
|
- Retention avoids unbounded raw log growth.
|
|
- Summaries are suitable for trend charts and downstream capability-score
|
|
updates.
|
|
|
|
## Definition Of Done
|
|
|
|
- A developer can configure a target CMIS Browser Binding endpoint.
|
|
- Preflight can verify the target before TCK execution.
|
|
- Selected OpenCMIS TCK checks can be invoked or cleanly skipped when
|
|
dependencies are missing.
|
|
- Normalized JSON and Markdown reports are generated.
|
|
- The `kontextual-engine` `compat-tck` target profile is represented.
|
|
- The repository has a clear path for StateHub registration.
|