Documentation
¶
Overview ¶
Package semstreams provides a stream processor that builds semantic knowledge graphs from event data, with automatic community detection and progressive AI enhancement.
Overview ¶
SemStreams transforms event streams into a living knowledge graph stored in NATS KV. You define a vocabulary of predicates, implement a simple interface, and the system maintains entities, relationships, indexes, and communities automatically.
Key characteristics:
- Edge-first: Deploy on a Raspberry Pi with just NATS, or scale to clusters
- Offline-capable: NATS JetStream provides local persistence and sync
- Progressive: Start with rules, add search, then embeddings and LLM as needed
- Domain-driven: No mandatory AI dependencies—you enable what you need
Core Concept ¶
Events → Graphable Interface → Knowledge Graph → Queries
1. Events arrive (telemetry, records, notifications) 2. Your processor transforms them into entities with triples 3. SemStreams maintains the graph, indexes, and communities 4. Query by relationships, predicates, or semantic similarity
The Graphable Interface ¶
Your domain types implement Graphable to become graph entities:
type Graphable interface {
EntityID() string // 6-part federated identifier
Triples() []message.Triple // Facts about this entity
}
Example:
func (d *DroneTelemetry) EntityID() string {
return fmt.Sprintf("acme.ops.robotics.gcs.drone.%s", d.DroneID)
}
func (d *DroneTelemetry) Triples() []message.Triple {
id := d.EntityID()
return []message.Triple{
{Subject: id, Predicate: "drone.telemetry.battery", Object: d.Battery},
{Subject: id, Predicate: "fleet.membership.current", Object: d.FleetID},
}
}
Entity ID Format ¶
Use 6-part hierarchical identifiers for federation and queryability:
org.platform.domain.system.type.instance
Example: acme.ops.robotics.gcs.drone.001
Predicates ¶
Predicates follow domain.category.property format:
sensor.measurement.celsius geo.location.zone fleet.membership.current
Dotted notation enables NATS wildcard queries (sensor.measurement.*) and provides SQL-like query semantics via prefix matching.
Progressive Enhancement (Tiers) ¶
SemStreams supports three capability tiers:
Tier 0: Rules engine, explicit relationships, structural indexing (NATS only) Tier 1: + BM25 search, statistical communities (+ search index) Tier 2: + Neural embeddings, LLM summaries (+ embedding service, LLM)
Start with Tier 0. Add capabilities as resources allow.
Architecture ¶
Components connect via NATS subjects in flow-based configurations:
Input → Processor → Storage → Graph → Gateway │ │ │ │ │ UDP iot_sensor ObjectStore KV+ GraphQL File document (raw docs) Indexes MCP
Component types:
- Input: UDP, WebSocket, File - ingest external data
- Processor: Graph, JSONMap, Rule - transform and enrich
- Output: File, HTTPPost, WebSocket - export data
- Storage: ObjectStore - persist to NATS JetStream
- Gateway: HTTP, GraphQL, MCP - expose query APIs
State: NATS KV Buckets ¶
All state lives in NATS JetStream KV buckets:
Core buckets (always created):
- ENTITY_STATES: Entity records with triples and version
- PREDICATE_INDEX: Predicate → entity IDs
- INCOMING_INDEX: Entity ID → referencing entities
- OUTGOING_INDEX: Entity ID → referenced entities
- ALIAS_INDEX: Alias → entity ID
- SPATIAL_INDEX: Geohash → entity IDs
- TEMPORAL_INDEX: Time bucket → entity IDs
- RULE_STATE: Rule evaluation state per entity
Optional buckets (created when features enabled):
- STRUCTURAL_INDEX: K-core levels and pivot distances
- EMBEDDING_INDEX: Entity ID → embedding vector
- COMMUNITY_INDEX: Community records with members and summaries
Package Organization ¶
Core packages:
- component: Component lifecycle, registry, port definitions
- componentregistry: Registration of all component types
- engine: Component orchestration and lifecycle
- flowstore: Flow persistence (NATS KV)
- config: Configuration loading and validation
Graph packages:
- graph: Knowledge graph processing core
- message: Triple and entity message types
- vocabulary: Predicate definitions and standards
Infrastructure:
- natsclient: NATS connection management
- gateway: HTTP, GraphQL, MCP API endpoints
- service: Discovery, flow-builder, metrics services
- metric: Prometheus metrics
- health: Health check system
Components:
- input/: UDP, WebSocket, File inputs
- output/: File, HTTPPost, WebSocket outputs
- processor/: Graph, JSONMap, JSONFilter, Rule processors
- storage/: ObjectStore for raw document persistence
Utilities:
- pkg/buffer: Ring buffer for streaming
- pkg/cache: LRU caching
- pkg/retry: Retry policies
- pkg/worker: Worker pools
Usage ¶
Build and run:
task build ./bin/semstreams --config configs/semantic-flow.json
The binary uses componentregistry.Register() to register all component types. Flow configuration determines which components are instantiated.
Documentation ¶
See docs/ for comprehensive documentation:
- docs/basics/: Getting started, core interfaces
- docs/concepts/: Background knowledge, algorithms
- docs/advanced/: Clustering, LLM, performance tuning
- docs/rules/: Rules engine reference
- docs/contributing/: Development, testing, CI
Version ¶
Current: v0.5.0-alpha
Directories
¶
| Path | Synopsis |
|---|---|
|
Package agentic provides shared types for the SemStreams agentic processing system.
|
Package agentic provides shared types for the SemStreams agentic processing system. |
|
agentrun
Package agentrun implements the AgentRun lifecycle Participant (ADR-053 D1–D6).
|
Package agentrun implements the AgentRun lifecycle Participant (ADR-053 D1–D6). |
|
identity
Package identity provides local DID-based cryptographic identity primitives.
|
Package identity provides local DID-based cryptographic identity primitives. |
|
research
Package research defines the payload types for the ADR-045 graph search rule chain: Intent, SearchResult, and RouteDecision.
|
Package research defines the payload types for the ADR-045 graph search rule chain: Intent, SearchResult, and RouteDecision. |
|
cmd
|
|
|
detonate-injections
command
Command detonate-injections runs the ADR-043 Phase 3 detonator against a batch of unlabeled inputs and writes corpus records suitable for the Phase 2 classifier corpus loader.
|
Command detonate-injections runs the ADR-043 Phase 3 detonator against a batch of unlabeled inputs and writes corpus records suitable for the Phase 2 classifier corpus loader. |
|
e2e
command
Package main provides structured result comparison for tier runs
|
Package main provides structured result comparison for tier runs |
|
e2e-semstreams
command
Package main provides the E2E test application for SemStreams.
|
Package main provides the E2E test application for SemStreams. |
|
e2e-semstreams/mission
Package mission — Command payload + processor component.
|
Package mission — Command payload + processor component. |
|
entity-id-audit
command
Command entity-id-audit runs a bounded fixture-hygiene lint over statically identifiable entity-ID-shaped source candidates.
|
Command entity-id-audit runs a bounded fixture-hygiene lint over statically identifiable entity-ID-shaped source candidates. |
|
measure-injection-classifier
command
Command measure-injection-classifier runs the Phase 2 ADR-043 measurement harness: load one or more JSONL corpora, classify each record against the loaded corpus, and emit a markdown table of precision / recall per signal bucket plus latency stats.
|
Command measure-injection-classifier runs the Phase 2 ADR-043 measurement harness: load one or more JSONL corpora, classify each record against the loaded corpus, and emit a markdown table of precision / recall per signal bucket plus latency stats. |
|
openapi-generator
command
Package main generates a complete OpenAPI 3.0 specification for SemStreams.
|
Package main generates a complete OpenAPI 3.0 specification for SemStreams. |
|
predicate-audit
command
Command predicate-audit validates structured predicate candidates in owned repositories.
|
Command predicate-audit validates structured predicate candidates in owned repositories. |
|
predicate-test-audit
command
Command predicate-test-audit validates the complementary predicate corpus in Go tests and structured testdata without changing the production audit.
|
Command predicate-test-audit validates the complementary predicate corpus in Go tests and structured testdata without changing the production audit. |
|
semstreams
command
Package main implements the entry point for the SemStreams application.
|
Package main implements the entry point for the SemStreams application. |
|
Package component defines the Discoverable interface and related types
|
Package component defines the Discoverable interface and related types |
|
flowgraph
Package flowgraph provides flow graph analysis and validation for component connections.
|
Package flowgraph provides flow graph analysis and validation for component connections. |
|
Package componentregistry registers the SemStreams core component set.
|
Package componentregistry registers the SemStreams core component set. |
|
Package config provides configuration management for StreamKit applications.
|
Package config provides configuration management for StreamKit applications. |
|
Package flowengine translates Flow entities to ComponentConfigs and manages deployment.
|
Package flowengine translates Flow entities to ComponentConfigs and manages deployment. |
|
examples
|
|
|
processors/document
Package document provides a generic document processor demonstrating the Graphable implementation pattern for text-rich content like documents, maintenance records, and observations.
|
Package document provides a generic document processor demonstrating the Graphable implementation pattern for text-rich content like documents, maintenance records, and observations. |
|
processors/iot_sensor
Package iotsensor provides an example domain processor demonstrating the correct Graphable implementation pattern for SemStreams.
|
Package iotsensor provides an example domain processor demonstrating the correct Graphable implementation pattern for SemStreams. |
|
processors/weather_station
Package weatherstation provides an example weather station processor demonstrating how to build a domain processor following the tutorial.
|
Package weatherstation provides an example weather station processor demonstrating how to build a domain processor following the tutorial. |
|
Package flowstore provides flow persistence and management.
|
Package flowstore provides flow persistence and management. |
|
Package flowtemplate provides storage and instantiation for parameterised flow definitions.
|
Package flowtemplate provides storage and instantiation for parameterised flow definitions. |
|
frameworkadapters
|
|
|
otel
Package otel provides explicit composition for the optional OpenTelemetry exporter.
|
Package otel provides explicit composition for the optional OpenTelemetry exporter. |
|
frameworkcapabilities
|
|
|
graphresearch
Package graphresearch composes the graph-first research capability defined by ADR-045.
|
Package graphresearch composes the graph-first research capability defined by ADR-045. |
|
rulepacks
Package rulepacks validates rule-pack identities at the composition boundary.
|
Package rulepacks validates rule-pack identities at the composition boundary. |
|
Package gateway provides bidirectional protocol bridging for SemStreams.
|
Package gateway provides bidirectional protocol bridging for SemStreams. |
|
graph-gateway
Package graphgateway provides the graph-gateway component for exposing graph operations via HTTP.
|
Package graphgateway provides the graph-gateway component for exposing graph operations via HTTP. |
|
http
Package http provides an HTTP gateway implementation for bridging REST APIs to NATS services.
|
Package http provides an HTTP gateway implementation for bridging REST APIs to NATS services. |
|
lifecycle-gateway
Package lifecyclegateway — Discoverable + Gateway + factory.
|
Package lifecyclegateway — Discoverable + Gateway + factory. |
|
Package governance holds the framework's governance-audit payload types.
|
Package governance holds the framework's governance-audit payload types. |
|
Package graph provides shared types and error definitions for graph processing
|
Package graph provides shared types and error definitions for graph processing |
|
clustering
Package clustering provides community detection algorithms and graph clustering for discovering structural patterns in the knowledge graph.
|
Package clustering provides community detection algorithms and graph clustering for discovering structural patterns in the knowledge graph. |
|
embedding
Package embedding provides vector embedding generation and caching for semantic search in the knowledge graph.
|
Package embedding provides vector embedding generation and caching for semantic search in the knowledge graph. |
|
geo/geojson
Package geojson provides Go types and JSON I/O for RFC 7946 GeoJSON — the canonical geometry exchange format for OGC API Connected Systems v1.0 and every other modern geospatial API SemStreams routinely interoperates with.
|
Package geojson provides Go types and JSON I/O for RFC 7946 GeoJSON — the canonical geometry exchange format for OGC API Connected Systems v1.0 and every other modern geospatial API SemStreams routinely interoperates with. |
|
inference
Package inference provides structural anomaly detection for missing relationships.
|
Package inference provides structural anomaly detection for missing relationships. |
|
llm
Package llm provides LLM client abstractions for OpenAI-compatible APIs.
|
Package llm provides LLM client abstractions for OpenAI-compatible APIs. |
|
query
Package query provides a clean interface for reading graph data from NATS KV buckets.
|
Package query provides a clean interface for reading graph data from NATS KV buckets. |
|
readiness
Package readiness owns BOTH sides of the ADR-083 readiness distribution contract.
|
Package readiness owns BOTH sides of the ADR-083 readiness distribution contract. |
|
structural
Package structural provides structural graph indexing algorithms for query optimization and inference detection.
|
Package structural provides structural graph indexing algorithms for query optimization and inference detection. |
|
Package health provides health monitoring functionality for StreamKit components and systems with thread-safe status tracking and aggregation.
|
Package health provides health monitoring functionality for StreamKit components and systems with thread-safe status tracking and aggregation. |
|
input
|
|
|
file
Package file provides a file input component for reading JSONL/JSON files and publishing to NATS.
|
Package file provides a file input component for reading JSONL/JSON files and publishing to NATS. |
|
http
Package http provides a REST polling input component for ingesting data from HTTP endpoints into SemStreams.
|
Package http provides a REST polling input component for ingesting data from HTTP endpoints into SemStreams. |
|
udp
Package udp provides a UDP input component for receiving data over UDP sockets.
|
Package udp provides a UDP input component for receiving data over UDP sockets. |
|
websocket
Package websocket provides WebSocket input component for receiving federated data
|
Package websocket provides WebSocket input component for receiving federated data |
|
internal
|
|
|
builtinprojection
Package builtinprojection owns the projection contracts shared by the framework binaries and their built-in graph writers.
|
Package builtinprojection owns the projection contracts shared by the framework binaries and their built-in graph writers. |
|
entityidaudit
Package entityidaudit implements a bounded fixture-hygiene lint over statically identifiable entity-ID-shaped source candidates.
|
Package entityidaudit implements a bounded fixture-hygiene lint over statically identifiable entity-ID-shaped source candidates. |
|
modelresolveaudit
Package modelresolveaudit is a static invariant audit that fails when a name-keyed model-registry lookup skips capability resolution.
|
Package modelresolveaudit is a static invariant audit that fails when a name-keyed model-registry lookup skips capability resolution. |
|
predicateaudit
Package predicateaudit extracts predicate identities from owned source and configuration artifacts and validates them against the canonical grammar.
|
Package predicateaudit extracts predicate identities from owned source and configuration artifacts and validates them against the canonical grammar. |
|
semantictest
Package semantictest provides grammar-only helpers for positive semantic test fixtures.
|
Package semantictest provides grammar-only helpers for positive semantic test fixtures. |
|
Package message provides the core message infrastructure for the SemStreams platform.
|
Package message provides the core message infrastructure for the SemStreams platform. |
|
Package metric provides Prometheus-based metrics collection and HTTP server for StreamKit platform monitoring and observability.
|
Package metric provides Prometheus-based metrics collection and HTTP server for StreamKit platform monitoring and observability. |
|
Package model provides a unified model registry for centralized endpoint configuration, capability-based routing, and tool capability metadata.
|
Package model provides a unified model registry for centralized endpoint configuration, capability-based routing, and tool capability metadata. |
|
wire
Package wire is the self-hosted JSON wire-format layer for LLM ChatCompletion calls.
|
Package wire is the self-hosted JSON wire-format layer for LLM ChatCompletion calls. |
|
wire/responses
Package responses is the self-hosted JSON wire-format layer for OpenAI's Responses API (POST /v1/responses).
|
Package responses is the self-hosted JSON wire-format layer for OpenAI's Responses API (POST /v1/responses). |
|
Package natsclient provides a client for managing NATS connections with circuit breaker pattern.
|
Package natsclient provides a client for managing NATS connections with circuit breaker pattern. |
|
output
|
|
|
file
Package file provides a file output component for writing messages to files.
|
Package file provides a file output component for writing messages to files. |
|
httppost
Package httppost provides an HTTP POST output component for sending messages to HTTP endpoints.
|
Package httppost provides an HTTP POST output component for sending messages to HTTP endpoints. |
|
otel
Package otel exports SemStreams agent telemetry as OTLP/HTTP JSON spans and metrics.
|
Package otel exports SemStreams agent telemetry as OTLP/HTTP JSON spans and metrics. |
|
websocket
Package websocket provides a WebSocket server output component for streaming messages to WebSocket clients.
|
Package websocket provides a WebSocket server output component for streaming messages to WebSocket clients. |
|
Package payloadbuiltins registers the framework-core payload set.
|
Package payloadbuiltins registers the framework-core payload set. |
|
Package payloadregistry provides type-discriminated payload registration and lookup for message.BaseMessage deserialization.
|
Package payloadregistry provides type-discriminated payload registration and lookup for message.BaseMessage deserialization. |
|
Package persona provides storage and CRUD for agent-role prompt fragments.
|
Package persona provides storage and CRUD for agent-role prompt fragments. |
|
pkg
|
|
|
acme
Package acme provides ACME client functionality for automated certificate management
|
Package acme provides ACME client functionality for automated certificate management |
|
buffer
Package buffer provides generic, thread-safe buffer implementations with various overflow policies.
|
Package buffer provides generic, thread-safe buffer implementations with various overflow policies. |
|
cache
Package cache provides generic, thread-safe cache implementations with various eviction policies.
|
Package cache provides generic, thread-safe cache implementations with various eviction policies. |
|
context
Package context provides building blocks for context construction in agentic systems.
|
Package context provides building blocks for context construction in agentic systems. |
|
dispatch
Package dispatch provides two bounded-concurrency substrate primitives:
|
Package dispatch provides two bounded-concurrency substrate primitives: |
|
errs
Package errs provides standardized error handling patterns for SemStreams components.
|
Package errs provides standardized error handling patterns for SemStreams components. |
|
fusion
Package fusion is the generic deterministic-fusion engine: fan-out sub-query dispatch, dedup, rank, and budget enforcement over a GraphQueryClient, plus the product-supplied Lens SPI (lens.go).
|
Package fusion is the generic deterministic-fusion engine: fan-out sub-query dispatch, dedup, rank, and budget enforcement over a GraphQueryClient, plus the product-supplied Lens SPI (lens.go). |
|
fusion/fusionnats
Package fusionnats is the production NATS implementation of fusion.RetrievalClient (ADR-062 increment "B2"): it wires the engine's resolve/expand/status surface onto the existing public graph query subjects so the lens-driven fusion engine can run against a live graph.
|
Package fusionnats is the production NATS implementation of fusion.RetrievalClient (ADR-062 increment "B2"): it wires the engine's resolve/expand/status surface onto the existing public graph query subjects so the lens-driven fusion engine can run against a live graph. |
|
fusion/fusionvocab
Package fusionvocab is the production implementation of fusion.RankSignals (ADR-062 increment 5, gh#396): it wires the lens engine's ranking signals onto the vocabulary registry (predicate salience) and the BFO/CCO subclass helper (ontology specificity).
|
Package fusionvocab is the production implementation of fusion.RankSignals (ADR-062 increment 5, gh#396): it wires the lens engine's ranking signals onto the vocabulary registry (predicate salience) and the BFO/CCO subclass helper (ontology specificity). |
|
fusion/lensregistry
Package lensregistry holds the explicit, instance-scoped registry of fusion Lens factories (ADR-062 increment 3).
|
Package lensregistry holds the explicit, instance-scoped registry of fusion Lens factories (ADR-062 increment 3). |
|
gateddag
Package gateddag is the pure decision brain of gated-DAG dispatch (ADR-046 Phase 2).
|
Package gateddag is the pure decision brain of gated-DAG dispatch (ADR-046 Phase 2). |
|
graphview
Package graphview provides a shared read-side fan-out primitive over a NATS KV bucket (ADR-081): ONE WatchAll feeding one validated in-memory current-state projection, coalesced to a view-rate tick and fanned out to N local subscribers with snapshot+delta consistency, per-subscriber at-most-once backpressure, and an honest degraded-path contract.
|
Package graphview provides a shared read-side fan-out primitive over a NATS KV bucket (ADR-081): ONE WatchAll feeding one validated in-memory current-state projection, coalesced to a view-rate tick and fanned out to N local subscribers with snapshot+delta consistency, per-subscriber at-most-once backpressure, and an honest degraded-path contract. |
|
lifecycle
Package lifecycle provides a substrate convention layer for workflow-shaped entities — named instances with declared phases, restart recovery, operator visibility, and rule integration.
|
Package lifecycle provides a substrate convention layer for workflow-shaped entities — named instances with declared phases, restart recovery, operator visibility, and rule integration. |
|
logging
Package logging provides slog handlers for structured logging with multi-destination support, NATS publishing, and graceful fallback behavior.
|
Package logging provides slog handlers for structured logging with multi-destination support, NATS publishing, and graceful fallback behavior. |
|
ownership
Package ownership implements the ADR-056 authoritative-semantic-state owner registry: the framework substrate that names exactly one owner per (entity-ID pattern, predicate group) and rejects two owners selecting the same cell in an owning write mode.
|
Package ownership implements the ADR-056 authoritative-semantic-state owner registry: the framework substrate that names exactly one owner per (entity-ID pattern, predicate group) and rejects two owners selecting the same cell in an owning write mode. |
|
platform
Package platform holds the platform-identity struct used across the SemStreams codebase.
|
Package platform holds the platform-identity struct used across the SemStreams codebase. |
|
projection
Package projection implements the ADR-056 Decision 6 graph projection contract — the missing middle layer between "what type is flowing" (the payload registry) and "who may author these facts at runtime" (pkg/ownership).
|
Package projection implements the ADR-056 Decision 6 graph projection contract — the missing middle layer between "what type is flowing" (the payload registry) and "who may author these facts at runtime" (pkg/ownership). |
|
resource
Package resource provides utilities for monitoring resource availability.
|
Package resource provides utilities for monitoring resource availability. |
|
retry
Package retry provides simple exponential backoff retry logic for transient failures.
|
Package retry provides simple exponential backoff retry logic for transient failures. |
|
revlag
Package revlag provides a revision-lag "caught up" watermark for async, write-driven, lagging pipelines fed by a NATS KV watch (ADR-066).
|
Package revlag provides a revision-lag "caught up" watermark for async, write-driven, lagging pipelines fed by a NATS KV watch (ADR-066). |
|
rulepack
Package rulepack owns the process-level identity contract for composed rule processors.
|
Package rulepack owns the process-level identity contract for composed rule processors. |
|
security
Package security provides platform-wide security configuration types
|
Package security provides platform-wide security configuration types |
|
text
Package text provides text manipulation utilities.
|
Package text provides text manipulation utilities. |
|
timestamp
Package timestamp provides standardized Unix timestamp handling utilities.
|
Package timestamp provides standardized Unix timestamp handling utilities. |
|
tlsutil
Package tlsutil provides TLS configuration utilities for secure connections.
|
Package tlsutil provides TLS configuration utilities for secure connections. |
|
types
Package types provides core type definitions for the semantic event mesh.
|
Package types provides core type definitions for the semantic event mesh. |
|
worker
Package worker provides a generic, thread-safe worker pool for concurrent task processing.
|
Package worker provides a generic, thread-safe worker pool for concurrent task processing. |
|
processor
|
|
|
agentic-detonator
Package agenticdetonator implements ADR-043 Phase 3: offline labeling of untrusted text via a sandboxed canary loop with a fake tool registry (WildcardExecutor) plus a markdown-URL scanner.
|
Package agenticdetonator implements ADR-043 Phase 3: offline labeling of untrusted text via a sandboxed canary loop with a fake tool registry (WildcardExecutor) plus a markdown-URL scanner. |
|
agentic-dispatch
Package agenticdispatch provides message routing between users and agentic loops.
|
Package agenticdispatch provides message routing between users and agentic loops. |
|
agentic-governance
Package agenticgovernance provides a governance layer processor component that enforces content policies, PII redaction, injection detection, and rate limiting for agentic message flows.
|
Package agenticgovernance provides a governance layer processor component that enforces content policies, PII redaction, injection detection, and rate limiting for agentic message flows. |
|
agentic-governance/injection_corpus
Package injectioncorpus loads labeled injection examples into the shape consumed by graph/query.EmbeddingClassifier.
|
Package injectioncorpus loads labeled injection examples into the shape consumed by graph/query.EmbeddingClassifier. |
|
agentic-loop
Package agenticloop provides the agentic loop orchestrator component.
|
Package agenticloop provides the agentic loop orchestrator component. |
|
agentic-loop/lessonmatch
Package lessonmatch is the deterministic, PURE lesson selector that powers bounded push-based lesson delivery (ADR-080, agent-memory-lesson-substrate).
|
Package lessonmatch is the deterministic, PURE lesson selector that powers bounded push-based lesson delivery (ADR-080, agent-memory-lesson-substrate). |
|
agentic-loop/prompt
Package prompt provides fragment-based system prompt assembly for agentic loops.
|
Package prompt provides fragment-based system prompt assembly for agentic loops. |
|
agentic-model
Package agenticmodel provides an OpenAI-compatible agentic model processor component that routes agent requests to configured LLM endpoints with retry logic and tool calling support.
|
Package agenticmodel provides an OpenAI-compatible agentic model processor component that routes agent requests to configured LLM endpoints with retry logic and tool calling support. |
|
agentic-tools
Package agentictools provides a tool executor processor component that routes tool calls to registered tool executors with filtering and timeout support.
|
Package agentictools provides a tool executor processor component that routes tool calls to registered tool executors with filtering and timeout support. |
|
agentic-tools/executors
Package executors provides tool executor implementations for the agentic system.
|
Package executors provides tool executor implementations for the agentic system. |
|
agentic-tools/runner
Package runner is an HTTP client for a remote tool-execution sandbox server.
|
Package runner is an HTTP client for a remote tool-execution sandbox server. |
|
gated-dag
Package gateddagexec is the executor component for gated-DAG dispatch (ADR-046 Phase 2, gh#357).
|
Package gateddagexec is the executor component for gated-DAG dispatch (ADR-046 Phase 2, gh#357). |
|
graph-clustering
Package graphclustering provides anomaly detection integration for graph-clustering.
|
Package graphclustering provides anomaly detection integration for graph-clustering. |
|
graph-embedding
Package graphembedding provides the graph-embedding component for generating entity embeddings.
|
Package graphembedding provides the graph-embedding component for generating entity embeddings. |
|
graph-index
Package graphindex provides the graph-index component for maintaining graph relationship indexes.
|
Package graphindex provides the graph-index component for maintaining graph relationship indexes. |
|
graph-index-spatial
Package graphindexspatial provides the graph-index-spatial component for spatial indexing.
|
Package graphindexspatial provides the graph-index-spatial component for spatial indexing. |
|
graph-index-temporal
Package graphindextemporal provides the graph-index-temporal component for temporal indexing.
|
Package graphindextemporal provides the graph-index-temporal component for temporal indexing. |
|
graph-ingest
Package graphingest provides the graph-ingest component for entity and triple ingestion.
|
Package graphingest provides the graph-ingest component for entity and triple ingestion. |
|
graph-query
Package graphquery community cache implementation
|
Package graphquery community cache implementation |
|
json_filter
Package jsonfilter provides a processor for filtering GenericJSON messages based on field values and comparison rules.
|
Package jsonfilter provides a processor for filtering GenericJSON messages based on field values and comparison rules. |
|
json_generic
Package jsongeneric provides a processor for wrapping plain JSON into GenericJSON (core .json.v1) format for integration with StreamKit pipelines.
|
Package jsongeneric provides a processor for wrapping plain JSON into GenericJSON (core .json.v1) format for integration with StreamKit pipelines. |
|
json_map
Package jsonmapprocessor provides a processor for transforming GenericJSON messages through field mapping, adding, removing, and string transformations.
|
Package jsonmapprocessor provides a processor for transforming GenericJSON messages through field mapping, adding, removing, and string transformations. |
|
research-graph-assess
Package researchassess implements the assess_sufficiency component from ADR-045 Phase 1 (PR 5 of six per docs/operations/22-adr045-phase1-plan.md).
|
Package researchassess implements the assess_sufficiency component from ADR-045 Phase 1 (PR 5 of six per docs/operations/22-adr045-phase1-plan.md). |
|
research-graph-classify
Package researchclassify implements the nl_classify component from ADR-045 Phase 1 (PR 2 of six per docs/operations/22-adr045-phase1-plan.md).
|
Package researchclassify implements the nl_classify component from ADR-045 Phase 1 (PR 2 of six per docs/operations/22-adr045-phase1-plan.md). |
|
research-graph-execute
Package researchexecute implements the execute_subqueries component from ADR-045 Phase 1 (PR 4 of six per docs/operations/22-adr045-phase1-plan.md).
|
Package researchexecute implements the execute_subqueries component from ADR-045 Phase 1 (PR 4 of six per docs/operations/22-adr045-phase1-plan.md). |
|
research-graph-llmwrap
Package llmwrap holds helpers shared across the ADR-045 Phase 1 research-graph chain components (nl_classify, route_search, execute_subqueries, assess_sufficiency, synthesize_answer).
|
Package llmwrap holds helpers shared across the ADR-045 Phase 1 research-graph chain components (nl_classify, route_search, execute_subqueries, assess_sufficiency, synthesize_answer). |
|
research-graph-route
Package researchroute implements the route_search component from ADR-045 Phase 1 (PR 3 of six per docs/operations/22-adr045-phase1-plan.md).
|
Package researchroute implements the route_search component from ADR-045 Phase 1 (PR 3 of six per docs/operations/22-adr045-phase1-plan.md). |
|
research-graph-synthesize
Package researchsynthesize implements the synthesize_answer component from ADR-045 Phase 1 (PR 5 of six per docs/operations/22-adr045-phase1-plan.md).
|
Package researchsynthesize implements the synthesize_answer component from ADR-045 Phase 1 (PR 5 of six per docs/operations/22-adr045-phase1-plan.md). |
|
rule
Package rule - Stable per-action identity for firing-cap bookkeeping.
|
Package rule - Stable per-action identity for firing-cap bookkeeping. |
|
rule/expression
Package expression - Expression evaluator implementation
|
Package expression - Expression evaluator implementation |
|
Package service provides base functionality and common patterns for long-running services in the semstreams platform.
|
Package service provides base functionality and common patterns for long-running services in the semstreams platform. |
|
Package storage provides pluggable backend interfaces for storage operations.
|
Package storage provides pluggable backend interfaces for storage operations. |
|
objectstore
Package objectstore provides a NATS ObjectStore-based storage component for immutable message storage with time-bucketed keys and caching.
|
Package objectstore provides a NATS ObjectStore-based storage component for immutable message storage with time-bucketed keys and caching. |
|
storeregistry
Package storeregistry provides a concurrency-safe registry mapping a message.StorageReference.StorageInstance to the live store that backs it (ADR-063).
|
Package storeregistry provides a concurrency-safe registry mapping a message.StorageReference.StorageInstance to the live store that backs it (ADR-063). |
|
test
|
|
|
e2e/client
Package client provides HTTP clients for SemStreams E2E tests
|
Package client provides HTTP clients for SemStreams E2E tests |
|
e2e/config
Package config provides configuration for SemStreams E2E tests
|
Package config provides configuration for SemStreams E2E tests |
|
e2e/harness/lessoncuration
Package lessoncuration defines the E2E-only operator control contract used to exercise lesson promotion through the already-bound framework client.
|
Package lessoncuration defines the E2E-only operator control contract used to exercise lesson promotion through the already-bound framework client. |
|
e2e/mock
Package mock provides test doubles for external services.
|
Package mock provides test doubles for external services. |
|
e2e/mock/cmd
command
Package main provides the standalone mock servers for E2E testing.
|
Package main provides the standalone mock servers for E2E testing. |
|
e2e/results
Package results provides structured result writing for E2E test scenarios
|
Package results provides structured result writing for E2E test scenarios |
|
e2e/scenarios
Package scenarios provides E2E test scenarios for SemStreams
|
Package scenarios provides E2E test scenarios for SemStreams |
|
e2e/scenarios/agentic
Package agentic provides the agentic E2E test scenario.
|
Package agentic provides the agentic E2E test scenario. |
|
e2e/scenarios/anomaly
Package anomaly provides ground truth validation for anomaly detection.
|
Package anomaly provides ground truth validation for anomaly detection. |
|
e2e/scenarios/community
Package community provides ground truth validation for community detection.
|
Package community provides ground truth validation for community detection. |
|
e2e/scenarios/crud-tools
Package crudtools provides an end-to-end test scenario that exercises the ADR-029 Pattern-B CRUD tools through a running semstreams instance.
|
Package crudtools provides an end-to-end test scenario that exercises the ADR-029 Pattern-B CRUD tools through a running semstreams instance. |
|
e2e/scenarios/deep-research
Package deepresearch provides the deep-research rules-driven E2E test scenario.
|
Package deepresearch provides the deep-research rules-driven E2E test scenario. |
|
e2e/scenarios/lifecycle
Package lifecycle provides the ADR-047 end-to-end scenario that drives the running lifecycle-gateway + rule-engine + Manager substrate via the production HTTP wire (NOT internal helpers — the unit tests already cover helper-direct paths; this scenario exists to lock the wire-level contract).
|
Package lifecycle provides the ADR-047 end-to-end scenario that drives the running lifecycle-gateway + rule-engine + Manager substrate via the production HTTP wire (NOT internal helpers — the unit tests already cover helper-direct paths; this scenario exists to lock the wire-level contract). |
|
e2e/scenarios/ops
Package ops provides an end-to-end test scenario that validates the ADR-027 Phase 1 ops agent end to end.
|
Package ops provides an end-to-end test scenario that validates the ADR-027 Phase 1 ops agent end to end. |
|
e2e/scenarios/research-graph
Package researchgraph provides the ADR-045 research-graph chain E2E scenario.
|
Package researchgraph provides the ADR-045 research-graph chain E2E scenario. |
|
e2e/scenarios/search
Package search provides unified search query execution for e2e tests.
|
Package search provides unified search query execution for e2e tests. |
|
e2e/scenarios/stages
Package stages contains extracted stage implementations for tiered E2E tests
|
Package stages contains extracted stage implementations for tiered E2E tests |
|
e2e/scenarios/throughput
Package throughput provides a high-throughput E2E scenario for performance profiling.
|
Package throughput provides a high-throughput E2E scenario for performance profiling. |
|
fixtures/corecomposition
Package corecomposition is a build-graph fixture for the framework-core composition roots.
|
Package corecomposition is a build-graph fixture for the framework-core composition roots. |
|
Package testutil provides testing utilities for StreamKit integration tests.
|
Package testutil provides testing utilities for StreamKit integration tests. |
|
Package types contains shared domain types used across the semstreams platform
|
Package types contains shared domain types used across the semstreams platform |
|
Package vocabulary provides semantic vocabulary management for the SemStreams platform.
|
Package vocabulary provides semantic vocabulary management for the SemStreams platform. |
|
agentic
Package agentic provides vocabulary constants for AI agent interoperability.
|
Package agentic provides vocabulary constants for AI agent interoperability. |
|
bfo
Package bfo provides IRI constants for the Basic Formal Ontology (BFO) 2.0.
|
Package bfo provides IRI constants for the Basic Formal Ontology (BFO) 2.0. |
|
builtins
Package builtins registers SemStreams-owned vocabularies at an application composition root before configuration authoring validation runs.
|
Package builtins registers SemStreams-owned vocabularies at an application composition root before configuration authoring validation runs. |
|
cco
Package cco provides IRI constants for the Common Core Ontologies (CCO).
|
Package cco provides IRI constants for the Common Core Ontologies (CCO). |
|
examples
Package examples provides reference vocabulary implementations.
|
Package examples provides reference vocabulary implementations. |
|
export
Package export serializes []message.Triple to standard RDF formats.
|
Package export serializes []message.Triple to standard RDF formats. |
|
governance
Package governance declares vocabulary predicates emitted by the agentic-governance filter chain.
|
Package governance declares vocabulary predicates emitted by the agentic-governance filter chain. |
|
rulepacks
Package rulepacks declares predicates owned by SemStreams' shipped reference rule packs rather than by a domain payload package.
|
Package rulepacks declares predicates owned by SemStreams' shipped reference rule packs rather than by a domain payload package. |