generated from coulomb/repo-seed
Updated by fix-consistency on 2026-05-07: - update .custodian-brief.md for open-cmis-tck
272 lines
8.8 KiB
Markdown
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.
|