Skip to content

docs(blog): rework "Building a Voice Agent That Knows" as a reference architecture - #224

Merged
jsam merged 1 commit into
mainfrom
fm/voice-article-v2
Oct 3, 2026
Merged

jsam merged 1 commit into
mainfrom
fm/voice-article-v2

Conversation

@jsam

@jsam jsam commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Reworks the published post Building a Voice Agent That Knows into a reference architecture for the voice cascade around the live knowledge graph. Every model stays in the cascade (VAD, STT, intent model, LLM, TTS). InputLayer is what the cascade orchestrates around: runtime data, knowledge and workflows embedded in the agent; tool calls and their policies modelled as facts and rules; general rules and guardrails enforced deterministically with provenance; a clean cascade that enables multitasking dispatch.

The article specifies the demo-ready target architecture end to end, with invariants and failure semantics per hop:

  • observation adapters with guarded replacement programs, source revisions, observation times and health leases revoked by a watchdog;
  • the intent write gate (allow-listed relations, typed, session-scoped, ordered by an utterance cursor, consent bound to the latest completed question);
  • the rule pack: claims, speech rows (supported versus pending), work needs keyed by episode, eligibility, run_ok, cancellation and reconciliation;
  • standing-query delivery (snapshot, inserted/retracted, seq, revision, generation, streamed deltas, reset), recovery, and the registration race;
  • atomic programs, compare-and-set updates over several relations, and the .require guard as a stated target extension;
  • the speech owner as an active stage with a playback state machine and device-consumption receipts; barge-in and supersession through the system lane;
  • multitasking dispatch with leases and epochs, ordinals and idempotency keys, typed outcomes, unknown and unconfirmed states, and lease takeover in one statement;
  • failure on the decision path, tenancy, scale budgets, evidence (benchmark numbers quoted exactly), a fault suite and acceptance criteria.

Appendix A is the complete pack; it was executed on an engine built from this branch (rebased on main), and Appendix B is that run step by step.

Figures

Five SVG figures under front/public/blog/voice-agent/ (cascade as one pipeline with both lanes and an edge legend, data versus control flow, the fact/rule/subscription loop, the mid-utterance correction timeline, the dispatch sequence). They are theme-aware: front/components/inline-svg.tsx inlines same-origin SVG figures so the site's CSS variables apply, scoped per figure, with a link to the full-size file; it is wired as the img override in front/components/mdx-components.tsx. Standalone fallbacks follow prefers-color-scheme.

Review process

Author and challenger iterated through four rounds (47 numbered challenges with engine-run counterexamples) until the challenger signed off: every technical claim checked against the inputlayer and voicestack sources, every IQL block and guard shape executed on an engine, wording consistent.

Validation

  • make front-build passes; the built page renders the five figures inlined with the site theme and no image fallbacks.
  • The content bundle is regenerated from the post.
  • The pack and the scenario in Appendix B run with no failures on a server built from this tree.

… architecture

Rewrite the voice agent post around the live knowledge graph as the thing
the cascade orchestrates around. Every model stays (VAD, STT, intent model,
LLM, TTS); InputLayer holds runtime data, session goals, rules, tool
policies and work state. The post specifies the demo-ready architecture:
observation adapters with guarded replacement, the intent write gate, the
rule pack (claims, speech, work, eligibility), standing-query delivery,
atomic programs and the .require guard extension, the speech owner with a
playback state machine and receipts, multitasking dispatch with leases,
idempotency keys and reconciliation, failure semantics, and a fault suite.
The complete pack is an appendix and was executed on the engine; the
state transitions are its output. Benchmark numbers are quoted exactly.

Add five SVG figures under front/public/blog/voice-agent/ and an inline
SVG renderer (front/components/inline-svg.tsx, wired as the img override
in mdx-components.tsx) so figures follow the site theme and open full
size. Regenerate the content bundle.
@jsam
jsam merged commit 2b6b371 into main Oct 3, 2026
14 checks passed
@jsam
jsam deleted the fm/voice-article-v2 branch October 3, 2026 23:54
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