Skip to content

refactor(adapter)!: unify business outputs in one JSON C carrier - #191

Merged
chamsechan merged 2 commits into
mainfrom
refactor/unified-json-output
Oct 11, 2026
Merged

chamsechan merged 2 commits into
mainfrom
refactor/unified-json-output

Conversation

@chamsechan

@chamsechan chamsechan commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

All eight business outputs now use the json_out carrier, with each business selected by its existing converter name. Callers receive CompanyOperatorOutput { service_type, result_json, status_code }; converters assemble the complete business JSON response and the Demo displays that response directly.

  • Remove the seven previous output structs, their neutral values and bindings, and business-specific Demo output handlers. Update configurations, callers, tests and current documentation in place, without compatibility aliases.
  • Use result_json_max_bytes for capacity (default 8191 bytes, maximum 65536). Preserve per-business service mapping, independent output pools, batch row correspondence and atomic publication.
  • Preserve complete JSON objects, arrays, scalars and null in Demo output. Mixed multi-output values are retained under their name/type keys; model-free regression tests compare SDK responses with actual JSONL output.
  • Preserve the existing value-type and allocator registration APIs, including tests for custom structs and nested layouts. Remove obsolete test aliases, duplicate pool coverage and unnecessary JSON serialization/parsing steps.

Local validation: the canonical ./scripts/run_all_tests.sh gate passes all 104 CTest entries. All eight business Demo paths were exercised using rules, mocks and an ONNX fixture. Nine optional GTests skip because real backends/models are disabled or unavailable; dedicated real-model E2E and target hardware were not exercised. Seven Whisper/Kite deployment configurations cannot fully validate in the default build because their backends are disabled.

Breaking change for the unreleased project: previous output types and per-field capacity parameters are removed. For example, keyword_out/keyword_match becomes json_out/keyword_match, and result fields are read from the JSON payload.

@chamsechan
chamsechan merged commit bea7040 into main Oct 11, 2026
6 checks passed
@chamsechan
chamsechan deleted the refactor/unified-json-output branch October 11, 2026 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant