feat: Synapse Universal Context Broker#1
Merged
daniel-harperdb merged 6 commits intomainfrom Mar 6, 2026
Merged
Conversation
- docs/synapse-design.md: Full architecture spec for Universal Context Broker - CLAUDE.md: Synapse section with new key files, resource classes, and conventions - Branch: feature/synapse Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add SynapseEntry table to schema.graphql with HNSW vector index - Add SynapseEntry, SynapseSearch, SynapseIngest, SynapseEmit to resources.js - Add classifySynapseEntry, synapseparsers, synapseEmitters helpers - Update existing tests to include SynapseEntry in harperdb mock - Add 4 new Synapse test files (77 tests total, all pass) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Zero-dependency Node.js CLI using process.argv and fetch - sync: discovers CLAUDE.md, .cursor/rules/*.mdc, .windsurf/ and POSTs to SynapseIngest - emit: queries SynapseEmit and prints or writes files (--write flag) - search: semantic search via SynapseSearch with --limit and --type filters - watch: fs.watch with 2s debounce for auto-sync on file changes - status: shows entry counts by type and source from a search sample - Add "bin" field to package.json - Add SYNAPSE_ENDPOINT, SYNAPSE_PROJECT, SYNAPSE_AUTH to .env.example Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- README.md: add Synapse section with architecture diagram, context types, CLI examples, API endpoints table, project structure, and env vars - docs/architecture.md: add Synapse data flow diagram and SynapseEntry schema table - CLAUDE.md: update key files list, test count (35 → 77), remove branch qualifier Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- dprint: code formatter (tabs, single quotes, useBraces:always) for JS, JSON, Markdown, GraphQL - oxlint: fast linter with test-file overrides for no-new-array and require-yield - semantic-release: automated versioning and GitHub releases from conventional commits - commitlint: enforce conventional commit format - GitHub Actions: ci.yml (lint+test on all branches) and release.yml (release on main) - New scripts: format:check, format:fix, format:staged, lint:check, lint:fix, test:watch, test:coverage, commitlint - Fix lint warnings in resources.js: prefix unused embedding and projectId params with _ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add VALID_EMIT_TARGETS set; reject slack/manual as emit targets, accept markdown - Push single-type filter to server-side search conditions in SynapseEmit - Deduplicate ingested entries using deterministic content hash as record ID - Fix parseClaudeCode/parseWindsurf to preserve preamble before first ## heading - Update engines.node to >=22.0.0 (required for --experimental-test-module-mocks) - Combine table destructures into single line - Add beforeEach mock resets to synapse-search and synapse-emit test files - Broaden CLI status command query; document as approximate Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🎉 This PR is included in version 0.2.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.mdc, Windsurf.md, Copilot instructions) into a shared vector store and emits unified context back to any target toolSynapseIngest,SynapseSearch, andSynapseEmitHarper resource classes with full classification (Claude Haiku), embedding (Voyage AI), and HNSW vector searchsynapseCLI (bin/synapse.js) withsync,emit,search,watch, andstatuscommandsschema.graphqlwithSynapseEntrytable (HNSW vector index, 7 indexed attributes)synapse-mcp.yamlMCP server config for agent connectivityWhat's included
bin/synapse.js) + MCP configdocs/synapse-design.md,docs/mcp-setup.md, updated README)Test plan
npm test— 82/82 tests passnpm run format:check— cleannpm run lint:check— 0 warnings, 0 errors🤖 Generated with Claude Code