generated from coulomb/repo-seed
Separated open-cmis-tck and guide-board repositories
This commit is contained in:
233
workplans/OPEN-CMIS-TCK-WP-0001-harness-foundation.md
Normal file
233
workplans/OPEN-CMIS-TCK-WP-0001-harness-foundation.md
Normal file
@@ -0,0 +1,233 @@
|
||||
---
|
||||
id: OPEN-CMIS-TCK-WP-0001
|
||||
type: extension-workplan
|
||||
title: "OpenCMIS TCK Harness Foundation"
|
||||
repo: guide-board
|
||||
extension: open-cmis-tck
|
||||
domain: markitect
|
||||
status: active
|
||||
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: todo
|
||||
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.
|
||||
|
||||
## D1.3 - CMIS Preflight Probe
|
||||
|
||||
```task
|
||||
id: OPEN-CMIS-TCK-WP-0001-T003
|
||||
status: in_progress
|
||||
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 flag normalization remains to be expanded after a live target sample
|
||||
is captured.
|
||||
|
||||
## D1.4 - OpenCMIS TCK Runner Wrapper
|
||||
|
||||
```task
|
||||
id: OPEN-CMIS-TCK-WP-0001-T004
|
||||
status: in_progress
|
||||
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.
|
||||
- Actual Apache Chemistry TCK classpath resolution, group invocation, and raw log
|
||||
capture remain to be implemented.
|
||||
|
||||
## D1.5 - CMIS 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 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.
|
||||
|
||||
## D1.6 - Capability Mapping And Reports
|
||||
|
||||
```task
|
||||
id: OPEN-CMIS-TCK-WP-0001-T006
|
||||
status: in_progress
|
||||
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.
|
||||
|
||||
## D1.7 - Optional Local Service API Adapter
|
||||
|
||||
```task
|
||||
id: OPEN-CMIS-TCK-WP-0001-T007
|
||||
status: todo
|
||||
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.
|
||||
|
||||
## 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 extension contributes 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 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.
|
||||
Reference in New Issue
Block a user