5.7 KiB
CMIS OpenCMIS TCK Implementation Evidence
Run timestamp: 2026-05-08T09:21:13Z
Local timestamp: 2026-05-08T11:21:13+02:00
Status: KONT-WP-0013 implementation evidence captured
Purpose
Persist the implementation outcome for the CMIS Browser Binding TCK
compatibility workplan. This document supersedes the initial blocker report in
docs/cmis-opencmis-tck-assessment-2026-05-08T063312Z.md for the current
kontextual-engine state.
Implementation Summary
The CMIS adapter now exposes a Browser Binding-shaped compatibility surface for
the compat-tck profile instead of leaking native snake_case DTOs on the
compatibility route.
Implemented changes:
- Browser Binding service document keyed by repository ID.
- CMIS field names for repository info, capabilities, extended features, type definitions, object properties, ACLs, parents, query results, and root folder projections.
- Selector handling for
repositoryInfo,typeChildren,typeDescendants,typeDefinition,query,object,children,parents,properties,allowableActions,policies, andcontent. compat-tckrepository ID alignment between the engine profile and the OpenCMIS target profile.- Root folder and virtual-folder projections that include the properties
advertised by the
cmis:foldertype definition. includePropertyDefinitionshandling for type-list selectors.- FastAPI OpenAPI generation fix for streaming routes.
- Internal regression coverage for Browser Binding selectors and OpenAPI route generation.
Final OpenCMIS Run
Guide Board live run:
- Run ID:
run-20260508T092113Z - Run directory:
/tmp/open-cmis-tck-kontextual-fix6-20260508 - Assessment status:
completed - Target:
kontextual-cmis-compat - Assessment:
cmis-browser-baseline - Browser Binding URL:
http://127.0.0.1:8010/cmis/compat-tck/browser - Repository ID:
compat-tck
Guide Board summary:
pass: 1warning: 1skipped: 1- unexpected findings:
0
Mapped groups:
- Repository and type metadata:
warning - Object and content services:
skipped
Normalized OpenCMIS case counts:
repository-type:38 pass,2 info,2 skipped,1 warning,0 failobject-content:22 skipped,0 fail
The remaining repository/type warning is local transport only:
HTTPS is not used. Credentials might be transferred as plain text!
The object/content group skips because the compatibility profile does not make
the cmis:folder base type creatable. This is an intentional boundary for the
current profiled adapter: governed document creation and content stream updates
exist through the current engine-backed routes, but full CMIS CRUD scaffolding
for TCK-created folders is not in scope yet.
Scorecard
Generated scorecard:
- Path:
/tmp/open-cmis-tck-kontextual-fix6-20260508/reports/cmis-maturity-scorecard.md - Maturity score:
23.81 - Coverage:
2/9groups,22.22% - Repository and type metadata:
partial, score3/4 - Object and content services:
not_automated, score2/4
Interpretation:
- The original protocol blocker is resolved: OpenCMIS can create a Browser Binding session and execute selected checks.
- The current score remains low because only two groups are selected in the baseline and one group is intentionally skipped by profile capability.
- The scorecard is preparation evidence, not CMIS certification.
Commands
Focused internal CMIS regression suite:
cd /home/worsch/kontextual-engine
.venv/bin/python -m pytest tests/cmis --perf-history-disable
Result:
45 passed
Live OpenCMIS run:
cd /home/worsch/guide-board
source /home/worsch/open-cmis-tck/.local/toolchains/env.sh
PYTHONPATH=src python3 -m guide_board \
--extension-dir ../open-cmis-tck \
run \
--target /tmp/kontextual-cmis-compat-8010.json \
--assessment ../open-cmis-tck/profiles/assessments/cmis-browser-baseline.json \
--output-dir /tmp/open-cmis-tck-kontextual-fix6-20260508
Scorecard generation:
cd /home/worsch/open-cmis-tck
PYTHONPATH=src python3 scripts/cmis_scorecard.py \
--run-dir /tmp/open-cmis-tck-kontextual-fix6-20260508
Evidence Artifacts
The /tmp run artifacts are useful local evidence but may be ephemeral:
/tmp/open-cmis-tck-kontextual-fix6-20260508/reports/report.md/tmp/open-cmis-tck-kontextual-fix6-20260508/reports/cmis-maturity-scorecard.md/tmp/open-cmis-tck-kontextual-fix6-20260508/normalized/evidence.json/tmp/open-cmis-tck-kontextual-fix6-20260508/normalized/findings.json/tmp/open-cmis-tck-kontextual-fix6-20260508/artifacts/open-cmis-tck/tck/repository-type/normalized-runner-result.json/tmp/open-cmis-tck-kontextual-fix6-20260508/artifacts/open-cmis-tck/tck/object-content/normalized-runner-result.json
Remaining Boundary Gaps
These are not regressions in the current workplan; they are next-scope choices:
- Configure a durable local target profile or harness parameter for the
kontextual-enginetest port instead of using a temporary/tmpprofile. - Decide whether the
compat-tckprofile should support CMIScreateFolderpurely to exercise more CRUD/content TCK cases. - Expand OpenCMIS selected groups beyond
repository-typeandobject-contentonce the targeted capability boundary is agreed. - Harden
open-cmis-tckpreflight in the sister repository so native-shaped repository-info responses are rejected before Maven invocation. - Add HTTPS or a local warning waiver only when transport-security evidence matters for a deployment profile.
Conclusion
KONT-WP-0013 achieved its main purpose for kontextual-engine: OpenCMIS no
longer fails at session creation, the repository/type group parses and executes,
the object/content group reaches parsed TCK cases, and the remaining gaps are
capability-scope decisions rather than protocol-shape crashes.