Files
open-cmis-tck/workplans/OPEN-CMIS-TCK-WP-0001-harness-foundation.md
tegwick cc43881565 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-05-07:
  - update .custodian-brief.md for open-cmis-tck
2026-05-07 22:58:28 +02:00

272 lines
8.8 KiB
Markdown

---
id: OPEN-CMIS-TCK-WP-0001
type: extension-workplan
title: "OpenCMIS TCK Harness Foundation"
repo: open-cmis-tck
extension: open-cmis-tck
domain: markitect
status: completed
owner: codex
planning_priority: high
planning_order: 2
created: "2026-05-07"
updated: "2026-05-07"
superseded_root_workplan: "workplans/OPEN-CMIS-TCK-WP-0001-harness-foundation.md"
state_hub_workstream_id: "276483ee-1497-495b-8710-fd8bb7dace22"
---
# OPEN-CMIS-TCK-WP-0001: OpenCMIS TCK Harness Foundation
## Purpose
Establish `open-cmis-tck` as the first guide-board extension. 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
guide-board 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 extension keeps CMIS-specific Java/Maven orchestration, raw TCK output, and
capability mapping outside the guide-board core.
## Target Architecture
```text
CMIS target profile
-> CMIS preflight probe
-> OpenCMIS TCK runner
-> raw run artifacts
-> guide-board normalized evidence
-> CMIS capability mapper
-> JSON/Markdown report fragments
```
## Boundary
This workplan builds a guide-board extension. It does not implement CMIS server
features, modify `kontextual-engine`, issue certifications, provide audit
assurance, or replace legal, regulatory, or accredited assessment work.
## D1.1 - Extension Foundation
```task
id: OPEN-CMIS-TCK-WP-0001-T001
status: done
priority: high
state_hub_task_id: "add6a26d-38a8-4500-8a3e-6fdac43fee42"
```
Acceptance:
- `extensions/open-cmis-tck/INTENT.md` captures the extension purpose, scope,
boundaries, and first target.
- Extension README identifies how the extension plugs into guide-board.
- Basic directory layout exists for configs, scripts, reports, docs, and tests.
- Local generated artifacts are ignored where appropriate.
Progress:
- The extension manifest now lives at repo root as `extension.json`.
- CMIS runners, mappings, profiles, and tests live directly in this repository.
- The README documents how to load this repo with
`guide-board --extension-dir ../open-cmis-tck`.
- Framework-owned files moved to the separate `guide-board` repo.
## D1.2 - CMIS Target Profile Schema
```task
id: OPEN-CMIS-TCK-WP-0001-T002
status: done
priority: high
state_hub_task_id: "2ccc74a7-bed9-4769-8608-d579fdf3a0cd"
```
Acceptance:
- A CMIS 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.
Progress:
- Added CMIS-specific profile diagnostics in `open_cmis_tck.profile`.
- Documented the CMIS profile contract in `docs/CMIS-PROFILES.md`.
- Added `runtime_policy.opencmis_tck.repository_id` to the baseline assessment
profile while keeping the persisted profiles compatible with guide-board core
schemas.
## D1.3 - CMIS Preflight Probe
```task
id: OPEN-CMIS-TCK-WP-0001-T003
status: done
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.
Progress:
- The first CMIS Browser Binding preflight runner checks endpoint reachability
and parseable JSON repository metadata through the guide-board runner bridge.
- The preflight runner preserves raw response metadata and body artifacts for
assessment-package fingerprinting.
- Failed CMIS preflight now blocks downstream OpenCMIS TCK groups instead of
invoking the Java/Maven wrapper against an invalid target.
- Capability flags are normalized into repository capability posture facts.
- Unsupported optional capabilities can be accepted as target-profile known gaps
without hiding unexpected unsupported declared capabilities.
## D1.4 - OpenCMIS TCK Runner Wrapper
```task
id: OPEN-CMIS-TCK-WP-0001-T004
status: done
priority: high
state_hub_task_id: "502d7586-6f9e-475e-9683-43260666d5d9"
```
Acceptance:
- The extension 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.
Progress:
- `opencmis-tck` is now a manifest-declared command runner.
- The wrapper checks Java and Maven availability and returns structured blocked
evidence when dependencies or final TCK invocation details are missing.
- `profiles/expectations/cmis-local-harness.json` marks local bootstrap blockers
as expected without hiding target preflight failures.
- The wrapper can invoke a configured argv command from
`runtime_policy.opencmis_tck.command` or environment variables.
- The wrapper expands CMIS placeholders, captures stdout/stderr and invocation
metadata under the run directory, and skips cleanly when Java/Maven or command
configuration are missing.
## D1.5 - CMIS Result Normalization
```task
id: OPEN-CMIS-TCK-WP-0001-T005
status: done
priority: high
state_hub_task_id: "716486b6-6f14-41f8-8417-5015ba746005"
```
Acceptance:
- Raw TCK output is normalized into the guide-board evidence 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.
Progress:
- Added runner-side normalization for JSON case lists, JSON runner results,
JUnit-style XML, and exit-code-only output.
- Normalized result counts, case IDs, selected check group, target URL,
repository ID, return code, and artifact paths are captured in guide-board
evidence facts.
## D1.6 - Capability Mapping And Reports
```task
id: OPEN-CMIS-TCK-WP-0001-T006
status: done
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.
Progress:
- `cmis-capability-map` maps initial CMIS requirement refs to repository/type,
object/content, navigation, query, ACL/policy, and versioning capability
groups.
- Guide-board writes normalized mapping records and includes capability-group
counts in Markdown reports.
- Mapping coverage now includes relationships, change log, policy, and extension
gap requirement refs.
- Additional check groups are declared for relationships, change log, and
extension/known-gap review.
## D1.7 - Optional Local Service API Adapter
```task
id: OPEN-CMIS-TCK-WP-0001-T007
status: done
priority: medium
state_hub_task_id: "a05e47bd-88db-4878-aef4-bf328790c3f0"
```
Acceptance:
- The guide-board service can list CMIS profiles, start a CMIS run, inspect run
status, and fetch normalized CMIS reports.
- CLI operation remains the primary path.
- Long-running TCK jobs are tracked without blocking the API process.
Progress:
- Verified `open-cmis-tck` through guide-board's local service as an external
extension.
- Documented service usage in `docs/SERVICE-AND-RETENTION.md`.
## D1.8 - Historical Result Retention
```task
id: OPEN-CMIS-TCK-WP-0001-T008
status: done
priority: medium
state_hub_task_id: "c27ea43f-41ec-49d0-a890-3681455f7c6c"
```
Acceptance:
- The extension contributes compact run summaries over time.
- Retention avoids unbounded raw log growth.
- Summaries are suitable for trend charts and downstream capability-score
updates.
Progress:
- CMIS runs now exercise guide-board retention summaries and trend input through
extension tests.
- The sample assessment profile declares 365-day summary retention and 30-day
raw artifact retention.
- Retention behavior is documented in `docs/SERVICE-AND-RETENTION.md`.
## Definition Of Done
- A developer can configure a 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 guide-board JSON and Markdown report fragments are generated.
- The `kontextual-engine` `compat-tck` target profile is represented.