# OpenCMIS Log Review Status: draft Created: 2026-05-14 ## Purpose The log review command turns a guide-board OpenCMIS run directory into a compact fix-or-acceptance report. It reads normalized OpenCMIS cases, findings, stderr artifacts, optional server logs, and the warning policy profile. It answers four operator questions: - Did any hard OpenCMIS case fail? - Did the runner or server write unexpected stderr/log errors? - Are warnings accepted local-test conditions or release blockers? - Do skipped cases match the target's advertised capability boundary? ## Command Generate a review after a run: ```sh cd /home/worsch/open-cmis-tck PYTHONPATH=src python3 scripts/opencmis_log_review.py \ --run-dir /tmp/open-cmis-tck-live ``` The command writes: ```text /tmp/open-cmis-tck-live/reports/opencmis-log-review.json /tmp/open-cmis-tck-live/reports/opencmis-log-review.md ``` Compare with a previous run to surface closed and new warnings: ```sh PYTHONPATH=src python3 scripts/opencmis_log_review.py \ --run-dir /tmp/kontextual-cmis-release-20260514-toolchain \ --previous-run-dir /tmp/open-cmis-tck-kontextual-20260513T230205Z ``` Include known server logs when available: ```sh PYTHONPATH=src python3 scripts/opencmis_log_review.py \ --run-dir .local/runs/opencmis-inmemory-pilot \ --server-log .local/opencmis-inmemory/logs \ --server-log .local/opencmis-inmemory/containers/apache-tomcat-9.0.117/logs ``` Server-log matches are reported as review context. They do not change the overall review status by themselves because external log directories often contain historical startup attempts from before the assessed run. ## Warning Policy The default policy is: ```text profiles/expectations/opencmis-warning-policy.json ``` It currently classifies: - `HTTPS is not used...` as acceptable only for explicit local/test loopback HTTP endpoints. The same warning becomes a deployment transport blocker for non-loopback or production-like targets. - `Thin client URI is not set!` as an accepted limitation only for the `opencmis-inmemory-local` self-test target. Policies intentionally live outside narrative evidence. A release run should show whether each warning is accepted by policy, not rely on a human remembering the rule. ## Skip Interpretation Skipped OpenCMIS cases are grouped by capability boundary. A skip is treated as expected when the corresponding capability is not advertised by the target profile. For example: - non-creatable `cmis:relationship` -> requires `cmis.relationships` - non-creatable `cmis:policy` -> requires `cmis.policy-mutation` - non-creatable `cmis:item` -> requires `cmis.item-services` - document sub-type mutation -> requires `cmis.type-mutability` - folder-name mutation -> requires `cmis.folder-name-mutation` If a target advertises the relevant capability and the TCK still skips the case, the review status becomes `review_required`. ## Durable Archive Do not leave important product assessment evidence only under `/tmp`. Archive a run after scorecard/log-review generation: ```sh cd /home/worsch/open-cmis-tck PYTHONPATH=src python3 scripts/archive_assessment_run.py \ --run-dir /tmp/kontextual-cmis-release-20260514-toolchain \ --archive-root .local/runs/archive ``` The archive command copies the run directory and writes: ```text .local/runs/archive///archive-manifest.json ``` The manifest records the source path, archive path, run metadata, file count, total bytes, and SHA-256 for every copied file. ## Next Coverage Frontier Keep the default baseline at `repository-type` plus `object-content` until warning policy and durable evidence are routine. The next recommended maturity slice is navigation/read-path depth, because it sits closest to current object/content behavior and reveals path, parent, children, and filing semantics without immediately requiring versioning or full query depth. Candidate order: 1. Navigation/read-path checks with unsupported filing mutations clearly scoped. 2. Metadata query checks for the advertised `metadataonly` query posture. 3. ACL/policy discovery depth before ACL/policy mutation. 4. Versioning/PWC and change-log depth only after the product deliberately advertises those capabilities. ## Boundary This log review supports preparation evidence and operational readiness. It does not issue CMIS certification or audit assurance.