MechaCat02
78a468de83
feat(modules): GroupDocsService + docs::shared_collection handle (§11.6 docs C3)
The runtime for shared group docs collections, mirroring the group-KV vertical
with the docs surface (filter parsing, JSON-object validation, value-size cap).
- shared: GroupDocsService trait + GroupDocsError (+ CollectionNotShared) +
NoopGroupDocsService; group_docs field on Services + with_group_docs().
- manager-core: GroupDocsServiceImpl — owning_group resolves kind='docs' from
cx.app_id's chain (CollectionNotShared off-chain); reads-open (script_gate
GroupDocsRead) / writes-authed (script_gate_require_principal GroupDocsWrite);
reuses parse_filter + docs value-size cap; no events. Unit tests cover
off-chain CollectionNotShared, anon-read-OK/anon-write-Forbidden, non-object
data rejected.
- executor-core: GroupDocsHandle + docs::shared_collection constructor + the
create/get/find/find_one/update/delete/list methods (dispatch by receiver
type), reusing doc_to_map/parse_doc_id.
- picloud: wire PostgresGroupDocsRepo + GroupDocsServiceImpl.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 08:04:30 +02:00
..
2026-06-07 20:51:20 +02:00
2026-06-07 19:54:37 +02:00
2026-05-30 18:43:03 +02:00
2026-06-07 20:02:19 +02:00
2026-06-30 08:04:30 +02:00
2026-06-07 20:02:19 +02:00
2026-06-07 20:02:19 +02:00
2026-06-03 20:23:18 +02:00
2026-06-26 07:17:33 +02:00
2026-06-29 22:26:43 +02:00
2026-06-24 20:59:23 +02:00
2026-06-07 20:02:19 +02:00
2026-06-07 11:02:22 +02:00
2026-06-07 11:02:22 +02:00
2026-06-07 20:02:19 +02:00
2026-06-13 09:59:24 +02:00
2026-06-24 20:59:23 +02:00