Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "sigint",
"version": "0.5.1",
"version": "0.6.0",
"description": "Signal Intelligence - Comprehensive market research toolkit with report generation, GitHub issue creation, and trend-based analysis using three-valued logic",
"license": "MIT",
"author": {
Expand All @@ -21,7 +21,7 @@
"web_fetch": true,
"file_read": true,
"file_write": true,
"mcp_servers": ["atlatl", "github"]
"mcp_servers": ["github"]
},
"prerequisites": {
"jq": {
Expand All @@ -30,10 +30,6 @@
}
},
"optional_dependencies": {
"atlatl": {
"description": "Atlatl MCP server for blackboard coordination and persistent memory. Falls back to file-based state when unavailable.",
"required": false
},
"github": {
"description": "GitHub MCP server for issue creation. Required only for /sigint:issues command.",
"required": false
Expand Down
31 changes: 21 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,28 @@ All notable changes to the Sigint Market Intelligence Plugin will be documented
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [0.6.0] - 2026-04-11

### Removed
- **Atlatl MCP dependency**: Removed all Atlatl blackboard, memory capture, memory recall, and memory enrichment references across 55 files (491 occurrences). JSON file persistence is now the sole data model.
- **Blackboard coordination**: Replaced ephemeral blackboard key-value store with file-based state in `reports/{topic_slug}/`. Inter-agent coordination uses TaskUpdate and SendMessage exclusively.
- **`auto_atlatl` configuration field**: Removed from schema validation, config examples, migration logic, and documentation.
- **`atlatl_memory_id` topic field**: Removed from schema validation and lifecycle tracking.
- **62 Atlatl-specific eval test cases**: Removed from 7 eval files; all remaining evals validated.

### Improved
- **skills/augment**: Added `--methodology` as documented alias for `--dimension` argument
- **skills/report**: Input validation, format-specific output, timeout handling, graceful cleanup, state.json validation
- **skills/issues**: Input validation (`--repo` format), cowork fallback, categorized error responses, Atlatl regression guard eval
- **skills/migrate**: Backup-before-write ordering, dual-format parsing (YAML + markdown sections), malformed JSON handling, schema validation fallback

### Fixed
- **Topic lifecycle tracking**: Research sessions now register in `sigint.config.json` topics throughout the lifecycle — `/sigint:start` registers with `in_progress`, orchestrator sets `complete` on finish, `/sigint:augment` and `/sigint:update` update dimensions and timestamps
- **Session index**: `/sigint:status` and `/sigint:resume --list` now use `sigint.config.json` topics as primary session index instead of only globbing report directories
- **Schema validation**: `sigint-config.jq` updated to validate both minimal (context-only) and lifecycle-managed topic entries with status, dimensions, created/updated timestamps, findings count, and optional Atlatl memory ID
- **Schema validation**: `sigint-config.jq` updated to validate both minimal (context-only) and lifecycle-managed topic entries with status, dimensions, created/updated timestamps, and findings count
- **Dimension-analyst reports directory**: Orchestrator now passes explicit `REPORTS_DIR` and `TOPIC_SLUG` to each analyst spawn prompt; analysts use the path verbatim instead of deriving it from the topic title (fixes slug truncation causing findings to land in wrong directory)
- **Pre-review file validation** (Phase 2.6): Orchestrator validates all expected findings files exist in the canonical reports directory *before* the codex review gate (not after), ensuring relocated files go through the blocking review. Recovery is fail-closed: single-match relocations only, refuses on ambiguous multiple candidates, never imports from sibling topic directories
- **Config write atomicity**: Orchestrator Phase 4.1 now writes all topic completion fields (status, findings_count, dimensions, atlatl_memory_id) in a single jq call to prevent race conditions
- **Config write atomicity**: Orchestrator Phase 4.1 now writes all topic completion fields (status, findings_count, dimensions) in a single jq call to prevent race conditions

## [0.5.0] - 2026-04-02

Expand All @@ -33,7 +46,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **All JSON file operations now use `jq` via Bash** — `Edit` tool removed from all agents and skills per `/refactor:xq` structured data reliability patterns
- **Configuration format**: Migrated from `sigint.local.md` YAML to `sigint.config.json` v2.0 JSON with per-topic overrides
- **Schema validation is mandatory**: Write-then-validate pattern required after every JSON mutation with retry-and-correct (max 2 retries)
- **Dual-write is default**: Blackboard + file persistence for all findings (not just a Cowork fallback)
- **File persistence is default**: All findings written to validated JSON files
- **Research-orchestrator** upgraded to v0.5.0 with codex gates, provenance, delta detection, and harness pattern
- **Dimension-analyst** now includes `Bash` in tools list for Structured Data Protocol compliance
- **Report-synthesizer** now includes `Bash` in tools list for Structured Data Protocol compliance
Expand All @@ -49,21 +62,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **Swarm-orchestrated parallel research**: New research-orchestrator agent coordinates multiple dimension-analysts running concurrently
- **Dimension-analyst agent**: Generic research analyst parameterized by dimension (competitive, sizing, trends, customer, tech, financial, regulatory)
- **Source-chunker agent**: RLM processor for large documents — partitions, spawns chunk analysts, synthesizes findings
- **Atlatl blackboard coordination**: Ephemeral session blackboard for inter-agent communication during research
- **Task-based coordination**: Task system for inter-agent communication during research
- **Orchestration hints** in all 9 skill SKILL.md files for team-based research participation
- **Live team status** in `/sigint:status` showing dimension-analyst progress via blackboard
- **Live team status** in `/sigint:status` showing dimension-analyst progress

### Changed
- **Replaced monolithic market-researcher** with research-orchestrator + dimension-analyst swarm (3→5 agents)
- **Migrated from Subcog to Atlatl** memory system across all commands and agents
- **Replaced TodoWrite with TaskCreate/TaskUpdate** in all commands
- **Replaced Task/subagent_type delegation with Agent tool** in all commands
- **Report-synthesizer** now reads blackboard findings in addition to state.json
- **Issue-architect** now uses Atlatl instead of Subcog for memory persistence
- **Report-synthesizer** now reads dimension findings files in addition to state.json

### Removed
- **market-researcher agent** (decomposed into research-orchestrator + dimension-analyst)
- **Subcog integration** (replaced by Atlatl MCP tools)
- **Subcog integration** (replaced by file-based state)
- **TodoWrite usage** (replaced by TaskCreate/TaskUpdate)

## [0.3.7] - 2026-01-23
Expand Down
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,11 @@ See the [Getting Started Tutorial](docs/tutorials/getting-started.md) for a deta

## Features

- **Swarm-Orchestrated Research**: Parallel dimension-analysts coordinate via Atlatl blackboard
- **Swarm-Orchestrated Research**: Parallel dimension-analysts coordinate via task system and file-based state
- **Iterative Research Workflow**: Start, refine, and finalize market research through commands
- **Multi-Audience Reports**: Generate reports for executives, PMs, investors, and developers
- **Trend-Based Modeling**: Three-valued logic analysis (INC/DEC/CONST) for uncertain data
- **GitHub Integration**: Automatically create sprint-sized issues from findings
- **Atlatl Memory**: Persist research state across sessions via Atlatl MCP
- **RLM Large Document Processing**: Source-chunker handles documents exceeding context limits
- **Multi-Format Output**: Markdown, HTML, Mermaid diagrams

Expand Down Expand Up @@ -79,7 +78,7 @@ For organization-wide deployment and detailed setup, see the [Cowork deployment

## Agents

- **research-orchestrator**: Coordinates parallel dimension-analysts via blackboard, merges findings
- **research-orchestrator**: Coordinates parallel dimension-analysts, merges findings
- **dimension-analyst**: Focused research on a single dimension (competitive, sizing, trends, etc.)
- **source-chunker**: RLM processor for large documents — partitions, analyzes chunks, synthesizes
- **issue-architect**: Converts findings to sprint-sized GitHub issues
Expand Down Expand Up @@ -148,8 +147,7 @@ Create `sigint.config.json` at the project root (generated automatically by `/si
"defaults": {
"default_repo": "owner/repo",
"report_format": "markdown",
"audiences": ["executives", "product-managers"],
"auto_atlatl": true
"audiences": ["executives", "product-managers"]
},
"research": {
"maxDimensions": 5,
Expand All @@ -168,7 +166,6 @@ Create `sigint.config.json` at the project root (generated automatically by `/si
- WebSearch/WebFetch tools for research

**Optional:**
- Atlatl MCP server for blackboard coordination and persistent memory (falls back to file-based state)
- GitHub MCP server or GitHub CLI (`gh`) for issue creation

## References
Expand Down
1 change: 0 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ sigint is a Claude Code plugin that performs web searches and fetches external c

- **Web Content**: Research commands fetch data from external sources
- **Report Storage**: Research findings are stored locally in `./reports/`
- **Atlatl Memory**: Optional memory persistence via Atlatl MCP server
- **GitHub Integration**: Issue creation requires `gh` CLI authentication

## Threat Model
Expand Down
Loading