generated from coulomb/repo-seed
CMIS Browser Binding fixes
This commit is contained in:
@@ -127,6 +127,75 @@ Current external frontier:
|
||||
These are follow-up maturity items rather than the original folder-creatable
|
||||
blocker.
|
||||
|
||||
## Implementation Evidence - 2026-05-08T15:33:16Z
|
||||
|
||||
Evidence file:
|
||||
|
||||
- `docs/cmis-opencmis-tck-wp0014-evidence-2026-05-08T153316Z.md`
|
||||
|
||||
Implemented in this pass:
|
||||
|
||||
- Browser Binding action aliases and path-addressed routes:
|
||||
`cmisaction=update`, `cmisaction=move`, and `/browser/root/{path}`.
|
||||
- MIME normalization and explicit content stream `Content-Type` headers.
|
||||
- Metadata-backed standard property support for `cmis:name`,
|
||||
`cmis:description`, and `cmis:secondaryObjectTypeIds`.
|
||||
- Create-time secondary type id projection and invalid document type rejection.
|
||||
- Removal of non-standard document `cmis:path` while preserving folder paths.
|
||||
|
||||
Latest verification:
|
||||
|
||||
- Internal: `.venv/bin/python -m pytest tests/cmis -q` -> `48 passed`.
|
||||
- OpenCMIS: `run-20260508T153316Z` in
|
||||
`/tmp/open-cmis-tck-kontextual-wp14-20260508T153146Z`.
|
||||
- Maturity score: `19.05`; coverage remains `2/9` groups.
|
||||
- `repository-type` is now partial/warning; `object-content` remains
|
||||
infrastructure-blocked by concrete CRUD/content edge cases.
|
||||
|
||||
Current external frontier:
|
||||
|
||||
- `getObjectByPath` path-segment failures in child checks.
|
||||
- No-content document content-stream semantics.
|
||||
- Operation-context/property filter trimming, especially folder `cmis:path`.
|
||||
- `bulkUpdate`, `deleteContent`, and change-token unsupported-action handling.
|
||||
|
||||
## Implementation Evidence - 2026-05-08T16:43:34Z
|
||||
|
||||
Evidence file:
|
||||
|
||||
- `docs/cmis-opencmis-tck-wp0014-evidence-2026-05-08T164334Z.md`
|
||||
|
||||
Implemented in this pass:
|
||||
|
||||
- Correct `relativePathSegment` behavior for document parents.
|
||||
- Browser Binding operation-context trimming for property filters, allowable
|
||||
actions, ACLs, and path segments.
|
||||
- Total-count `numItems` semantics for Browser Binding children.
|
||||
- Stable adapter-managed folder object IDs across folder rename/update.
|
||||
- Nullable no-content document stream properties and empty compatibility streams.
|
||||
- Range-aware content responses with sliced bodies, `206`, and `Content-Range`.
|
||||
- `setContent` and `deleteContent` Browser Binding action aliases.
|
||||
|
||||
Latest verification:
|
||||
|
||||
- Internal focused CMIS tests: `20 passed`.
|
||||
- Full suite: `160 passed, 14 skipped`.
|
||||
- OpenCMIS: `run-20260508T164334Z` in
|
||||
`/tmp/open-cmis-tck-kontextual-wp14-20260508T1643Z`.
|
||||
- `repository-type`: `38 pass`, `2 info`, `1 skipped`, `1 warning`.
|
||||
- `object-content`: `12 info`, `5 skipped`, `3 warning`, `3 fail`,
|
||||
`3 infrastructure_error`.
|
||||
|
||||
Current external frontier:
|
||||
|
||||
- CMIS-specific exception mapping for invalid type operations.
|
||||
- `bulkUpdateProperties` remains unsupported.
|
||||
- `deleteContentStream` needs stronger representation-removal/tombstone
|
||||
semantics.
|
||||
- Change-token conflict behavior is not implemented.
|
||||
- `createDocumentFromSource`/copy remains unsupported.
|
||||
- Offset-zero range requests are still marked partial.
|
||||
|
||||
## D14.1 - Define CMIS maturity boundary and TCK profile semantics
|
||||
|
||||
```task
|
||||
@@ -187,7 +256,7 @@ Acceptance:
|
||||
|
||||
```task
|
||||
id: KONT-WP-0014-T004
|
||||
status: in_progress
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "f9323c25-4d81-42cd-b7e6-e40d7e0487cd"
|
||||
```
|
||||
@@ -208,7 +277,7 @@ Acceptance:
|
||||
|
||||
```task
|
||||
id: KONT-WP-0014-T005
|
||||
status: todo
|
||||
status: in_progress
|
||||
priority: medium
|
||||
state_hub_task_id: "5feb6db8-24eb-4c20-8c3e-d530f396ef6a"
|
||||
```
|
||||
@@ -223,6 +292,13 @@ Acceptance:
|
||||
naturally through blob services or explicitly advertised as unsupported.
|
||||
- Blob deduplication and digest verification remain intact.
|
||||
|
||||
Progress:
|
||||
|
||||
- Done for normal reads, no-content compatibility streams, partial body slicing,
|
||||
`Content-Length`, `Content-Type`, `ETag`, and `Content-Range`.
|
||||
- Remaining: clean `deleteContentStream` semantics and offset-zero range
|
||||
classification.
|
||||
|
||||
## D14.6 - Add natural navigation and query depth
|
||||
|
||||
```task
|
||||
@@ -242,11 +318,18 @@ Acceptance:
|
||||
indexed/available metadata fields, or returns precise unsupported diagnostics.
|
||||
- Capability flags are updated only for behavior that is actually supported.
|
||||
|
||||
Progress:
|
||||
|
||||
- Done for `getObjectByPath`, `getFolderParent`, parent path segments, and
|
||||
folder rename path stability.
|
||||
- Remaining: query predicate/order depth and any deliberate descendants/tree
|
||||
expansion.
|
||||
|
||||
## D14.7 - Polish read-side relationships, ACL discovery, and change tokens
|
||||
|
||||
```task
|
||||
id: KONT-WP-0014-T007
|
||||
status: todo
|
||||
status: in_progress
|
||||
priority: medium
|
||||
state_hub_task_id: "60f7b222-6eea-4add-822d-3439d568d4f6"
|
||||
```
|
||||
@@ -261,6 +344,11 @@ Acceptance:
|
||||
- ACL mutation, policy mutation, PWC/versioning, and type mutability remain
|
||||
unsupported unless a later task explicitly changes scope.
|
||||
|
||||
Progress:
|
||||
|
||||
- Started by isolating OpenCMIS change-token failures as the main T007 maturity
|
||||
gap. Relationship and ACL discovery were not expanded in this pass.
|
||||
|
||||
## D14.8 - Expand OpenCMIS assessment and update maturity scorecard
|
||||
|
||||
```task
|
||||
|
||||
Reference in New Issue
Block a user