4.6 KiB
CMIS OpenCMIS TCK Evidence - WP-0014 - 2026-05-08T16:43:34Z
Run
- Run ID:
run-20260508T164334Z - Harness:
guide-boardwith external extension/home/worsch/open-cmis-tck - Target:
kontextual-cmis-compat - Endpoint under test:
http://127.0.0.1:8010/cmis/compat-tck/browser - Output directory:
/tmp/open-cmis-tck-kontextual-wp14-20260508T1643Z - Assessment package:
/tmp/open-cmis-tck-kontextual-wp14-20260508T1643Z/reports/assessment-package.json - Report:
/tmp/open-cmis-tck-kontextual-wp14-20260508T1643Z/reports/report.md
Command shape:
cd /home/worsch/guide-board
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-wp14-20260508T1643Z
The local Java/Maven toolchain from /home/worsch/open-cmis-tck/.local/toolchains
was supplied in the command environment.
Internal Verification
- Focused CMIS tests:
.venv/bin/python -m pytest tests/cmis/test_cmis_runtime_browser_binding.py tests/cmis/test_cmis_browser_binding_api.py -q->20 passed. - Full suite:
.venv/bin/python -m pytest -q->160 passed, 14 skipped.
OpenCMIS Result Summary
Overall Guide Board status remains infrastructure_error because the
object-content group still contains unsupported or incomplete CMIS services.
Normalized group counts:
repository-type:38 pass,2 info,1 skipped,1 warning.object-content:12 info,5 skipped,3 warning,3 fail,3 infrastructure_error.
The sole repository-type warning is local HTTP rather than HTTPS:
HTTPS is not used. Credentials might be transferred as plain text!
Improvements Since run-20260508T153316Z
- Fixed Browser Binding parent
relativePathSegment; OpenCMIS no longer builds invalid paths such as/folder/folderfor documents. - Added Browser Binding property filtering and optional envelope trimming for
filter,includeAllowableActions,includeACL, andincludePathSegment. - Changed Browser Binding children
numItemsto report the total child count instead of page length. - Added range-aware content responses with sliced bodies,
Content-Length,Content-Range, and206for partial requests. - Added no-content document compatibility streams while keeping document content stream properties nullable.
- Added stable object-id behavior for adapter-managed folder rename/update.
- Added
setContentanddeleteContentBrowser Binding action aliases over the existing content-stream service boundary. - Preserved existing blob deduplication and digest verification paths.
Removed or reduced OpenCMIS frontier items:
getObjectByPathpath-segment failures are gone.- Create/delete document paging
numItemsfailures are gone. - Update Smoke Test folder rename/object-id failures are gone.
- Operation Context ACL delivery warning is gone.
- Most content range warnings are gone.
- No-content document retrieval no longer aborts with
Representation not found.
Remaining Frontier
These are now the concrete maturity gaps visible in the selected OpenCMIS baseline:
- Invalid type exception mapping: invalid document/folder type creation
returns HTTP
422, which OpenCMIS reports asCmisRuntimeExceptioninstead of a narrower CMIS invalid-argument/constraint exception. - Bulk update:
cmisaction=bulkUpdateis still unsupported and reportsUnprocessable Entity. - Delete content semantics:
deleteContentStreamis accepted through the alias layer, but OpenCMIS still observes content after delete. The adapter needs a stronger natural representation-removal or tombstone model. - Change tokens: repeated property/content updates with the same change token do not produce CMIS update-conflict behavior yet.
- Copy/create-from-source:
createDocumentFromSourceremains unsupported. - Range classification: the remaining range warning is for an offset-zero full-stream request being marked as partial.
Interpretation
The CMIS layer is now past the early Browser Binding and basic object/content shape problems. The remaining failures are concentrated in specific CMIS service semantics: exception mapping, content deletion, change token conflict handling, copy support, and bulk update.
This is a healthy architectural signal: the adapter continues to map naturally onto native asset, representation, blob, metadata, policy, and audit services. The remaining work should be handled as explicit compatibility choices rather than broad ECM reimplementation.