feat(chat): migrate from flow.kind=definition hack to flow.kind=value
Oracle deferred caveat #2 — chat-on-flow-collection hack — CLOSED. Previous design used flow.kind=definition + source_context=EA2_CHAT_THREAD for chat threads and EA2_CHAT_MSG for messages, then filtered them out of hub/wizard surfaces via a NON_BUSINESS_SOURCE_CONTEXTS exclusion. That was containment, not a clean model. Verified EA2 contract: flow.kind='value' is a valid enum value (probed against ea2.baseline.svc — kind=value returns 200, kind=conversation/ thread/message/channel/note all return 400 schema violation). - Thread: flow.kind=value, source_context=CANVAS_CHAT_THREAD - Message: flow.kind=value, source_context=CANVAS_CHAT_MSG - Linked via defines edges (already validated in round 2) Because curatedPublishedFlows already requires kind='definition', chat docs are now invisible to business surfaces by SCHEMA, not by source_ context regex filter. The filter is kept as defence-in-depth (+ legacy docs created during round 2 still need to be filtered out). Tried data collection first; it requires relates(role=sourced_from) edge to an sdx_connections handle per the P19 invariant — wrong model for chat, so flow.kind=value is the right home.
This commit is contained in:
@@ -31,6 +31,8 @@ const DEV_ARTEFACT_PATTERNS = [
|
||||
const NON_BUSINESS_SOURCE_CONTEXTS = new Set([
|
||||
"EA2_CHAT_THREAD",
|
||||
"EA2_CHAT_MSG",
|
||||
"CANVAS_CHAT_THREAD",
|
||||
"CANVAS_CHAT_MSG",
|
||||
"EA2_WIZARD_STEP",
|
||||
"EA2_DRAFT_PROCESS:process_creation",
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user