Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, this project adheres to Semantic Versioning, commits follow Conventional Commits, and this changelog is generated by Structured Changelog.
Unreleased¶
v0.2.0 - 2026-07-25 (0e90905)¶
Highlights¶
- Metrics engine with 4 formulas: frustration, momentum, reach, and urgency
- LLM-based consolidation pipeline: embed, cluster, summarize, review, attach
- Analyst findings provider for Gartner, Forrester, and IDC
- Competitive intelligence provider for win/loss and gaps from CRM sources
- Curated signal support to skip clustering for pre-aggregated sources
- Config helpers for typed mapping options (customer, capability, market)
Added¶
metricspackage with a formula registry (Register,Get,Compute,ComputeAll) and built-infrustration,momentum,reach, andurgencyformulas (0d57581)metrics.ConfigwithLoadConfig,Merge, andToOptionshelpers, plusConfigFromProviderOptionsfor reading weights fromConfig.Options["metrics"](0d57581)consolidatepackage implementing a 5-stage pipeline (embed → cluster → summarize → review → attach) viaconsolidate.NewPipeline(34e7cde)OmniLLMEmbedderfor batched embedding generation with configurableTextFuncextractors (34e7cde)- Cosine-similarity
ClustererandIncrementalClustererfor grouping and incrementally attaching signals to clusters (34e7cde) LLMSummarizerfor generating root cause titles, descriptions, and symptom patterns from signal clusters (34e7cde)MemoryReviewerhuman review queue with approve/reject workflow, hooks, and auto-approve threshold (34e7cde)provider/analystpackage ingesting analyst findings from Gartner, Forrester, and IDC withanalyst_report_ref,market_ref, andcompetitor_refMarketSpec refs (0158b07)provider/competitivepackage ingesting win/lossDealRecordandCompetitiveGapdata from CRM sources (Salesforce, HubSpot, Clari, Gong) (f0ad928)omnisignal.IsCurated()for detecting pre-consolidated signals that skip the clustering stage (6e8c92f)Config.GetStringMap()for typedmap[string]stringoption retrieval (6e8c92f)OptCustomerMappings,OptCapabilityMappings, andOptMarketMappingswell-known config option keys (6e8c92f)
Fixed¶
- Updated Jira and PagerDuty providers to use the
common.SourceSystemstruct instead of a plain string, and added customer/capability mapping support via config options (d612855)
Dependencies¶
- Update
github.com/plexusone/signal-specto v0.2.0 and remove the localreplacedirective (b8dabfe) - Add
github.com/grokify/oscompatfor cross-platform test assertions (ba7031e)
Documentation¶
- Add PRD, TRD, PLAN, ROADMAP, and ARCHITECTURE specs covering the OmniSignal signal engine design across 6 phases (28 RMIs) (
1942f4a) - Add CLAUDE.md with repo-specific contributor guidelines (
4410150) - Add metadata conventions, PRISM-Roadmap handoff guide, and Aha provider guide covering enhancement request metadata, cross-repo reference format, and curated vs. raw signal handling (
67b8ceb) - Update README shields (
12f7c3c)
Tests¶
- Add provider conformance, capabilities, config, error-wrapping, external provider, and signal fingerprinting tests (
c00c8ce) - Use
oscompatfor cross-platform duration assertions instead of> 0comparisons that can report zero on low-resolution Windows timers (ba7031e)
Internal¶
- Fix
gofmtformatting flagged bygolangci-lint(0e90905)
v0.1.0 - 2026-05-23 (4dd585c)¶
Highlights¶
- Unified signal ingestion abstraction for operational intelligence following the omnillm architectural pattern
- Built-in thick providers for PagerDuty and Jira with SDK-based implementations
Added¶
- Core
Providerinterface withFetch,Subscribe,Capabilities, andClosemethods (194d497) FetchOptionsfor filtering signals by time range, status, severity, and provider-specific filters (194d497)SubscribeOptionsfor real-time streaming configuration (194d497)Capabilitiesstruct describing provider features (streaming, batch fetch, filtering, acknowledge) (194d497)Configstruct withAPIKey,APISecret,BaseURL,Timeout,RetryMax, andOptionsfields (194d497)- Common errors:
ErrNotSupported,ErrInvalidConfig,ErrAuthentication,ErrRateLimited,ErrProviderNotFound(194d497) - Provider registry with
Register,New,MustNew,List,IsRegistered,GetPriorityfunctions (8488b6d) - Priority-based registration allowing thick providers to override thin providers (
8488b6d) UnregisterandClearRegistryfunctions for testing (8488b6d)- PagerDuty provider using official
go-pagerdutySDK (e9095d4) - PagerDuty incident fetching with pagination, time filtering, status/severity mapping (
e9095d4) - PagerDuty incident normalization to signal-spec
Signaltype (e9095d4) - Jira provider using
go-jiracommunity SDK (ff331a2) - Jira issue fetching via JQL with project, time, status, priority filters (
ff331a2) - Jira issue normalization to signal-spec
Signaltype with component entities and label tags (ff331a2)
Dependencies¶
- Add
github.com/PagerDuty/go-pagerdutyv1.8.0 for PagerDuty SDK (7339e3b) - Add
github.com/andygrunwald/go-jirav1.17.0 for Jira SDK (7339e3b) - Add
github.com/plexusone/signal-specv0.1.0 for canonical signal types (7339e3b)
Documentation¶
- README with overview, quick start, provider table, interface docs, and custom provider guide (
8279975) - MkDocs documentation site with PlexusOne theme (
4dd585c) - Getting started guides for installation and quickstart (
4dd585c) - Configuration reference for
Config,FetchOptions,Capabilities(4dd585c) - Provider documentation for PagerDuty and Jira (
4dd585c) - Custom provider implementation guide (
4dd585c)