{ "audited_consumer_revisions": [ { "consumer_identifier": "solstone-windows", "revision": "19c972c4fea775176cea6421ac8b87f3bb20ab42" }, { "consumer_identifier": "solstone-linux", "revision": "1c679db1ce6f9a65db70c5aae0ca2fad677416ef" }, { "consumer_identifier": "solstone-browser", "revision": "998c1095cd8f766dd188bece5ad6527444f8dfac" } ], "bundle_schema_identity": "solstone.observer-client-contract-bundle.schema.v1", "bundle_semver": "5.0.6", "component_closure": [ "CallosumEvent", "Error", "SegmentFile", "SegmentItem", "SegmentsEnvelope" ], "consumer_identifiers": [ "solstone-android", "solstone-browser", "solstone-linux", "solstone-macos", "solstone-swift", "solstone-tmux", "solstone-windows" ], "files": [ { "path": "consumer-audit.json", "sha256": "f3562062aeb971c9dc95ae5d14333566b28431758bcd232c33c093757df7bc18" }, { "path": "fixtures/wire-behavior.json", "sha256": "9749a50daba9b4a270da045d350bc5edb7a42c9723fa0bf420c8fb8a4a0415f8" }, { "path": "projection.openapi.json", "sha256": "03cb9bc5a987e601d1ba164a51364b191b51c532419444eb02c189be2529ba1c" }, { "path": "vectors.json", "sha256": "7a5132c57b61e2a615a22719abc77e40b708d4a6636c45690cc522dc26c36dec" } ], "generator_identity": "solstone.convey.contract.observer_bundle.v1", "generator_inputs": [ { "id": "bundle.projection_builder", "path": "solstone/convey/contract/observer_bundle.py", "role": "projection_builder", "sha256": "6ef92c49cbc70afa532497151c2b1e0f95d59cd364cdc95df8a66c9e36eabbb2" }, { "id": "bundle.recording", "path": "solstone/convey/contract/observer_bundle_recording.py", "role": "fixture_vector_builder", "sha256": "52116eef254774af3144541f0b19ebfca24a62c6c2498ff350535f1afe0f7ba4" }, { "id": "extension.observer_sse_error_frame", "path": "solstone/apps/observer/contract.py", "role": "code_adjacent_extension", "sha256": "acfca9d0843a4c53b9db11c36d03c3a340d62f149fa50f6a3c934007c2a736f2" }, { "id": "extension.root_chat_native_subset", "path": "solstone/convey/root_contract.py", "role": "code_adjacent_extension", "sha256": "26e7fe79cf78aa0a3c09e5074ce51136ccfb86b7aa0e33a16c18c69c746e99aa" }, { "id": "fragment.chat", "path": "solstone/convey/chat_contract.py", "role": "code_adjacent_fragment", "sha256": "435aa16a37c8e58af281e5e312997588705eb076c0b0075be6a0ac1079895483" }, { "id": "fragment.link", "path": "solstone/apps/network/contract.py", "role": "code_adjacent_fragment", "sha256": "937e8bd824ba40117e6d64656b3fdb54b9e768659346865146791a97a6d5a688" }, { "id": "fragment.observer", "path": "solstone/apps/observer/contract.py", "role": "code_adjacent_fragment", "sha256": "acfca9d0843a4c53b9db11c36d03c3a340d62f149fa50f6a3c934007c2a736f2" }, { "id": "fragment.root", "path": "solstone/convey/root_contract.py", "role": "code_adjacent_fragment", "sha256": "26e7fe79cf78aa0a3c09e5074ce51136ccfb86b7aa0e33a16c18c69c746e99aa" }, { "id": "openapi.assembler", "path": "solstone/convey/contract/assemble.py", "role": "openapi_source", "sha256": "51d81a69009f4b7d4da43877874d00fcfa7a07a195655ef820551f0e0f94f8d8" }, { "id": "producer.chat_routes", "path": "solstone/convey/chat.py", "role": "producer", "sha256": "968f8937a2fe5778b3d410c0dd41b7b0b67d600018cf8163d1fd1c5a3d104cd9" }, { "id": "producer.chat_sol_initiated_copy", "path": "solstone/convey/sol_initiated/copy.py", "role": "producer", "sha256": "ca08d309b3582343159b5342dbb6603b21345fd0093034a90daec53eef5cb4cb" }, { "id": "producer.chat_sol_initiated_events", "path": "solstone/convey/sol_initiated/events.py", "role": "producer", "sha256": "9ec36a36baa53ec631700cdb9a6989d41ce57e9d092e49f4e85c965b24bfc6e8" }, { "id": "producer.chat_stream", "path": "solstone/convey/chat_stream.py", "role": "producer", "sha256": "a94a810a1a64f080e7632165fe864a084a3e2d725f90e870c3ed277b4ccdf45b" }, { "id": "producer.observer_routes", "path": "solstone/apps/observer/routes.py", "role": "producer", "sha256": "b741543fe2c776a3b074c489af6f1e1490b27e937badeb60c7c125503f2e50b7" }, { "id": "producer.observer_utils", "path": "solstone/apps/observer/utils.py", "role": "producer", "sha256": "06f908e181709542dfd461cd89f66f0aad222c98e1164bef0dbcfa64a4e0776b" }, { "id": "producer.protocol", "path": "solstone/observe/protocol.py", "role": "producer", "sha256": "21feb3b5e23eb9df37544bdecec8e96ba0ec56ae74f73a8f0962d2dcc522af9e" }, { "id": "producer.root_sse", "path": "solstone/convey/root.py", "role": "producer", "sha256": "95df9af5ede291289b1a2aaa4f53ce154f24a8d1b09a314d44234d9c17eb66b1" }, { "id": "reason_codes", "path": "solstone/convey/reasons.py", "role": "vocabulary_source", "sha256": "1d7ff83dfaf41b11198b8987f3ea774ade7e4da08fe1888087a6541b44cdabab" } ], "observer_protocol_version": 2, "openapi_document_version": "1.0.0", "openapi_spec_version": "3.1.0", "operation_ids": [ "callosum.rootEvents", "chat.openSolChatRequest", "link.pair", "observer.callosumStream", "observer.ingestEvent", "observer.ingestSegments", "observer.ingestUpload", "observer.register" ], "projection_path": "projection.openapi.json", "schema_dialect_uri": "https://json-schema.org/draft/2020-12/schema", "supported_response_variants": [ 1, 2 ], "vocabularies": [ { "classification": "closed", "id": "SegmentFile.status", "source_pointer": "/components/schemas/SegmentFile/properties/status", "unknown_value_behavior": "reject", "values": [ "present", "missing", "processed" ] }, { "absent_or_unparseable": 1, "classification": "extensible_integer", "current": 2, "id": "X-Solstone-Protocol-Version", "source_pointer": "/paths/~1app~1observer~1ingest~1segments~1{day}/get/responses/200", "supported_response_variants": [ 1, 2 ], "unknown_value_behavior": "version_greater_or_equal_current_uses_v2" }, { "classification": "closed", "id": "callosum.rootEvents.responses.403.reason_code", "method": "GET", "path": "/sse/events", "source_pointer": "/paths/~1sse~1events/get/responses/403", "unknown_value_behavior": "reject", "values": [ "pl_revoked" ] }, { "classification": "closed", "id": "callosum.rootEvents.sse_frames", "source_pointer": "/paths/~1sse~1events/get/responses/200", "unknown_value_behavior": "reject", "values": [ "data", "heartbeat" ] }, { "classification": "extensible", "id": "callosum.tract_event", "known_registry": { "activity": [ "live", "recorded" ], "chat": [ "owner_message", "sol_message", "talent_queued", "talent_spawned", "talent_finished", "talent_errored", "reflection_ready", "chat_queue_depth", "chat_error", "sol_chat_request", "sol_chat_request_superseded", "owner_chat_open", "owner_chat_dismissed", "support_draft", "result", "support_submit_claim" ], "cortex": [ "request", "start", "thinking", "tool_start", "tool_end", "finish", "error", "talent_updated", "info", "status" ], "importer": [ "started", "status", "completed", "error" ], "logs": [ "exec", "line", "exit" ], "navigate": [ "request" ], "notification": [ "*" ], "observe": [ "status", "observing", "detected", "described", "transcribed", "observed" ], "supervisor": [ "started", "stopped", "restarting", "status", "queue" ], "sync": [ "status" ], "think": [ "started", "status", "group_started", "group_completed", "talent_started", "talent_completed", "completed", "segments_started", "segments_completed" ] }, "source_pointer": "/", "unknown_value_behavior": "preserve" }, { "classification": "closed", "id": "chat.openSolChatRequest.responses.400.reason_code", "method": "POST", "path": "/api/chat/sol_chat_request/open", "source_pointer": "/paths/~1api~1chat~1sol_chat_request~1open/post/responses/400", "unknown_value_behavior": "reject", "values": [ "missing_required_field" ] }, { "classification": "closed", "id": "chat.openSolChatRequest.responses.403.reason_code", "method": "POST", "path": "/api/chat/sol_chat_request/open", "source_pointer": "/paths/~1api~1chat~1sol_chat_request~1open/post/responses/403", "unknown_value_behavior": "reject", "values": [ "pl_revoked" ] }, { "classification": "closed", "id": "link.pair.responses.400.reason_code", "method": "POST", "path": "/app/network/pair", "source_pointer": "/paths/~1app~1network~1pair/post/responses/400", "unknown_value_behavior": "reject", "values": [ "missing_required_field", "pairing_key_invalid", "pairing_request_invalid" ] }, { "classification": "closed", "id": "link.pair.responses.403.reason_code", "method": "POST", "path": "/app/network/pair", "source_pointer": "/paths/~1app~1network~1pair/post/responses/403", "unknown_value_behavior": "reject", "values": [ "pl_revoked" ] }, { "classification": "closed", "id": "link.pair.responses.410.reason_code", "method": "POST", "path": "/app/network/pair", "source_pointer": "/paths/~1app~1network~1pair/post/responses/410", "unknown_value_behavior": "reject", "values": [ "operation_no_longer_available" ] }, { "classification": "closed", "id": "observer.callosumStream.responses.200.sse_error.reason_code", "method": "GET", "path": "/app/observer/callosum", "source_pointer": "/paths/~1app~1observer~1callosum/get/responses/200/x-sse-error-frame", "unknown_value_behavior": "reject", "values": [ "auth_required", "feature_unavailable", "pl_revoked" ] }, { "classification": "closed", "id": "observer.callosumStream.responses.401.reason_code", "method": "GET", "path": "/app/observer/callosum", "source_pointer": "/paths/~1app~1observer~1callosum/get/responses/401", "unknown_value_behavior": "reject", "values": [ "auth_key_invalid", "auth_required", "feature_unavailable", "pl_revoked" ] }, { "classification": "closed", "id": "observer.callosumStream.sse_frames", "source_pointer": "/paths/~1app~1observer~1callosum/get/responses/200", "unknown_value_behavior": "reject", "values": [ "data", "error", "heartbeat" ] }, { "classification": "closed", "id": "observer.ingestEvent.responses.400.reason_code", "method": "POST", "path": "/app/observer/ingest/event", "source_pointer": "/paths/~1app~1observer~1ingest~1event/post/responses/400", "unknown_value_behavior": "reject", "values": [ "missing_required_field" ] }, { "classification": "closed", "id": "observer.ingestEvent.responses.401.reason_code", "method": "POST", "path": "/app/observer/ingest/event", "source_pointer": "/paths/~1app~1observer~1ingest~1event/post/responses/401", "unknown_value_behavior": "reject", "values": [ "auth_key_invalid", "auth_required" ] }, { "classification": "closed", "id": "observer.ingestEvent.responses.403.reason_code", "method": "POST", "path": "/app/observer/ingest/event", "source_pointer": "/paths/~1app~1observer~1ingest~1event/post/responses/403", "unknown_value_behavior": "reject", "values": [ "feature_unavailable", "pl_revoked" ] }, { "classification": "closed", "id": "observer.ingestSegments.responses.400.reason_code", "method": "GET", "path": "/app/observer/ingest/segments/{day}", "source_pointer": "/paths/~1app~1observer~1ingest~1segments~1{day}/get/responses/400", "unknown_value_behavior": "reject", "values": [ "invalid_day" ] }, { "classification": "closed", "id": "observer.ingestSegments.responses.401.reason_code", "method": "GET", "path": "/app/observer/ingest/segments/{day}", "source_pointer": "/paths/~1app~1observer~1ingest~1segments~1{day}/get/responses/401", "unknown_value_behavior": "reject", "values": [ "auth_key_invalid", "auth_required" ] }, { "classification": "closed", "id": "observer.ingestSegments.responses.403.reason_code", "method": "GET", "path": "/app/observer/ingest/segments/{day}", "source_pointer": "/paths/~1app~1observer~1ingest~1segments~1{day}/get/responses/403", "unknown_value_behavior": "reject", "values": [ "feature_unavailable", "pl_revoked" ] }, { "classification": "closed", "id": "observer.ingestUpload.responses.400.reason_code", "method": "POST", "path": "/app/observer/ingest", "source_pointer": "/paths/~1app~1observer~1ingest/post/responses/400", "unknown_value_behavior": "reject", "values": [ "ingest_no_files", "invalid_day", "invalid_segment_or_stream", "missing_required_field" ] }, { "classification": "closed", "id": "observer.ingestUpload.responses.401.reason_code", "method": "POST", "path": "/app/observer/ingest", "source_pointer": "/paths/~1app~1observer~1ingest/post/responses/401", "unknown_value_behavior": "reject", "values": [ "auth_key_invalid", "auth_required" ] }, { "classification": "closed", "id": "observer.ingestUpload.responses.403.reason_code", "method": "POST", "path": "/app/observer/ingest", "source_pointer": "/paths/~1app~1observer~1ingest/post/responses/403", "unknown_value_behavior": "reject", "values": [ "feature_unavailable", "pl_revoked" ] }, { "classification": "closed", "id": "observer.ingestUpload.responses.409.reason_code", "method": "POST", "path": "/app/observer/ingest", "source_pointer": "/paths/~1app~1observer~1ingest/post/responses/409", "unknown_value_behavior": "reject", "values": [ "ingest_sidecar_conflict" ] }, { "classification": "closed", "id": "observer.ingestUpload.responses.422.reason_code", "method": "POST", "path": "/app/observer/ingest", "source_pointer": "/paths/~1app~1observer~1ingest/post/responses/422", "unknown_value_behavior": "reject", "values": [ "ingest_contract_invalid" ] }, { "classification": "closed", "id": "observer.ingestUpload.responses.500.reason_code", "method": "POST", "path": "/app/observer/ingest", "source_pointer": "/paths/~1app~1observer~1ingest/post/responses/500", "unknown_value_behavior": "reject", "values": [ "ingest_storage_failed" ] }, { "classification": "closed", "id": "observer.ingestUpload.responses.507.reason_code", "method": "POST", "path": "/app/observer/ingest", "source_pointer": "/paths/~1app~1observer~1ingest/post/responses/507", "unknown_value_behavior": "reject", "values": [ "ingest_storage_failed" ] }, { "classification": "closed", "id": "observer.ingestUpload.status", "source_pointer": "/paths/~1app~1observer~1ingest/post/responses/200/content/application~1json/schema/properties/status", "unknown_value_behavior": "reject", "values": [ "ok", "duplicate", "collision", "conflict", "failed" ] }, { "classification": "closed", "id": "observer.register.responses.400.reason_code", "method": "POST", "path": "/app/observer/register", "source_pointer": "/paths/~1app~1observer~1register/post/responses/400", "unknown_value_behavior": "reject", "values": [ "invalid_segment_or_stream", "missing_required_field" ] }, { "classification": "closed", "id": "observer.register.responses.403.reason_code", "method": "POST", "path": "/app/observer/register", "source_pointer": "/paths/~1app~1observer~1register/post/responses/403", "unknown_value_behavior": "reject", "values": [ "local_request_only" ] }, { "classification": "closed", "id": "observer.register.responses.500.reason_code", "method": "POST", "path": "/app/observer/register", "source_pointer": "/paths/~1app~1observer~1register/post/responses/500", "unknown_value_behavior": "reject", "values": [ "settings_operation_failed" ] }, { "classification": "closed", "id": "observer.status.ok", "source_pointer": "/paths/~1app~1observer~1ingest~1event/post/responses/200/content/application~1json/schema/properties/status", "unknown_value_behavior": "reject", "values": [ "ok" ] }, { "classification": "extensible", "description": "Native-client-interest subset of CallosumEvent kinds on tract 'chat'. This is not an exhaustive stream vocabulary; root SSE can carry other tracts and events. Payloads remain open (CallosumEvent.additionalProperties).", "id": "root.chat.native_interest_kinds", "native_client_interest_subset": [ "owner_message", "sol_message", "talent_queued", "talent_spawned", "talent_finished", "talent_errored", "chat_queue_depth", "result", "chat_error" ], "source_pointer": "/paths/~1sse~1events/get/responses/200", "stream_exhaustive": false, "unknown_value_behavior": "preserve" } ], "windows_linux_rollout_targets": [ { "adoption_blocker_ids": [ "linux.sol_voice.path", "linux.sol_voice.linux_notify_send" ], "consumer_identifier": "solstone-linux" }, { "adoption_blocker_ids": [], "consumer_identifier": "solstone-windows" } ] }