Skip to content

chore: doc update - #80

Draft
maxy-shpfy wants to merge 1 commit into
08-19-feat_embed_mode_of_uifrom
09-01-chore_doc_update
Draft

chore: doc update#80
maxy-shpfy wants to merge 1 commit into
08-19-feat_embed_mode_of_uifrom
09-01-chore_doc_update

Conversation

@maxy-shpfy

@maxy-shpfy maxy-shpfy commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

TL;DR

Introduces the Conversations & Participants model to the documentation, replacing the hardcoded "one human, one Prime" session model with a general multi-party architecture backed by a durable SQLite store.

What changed?

A new docs/overview/11-conversations-and-participants.md page defines the two core concepts: a Conversation (a transcript plus its membership) and a Participant (a session-scoped identity of kind human, agent, or automation). Existing overview pages for Sessions, Session Chat, Sub-agent Orchestration, Artifacts, Triggers, and Agent Memory are updated to reference this model — replacing language like "one agent, one thread" with the multi-party framing, introducing @mention resolution, reaction predicates, and the resource catalog.

Two new server architecture docs are added:

  • docs/server/conversations.md — covers the ConversationRouter as the single entry point for all messages, the FanOutEngine and its reaction predicates (always, fromHumans, mentionsMe, atRunEnd, never), cross-conversation relay rendering as reports, transcript visibility projection, and the ResourceCatalog.
  • docs/server/connectors.md — covers the ConnectorRegistry as the total resolver from participant to transport, the four connector kinds (pi-stdio, remote-env, external-inbound, a2a), connector facets replacing the old host label, the Run abstraction, and A2A point-to-point vs shared-room participation.

Existing server docs are updated throughout:

  • index.md replaces the orchestrator-centric framing with the conversation-layer framing, updates the component map and dependency-injection wiring to reflect SqliteSessionStore, ConnectorRegistry, ConversationRouter, RunRegistry, ParticipantService, and the four gateways, and expands the glossary and topology model.
  • agent-communication.md replaces PiAgentManager-as-hub with ConnectorRegistry-as-hub and notes that internal routes now resolve through the registry and post through the router.
  • human-prime-subagents.md reframes the choreography as membership configuration over the conversation layer rather than hardcoded routing rules.
  • orchestrator.md scopes PiAgentManager to the local Pi connector only.
  • sessions-and-storage.md replaces the in-memory store description with the SQLite schema, documents the conversations, participants, memberships, runs, resources, resource_references, and resource_grants tables, and notes that transcripts are append-only JSONL that survive restarts.
  • triggers.md updates firing delivery to go through ConversationRouter with an automation participant as author.
  • ui-server-protocol.md documents per-Conversation Socket.IO rooms, new REST endpoints for participants, memberships, and resources, conversation:subscribe, participant:presence, resources:updated, and seq-ordered message delivery.
  • egress-and-security.md corrects the durability note to reflect that session state now persists in SQLite rather than being in-memory.

How to test?

Read through the updated overview pages starting with 01-sessions.md and 11-conversations-and-participants.md to verify the multi-party model is coherent end-to-end. Cross-check the server docs by following the request lifecycle in index.md through conversations.mdconnectors.mdorchestrator.md and confirming the component map, DI wiring, and glossary are internally consistent. Verify all internal links between documents resolve to existing files.

Why make this change?

The previous documentation described a fixed "one human talks to Prime, Prime talks to sub-agents" topology backed by an in-memory store. The architecture has moved to a general participant and conversation model with durable SQLite storage, multiple connector transports (including remote-env, external-inbound, and A2A), and server-side fan-out driven by per-membership reaction predicates. The documentation needed to reflect this so that the overview and server architecture docs accurately describe what the system actually does and give contributors a correct mental model for extending it.

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

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