@imunitic/synapse 0.13.11 → 0.13.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commands/synapse-design-note.md +1 -0
- package/commands/synapse-init.md +1 -0
- package/commands/synapse-note.md +1 -0
- package/commands/synapse-rebuild-diff.md +5 -4
- package/commands/synapse-rebuild-full.md +1 -0
- package/commands/synapse-status.md +1 -0
- package/commands/synapse-task-note.md +1 -0
- package/commands/synapse-vault-tidy.md +1 -0
- package/harness/codex/skills/synapse-design-note/SKILL.md +1 -1
- package/harness/codex/skills/synapse-init/SKILL.md +1 -1
- package/harness/codex/skills/synapse-note/SKILL.md +1 -1
- package/harness/codex/skills/synapse-rebuild-diff/SKILL.md +5 -5
- package/harness/codex/skills/synapse-rebuild-full/SKILL.md +1 -1
- package/harness/codex/skills/synapse-status/SKILL.md +1 -1
- package/harness/codex/skills/synapse-task-note/SKILL.md +1 -1
- package/harness/codex/skills/synapse-vault-tidy/SKILL.md +1 -1
- package/package.json +4 -4
- package/skills/synapse-node-authoring/SKILL.md +1 -1
- package/skills/synapse-node-format/SKILL.md +1 -1
- package/skills/synapse-orientation/SKILL.md +1 -1
- package/skills/synapse-query/SKILL.md +8 -1
- package/skills/synapse-vault/SKILL.md +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Start or continue a free-form, cross-project design discussion, written to Synapse Vault rather than tied to one repo — thinking through a problem/approach/tradeoffs out loud before anything is built. Use whenever the user wants to open, resume, or reason through a design ("let's create/write a design note", "let's think through X", "let's design this", "let's talk this through"). Not for a note that's already ready to become tracked work (that's synapse-task-note), or a plain vault note with no design framing (that's synapse-note, whose project-resolution logic this command reuses).
|
|
3
|
+
disable-model-invocation: true
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# Synapse Design Note: Cross-Project Personal Design Discussion
|
package/commands/synapse-init.md
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Build a repo's Synapse Graph namespace from scratch — enumerate tracked files, orient into the repo's own symbol vocabulary, cluster into manifest.tsv, gate cluster quality, compute the link graph, author each node's prose, and write the two derived projections (_index.bin, Index.md). This is the only way a project gets a Synapse namespace in the first place — nothing else in the system creates one unprompted. Also handles the lighter re-run case for an already-initialized project (sweeping unassigned files into existing nodes, never re-clustering). Use whenever the user wants to set up Synapse for a repo for the first time ("init synapse here", "build the code graph", "set up the namespace") or asks to sweep newly-unassigned files into an existing graph. Not for repairing drift in an existing namespace (that's synapse-rebuild-diff) or a full wipe-and-rebuild (that's synapse-rebuild-full).
|
|
3
|
+
disable-model-invocation: true
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# Synapse Init: Build or Refresh a Repo's Code-Graph Namespace
|
package/commands/synapse-note.md
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Create a plain note in Synapse Vault (bare mode — title + frontmatter, category resolved from Index.md), a tracked task note (--task, scaffolds the checklist skeleton synapse-task expects), list every tracked task (--list), or search existing notes (--search) before creating a new one. Use for a note with no design framing, or any task note not compiled from a design discussion. Not for starting/continuing a design conversation (that's synapse-design-note) or compiling a Ready one into a task (that's synapse-task-note) — both of those delegate to this command themselves.
|
|
3
|
+
disable-model-invocation: true
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
Create a note in Synapse Vault with the title and options, list existing notes, or search existing notes: $ARGUMENTS
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-rebuild-diff
|
|
3
3
|
description: Manually bring a repo's Synapse namespace back in line after major same-branch drift — a pull, a rebase, or a long absence. Triages each drifted node into reseat / patch-from-diff / re-orient rather than rebuilding everything. Refuses outright on a cross-branch mismatch; for a full rebuild from scratch, use /synapse-rebuild-full instead.
|
|
4
|
+
disable-model-invocation: true
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# Synapse Rebuild Diff: Reconcile a Namespace After Same-Branch Drift
|
|
@@ -38,10 +39,10 @@ Manually, when you already expect major drift:
|
|
|
38
39
|
bad cases at once — renames *and* new paths), a `sed -i`, generated code that the build rewrote from a
|
|
39
40
|
schema, a dependency bump, or a moved submodule pointer.
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
is
|
|
42
|
+
Run it whenever the graph has fallen behind: the SessionStart line reports how many commits HEAD is
|
|
43
|
+
past it, and `synapse query drift` shows what changed. A small drift after an ordinary pull is an
|
|
44
|
+
ordinary run, with a few nodes in the *patch-from-diff* class. Between runs, Tier 1 flags what a
|
|
45
|
+
session edits and the `synapse-node` skill regenerates a stale node lazily when its body is needed.
|
|
45
46
|
|
|
46
47
|
**A large job is the expected outcome, not a warning sign.** On a monorepo with a hundred thousand
|
|
47
48
|
files and heavy traffic, most of the graph moving at once is simply what the situation looks like, and
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-rebuild-full
|
|
3
3
|
description: Wipe a repo's Synapse namespace and rebuild it from scratch via /synapse-init, for the case where diff-driven triage isn't the right tool — the graph has drifted too far, or a clean rebuild is just wanted directly. Preserves any hand-written `## Notes` content first and auto-merges what it can back into the new nodes. For ordinary same-branch drift, use /synapse-rebuild-diff instead — it's cheaper and never deletes a node outright.
|
|
4
|
+
disable-model-invocation: true
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# Synapse Rebuild Full: Wipe and Rebuild a Namespace From Scratch
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Print a read-only report of what in Synapse Vault currently needs a human decision -- design notes still Discussing, design notes marked Ready with no compiled task yet, Ready design notes with open questions still outstanding, task notes with unchecked items, and task notes stuck in REVIEW. Use whenever the user wants a status check on the vault ("what's outstanding", "what needs my attention", "vault status", "what did we leave open"). Never modifies anything -- a report only, not a task-management action. Not for creating, continuing, or listing a specific note kind (that's synapse-note/synapse-design-note/synapse-task-note's own --list modes) -- this is the one cross-cutting view over all of them at once.
|
|
3
|
+
disable-model-invocation: true
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# Synapse Status: Vault-Wide Attention Report
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Compile a Ready design note into a single tracked, checklist-based task note in Synapse Vault — delegates the actual note creation to synapse-note --task under the hood. Use whenever the user wants to turn a settled design discussion into actionable, tracked work ("let's compile a task note", "let's turn this into a task", "make this a task now") — not for starting or continuing the design discussion itself (that's synapse-design-note).
|
|
3
|
+
disable-model-invocation: true
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# Synapse Task Note: Compile a Design into a Tracked Checklist
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Run one on-demand vault-tidy pass over Synapse Vault -- surface recategorization candidates (notes that no longer fit their folder, clusters that deserve a new top-level category, categories that have gone stale) into a single inbox/ proposal, silently fill in the one class of missing-frontmatter default that has an unambiguous fix, and fold the rest of note health (broken links, orphaned notes, duplicate titles) into that same proposal since none of them has a safe mechanical repair either. Use whenever the user wants the vault's own organization checked or tidied ("tidy the vault", "check vault health", "any notes drifted out of their folder", "find orphaned/duplicate notes"). Never invoked automatically -- no SessionStart wiring, no autonomous scheduling; run it yourself, or under your own /loop if you want a cadence. Scoped to everything except designs/, tasks/, and synapse/ (the code graph's own generated namespace), which stay entirely /synapse-status's (the first two) or /synapse-init's (the third) territory.
|
|
3
|
+
disable-model-invocation: true
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# Synapse Vault Tidy: Recategorization Proposals and Note-Health Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-design-note
|
|
3
|
-
description: Start or continue a
|
|
3
|
+
description: Start or continue a design discussion as a Synapse Vault design note.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Design Note: Cross-Project Personal Design Discussion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-init
|
|
3
|
-
description: Build
|
|
3
|
+
description: Build this repo's Synapse code-graph namespace from scratch, or sweep unassigned files into an existing one.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Init: Build or Refresh a Repo's Code-Graph Namespace
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-note
|
|
3
|
-
description: Create a plain note in Synapse Vault
|
|
3
|
+
description: Create a plain or task note in Synapse Vault, list tracked tasks, or search existing notes.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Note: Plain Vault Notes, Task Notes, Listing, and Search
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-rebuild-diff
|
|
3
|
-
description:
|
|
3
|
+
description: Bring this repo's Synapse namespace back in line after same-branch drift: a pull, a rebase, or a long absence.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Rebuild Diff: Reconcile a Namespace After Same-Branch Drift
|
|
@@ -38,10 +38,10 @@ Manually, when you already expect major drift:
|
|
|
38
38
|
at once — renames *and* new paths), a `sed -i`, generated code that the build rewrote from a
|
|
39
39
|
schema, a dependency bump, or a moved submodule pointer.
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
is
|
|
41
|
+
Run it whenever the graph has fallen behind: the SessionStart line reports how many commits HEAD is
|
|
42
|
+
past it, and `synapse query drift` shows what changed. A small drift after an ordinary pull is an
|
|
43
|
+
ordinary run, with a few nodes in the *patch-from-diff* class. Between runs, Tier 1 flags what a
|
|
44
|
+
session edits and the `synapse-node` skill regenerates a stale node lazily when its body is needed.
|
|
45
45
|
|
|
46
46
|
**A large job is the expected outcome, not a warning sign.** On a monorepo with a hundred thousand
|
|
47
47
|
files and heavy traffic, most of the graph moving at once is simply what the situation looks like, and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-rebuild-full
|
|
3
|
-
description: Wipe
|
|
3
|
+
description: Wipe and rebuild this repo's Synapse namespace from scratch, keeping hand-written Notes.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Rebuild Full: Wipe and Rebuild a Namespace From Scratch
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-status
|
|
3
|
-
description:
|
|
3
|
+
description: Read-only report of what in Synapse Vault currently needs a human decision.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Status: Vault-Wide Attention Report
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-task-note
|
|
3
|
-
description: Compile a Ready design note into
|
|
3
|
+
description: Compile a Ready design note into one tracked task note in Synapse Vault.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Task Note: Compile a Design into a Tracked Checklist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-vault-tidy
|
|
3
|
-
description:
|
|
3
|
+
description: One on-demand tidy pass over Synapse Vault: recategorization and note-health findings as a single proposal.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Vault Tidy: Recategorization Proposals and Note-Health Fixes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imunitic/synapse",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.12",
|
|
4
4
|
"description": "Memory for Claude Code, Codex CLI, and OpenCode: a durable markdown vault plus a per-repo code graph.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"*.conf.template"
|
|
24
24
|
],
|
|
25
25
|
"optionalDependencies": {
|
|
26
|
-
"@imunitic/synapse-darwin-arm64": "0.13.
|
|
27
|
-
"@imunitic/synapse-linux-x64": "0.13.
|
|
28
|
-
"@imunitic/synapse-linux-arm64": "0.13.
|
|
26
|
+
"@imunitic/synapse-darwin-arm64": "0.13.12",
|
|
27
|
+
"@imunitic/synapse-linux-x64": "0.13.12",
|
|
28
|
+
"@imunitic/synapse-linux-arm64": "0.13.12"
|
|
29
29
|
},
|
|
30
30
|
"license": "SEE LICENSE IN LICENSE"
|
|
31
31
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-node-authoring
|
|
3
|
-
description:
|
|
3
|
+
description: Writing node prose for a batch of nodes, sequentially or with a subagent pool. Loaded by /synapse-init and /synapse-rebuild-diff.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Writing every node's prose: sequential by default, pooled on request
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-node-format
|
|
3
|
-
description: The
|
|
3
|
+
description: The node contract: frontmatter, crux, `## Links`, `grounded_in`, `## Sources`, and what `synapse write-node` refuses. Load before authoring any node.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# What a node is, and how to author one
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-orientation
|
|
3
|
-
description:
|
|
3
|
+
description: Orienting in an unfamiliar codebase before clustering it into graph nodes, including tree-sitter grammar discovery.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Orienting in an unfamiliar repo
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-query
|
|
3
|
-
description: This repo has a Synapse code graph. For
|
|
3
|
+
description: This repo has a Synapse code graph. For any task here (how something works, where code lives, what depends on a file, scoping an edit), query the graph before grepping or reading source, and grep only inside files it named. Another checkout's graph: --namespace <repo>@<branch>.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Query: Day-to-Day Use of the Code Graph
|
|
@@ -52,6 +52,7 @@ required:
|
|
|
52
52
|
| A file's API surface | read the file directly | Claude already has direct, cheap filesystem access — no separate view needed. |
|
|
53
53
|
| Who depends on a subsystem, or what it depends on | `synapse query links "{Node}" --inbound` / `--closure` | Real transitive-closure traversal over the typed relations, at node granularity. |
|
|
54
54
|
| **Who calls this method/class, repo-wide** | `synapse callers <name>` | Every call site as `path:line ⇥ calling expression`, off the flat index `synapse build-refs` projects from the tags cache. Well under a second even against a multi-gigabyte index. Needs **no node and no graph** — it works in a repo `/synapse-init` has never touched, as long as the cache is filled. Still name-based rather than type-resolved, so hits are candidates with evidence: the calling expression is on the line, which usually settles the receiver without opening the file. |
|
|
55
|
+
| **Where a symbol is defined, or every definition and reference of a name** | `synapse query symbol <name> "{Node}"`, or repo-wide `synapse callers <name> --all` | `symbol` gives `path:line` plus the defining expression inside one node's files. `callers --all` needs no node: every def and ref repo-wide from the Code Cache, the first move when you don't know the owning node yet. |
|
|
55
56
|
| One frontmatter scalar (`stale`, `built_at`, `commit`, ...) | `synapse query field "{Node}" <key>` | Cheap, targeted extraction — never reads the rest of the node. |
|
|
56
57
|
| A node's prose, without its (possibly huge) `sources` list | `synapse query body "{Node}"` | Disk read, never the API; skips frontmatter and `## Notes`. See the cost note above. |
|
|
57
58
|
| Every file a node covers | `synapse query sources "{Node}" [--count\|--modules\|--filter <p>]` | Filtered/counted/grouped, never the raw megabyte-scale list. |
|
|
@@ -73,6 +74,12 @@ required:
|
|
|
73
74
|
|
|
74
75
|
## When a node isn't enough
|
|
75
76
|
|
|
77
|
+
A query's answer scopes the work: open the files it names at the ranges it gives, and do not grep
|
|
78
|
+
the repo to re-derive what it already answered. Line ranges come from the last graph build and can
|
|
79
|
+
drift after edits. When the lines you open don't match what the query described, re-locate the
|
|
80
|
+
symbol within that same file (the file is the truth, the range is a pointer), and only widen the
|
|
81
|
+
search if the file no longer contains it at all, which means the graph is stale for that node.
|
|
82
|
+
|
|
76
83
|
Synapse has no exact per-symbol call graph — a node's answer is a concept-level summary, not a
|
|
77
84
|
parse. This matters more here than it would for a tool that does have one: short, reused names
|
|
78
85
|
(common in languages that don't require import qualification for same-package references) can't
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: synapse-vault
|
|
3
|
-
description: Synapse Vault is durable memory
|
|
3
|
+
description: Synapse Vault is durable memory; only its Index.md is auto-injected. Load before answering from your own reasoning about tooling, a past decision, a convention or a gotcha a previous session may have recorded, and before creating or editing any vault note.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Synapse Vault: search it first, and do not destroy it
|