@imunitic/synapse 0.13.3 → 0.13.5

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.
@@ -205,12 +205,24 @@ Discussing | Ready | Reference
205
205
 
206
206
  ## Open Questions
207
207
  - {Anything deferred or unresolved}
208
+
209
+ ## References
210
+ - [[Wikilink]] mentioned above
208
211
  ```
209
212
 
210
- `### Alternatives considered` and `## Open Questions` are both optional per the schema — omit
211
- either section entirely rather than leaving it as an empty heading, and never write it as `##
212
- Open Questions (optional)`: the schema and `/synapse-status`'s own query both match this exact
213
- heading text, and a suffixed one is invisible to both.
213
+ `### Alternatives considered`, `## Open Questions`, and `## References` are all optional per the
214
+ schema — omit any of them entirely rather than leaving it as an empty heading, and never write one
215
+ as `## Open Questions (optional)`: the schema and `/synapse-status`'s own query both match this
216
+ exact heading text, and a suffixed one is invisible to both.
217
+
218
+ `## References` is a plain list of every `[[wikilink]]` already used somewhere else in the body —
219
+ not a new link, a mirror of ones already there, so a reader can see everything the note points to
220
+ in one place instead of re-reading 500+ words of prose to find one. Add to it every time a new
221
+ wikilink is added to the body, the same "touch it every time" discipline `## Open Questions`
222
+ already follows above, just additive instead of pruned. Named `References` rather than
223
+ `Links`/`Sources` specifically because the Synapse Graph node format already reserves `## Sources`/
224
+ `## Links` for something unrelated (source files, typed relations) in that other kind of note
225
+ sharing the same vault.
214
226
 
215
227
  Any string scalar that is all digits (e.g. a numeric-looking title) must be quoted: an
216
228
  unquoted all-digit value is parsed as an integer, which fails a `type: string` schema
@@ -196,8 +196,17 @@ or supplied directly by a caller like `/synapse-task-note`):
196
196
  ## Summary
197
197
 
198
198
  {essential content}
199
+
200
+ ## References
201
+
202
+ - [[Wikilink]] mentioned above
199
203
  ```
200
204
 
205
+ `## References` is optional — omit it entirely on a note with no wikilinks yet rather than
206
+ leaving it as an empty heading. Add it (or add to it) the moment the note's first `[[wikilink]]`
207
+ is written, and keep it a plain mirror of every wikilink already used elsewhere in the body —
208
+ not a place to introduce a new one.
209
+
201
210
  **Task mode:**
202
211
  ```
203
212
  ---
@@ -83,10 +83,26 @@ duplicate that scaffolding here, just supply its inputs:
83
83
  - **Body:** the checklist from "Compiling the checklist" above, under the single top-level heading —
84
84
  exactly the structure `synapse-task`'s "Task file structure" requires (no `## Step` sub-headings).
85
85
  - **`## Notes` (pre-implementation):** populate per `synapse-task`'s own convention —
86
- - Design reference: `[[{design note title}]]`
87
86
  - Key constraints the implementor must not miss
88
87
  - Deliberate exclusions (from step 4 above) and why
89
88
 
89
+ No separate "Design reference" bullet here — `## Linking forward` below already puts that pointer
90
+ right after the task note's own title, not buried after the checklist.
91
+
92
+ ## Linking forward
93
+
94
+ Immediately after creation, patch the new task note: add `> Design note: [[{design note title}]]`
95
+ right after its own `# {title}` heading, before the lead description:
96
+
97
+ ```
98
+ printf '> Design note: [[%s]]\n\n' "{design note title}" | \
99
+ synapse vault-patch "{task note path}" --heading "{task note title}" --prepend
100
+ ```
101
+
102
+ The task note's mirror of `## Linking back` below — a compiled task's design is now visible in the
103
+ first line, the same way the design note's own compiled-task backlink already is, instead of
104
+ requiring a scroll past the whole checklist to find it.
105
+
90
106
  ## Linking back
91
107
 
92
108
  After creation, patch the design note: add `> Compiled task: [[{task note title}]]` near the top —
@@ -134,7 +150,8 @@ Claude: [reads designs/{project}/Rollup direct storage.md, Status: Ready]
134
150
  Project already known: {PROJECT} → {prefix}-005.
135
151
 
136
152
  Created: tasks/{project}/Rollup direct storage implementation.md (task_id: {prefix}-005)
137
- Linked back from designs/{project}/Rollup direct storage.md.
153
+ Linked forward to the design note, and linked back from
154
+ designs/{project}/Rollup direct storage.md.
138
155
 
139
156
  Status transitions happen automatically via the synapse-task skill once you start work.
140
157
  ```
@@ -212,12 +212,24 @@ Discussing | Ready | Reference
212
212
 
213
213
  ## Open Questions
214
214
  - {Anything deferred or unresolved}
215
+
216
+ ## References
217
+ - [[Wikilink]] mentioned above
215
218
  ```
216
219
 
217
- `### Alternatives considered` and `## Open Questions` are both optional per the schema — omit
218
- either section entirely rather than leaving it as an empty heading, and never write it as `##
219
- Open Questions (optional)`: the schema and `/synapse-status`'s own query both match this exact
220
- heading text, and a suffixed one is invisible to both.
220
+ `### Alternatives considered`, `## Open Questions`, and `## References` are all optional per the
221
+ schema — omit any of them entirely rather than leaving it as an empty heading, and never write one
222
+ as `## Open Questions (optional)`: the schema and `/synapse-status`'s own query both match this
223
+ exact heading text, and a suffixed one is invisible to both.
224
+
225
+ `## References` is a plain list of every `[[wikilink]]` already used somewhere else in the body —
226
+ not a new link, a mirror of ones already there, so a reader can see everything the note points to
227
+ in one place instead of re-reading 500+ words of prose to find one. Add to it every time a new
228
+ wikilink is added to the body, the same "touch it every time" discipline `## Open Questions`
229
+ already follows above, just additive instead of pruned. Named `References` rather than
230
+ `Links`/`Sources` specifically because the Synapse Graph node format already reserves `## Sources`/
231
+ `## Links` for something unrelated (source files, typed relations) in that other kind of note
232
+ sharing the same vault.
221
233
 
222
234
  Resolve tags through the `synapse-vault` skill's configured vocabulary procedure. Fetch machine
223
235
  local time once (`synapse now`) — never infer it — and use the exact same value for `created` and
@@ -214,8 +214,17 @@ or supplied directly by a caller like the synapse-task-note skill):
214
214
  ## Summary
215
215
 
216
216
  {essential content}
217
+
218
+ ## References
219
+
220
+ - [[Wikilink]] mentioned above
217
221
  ```
218
222
 
223
+ `## References` is optional — omit it entirely on a note with no wikilinks yet rather than
224
+ leaving it as an empty heading. Add it (or add to it) the moment the note's first `[[wikilink]]`
225
+ is written, and keep it a plain mirror of every wikilink already used elsewhere in the body —
226
+ not a place to introduce a new one.
227
+
219
228
  **Task mode:**
220
229
  ```
221
230
  ---
@@ -84,10 +84,26 @@ don't duplicate that scaffolding here, just supply its inputs:
84
84
  exactly the structure the synapse-task skill's "Task file structure" requires (no `## Step`
85
85
  sub-headings).
86
86
  - **`## Notes` (pre-implementation):** populate per the synapse-task skill's own convention —
87
- - Design reference: `[[{design note title}]]`
88
87
  - Key constraints the implementor must not miss
89
88
  - Deliberate exclusions (from step 4 above) and why
90
89
 
90
+ No separate "Design reference" bullet here — `## Linking forward` below already puts that pointer
91
+ right after the task note's own title, not buried after the checklist.
92
+
93
+ ## Linking forward
94
+
95
+ Immediately after creation, patch the new task note: add `> Design note: [[{design note title}]]`
96
+ right after its own `# {title}` heading, before the lead description:
97
+
98
+ ```
99
+ printf '> Design note: [[%s]]\n\n' "{design note title}" | \
100
+ synapse vault-patch "{task note path}" --heading "{task note title}" --prepend
101
+ ```
102
+
103
+ The task note's mirror of `## Linking back` below — a compiled task's design is now visible in the
104
+ first line, the same way the design note's own compiled-task backlink already is, instead of
105
+ requiring a scroll past the whole checklist to find it.
106
+
91
107
  ## Linking back
92
108
 
93
109
  After creation, patch the design note: add `> Compiled task: [[{task note title}]]` near the top —
@@ -135,7 +151,8 @@ Codex: [reads designs/{project}/Rollup direct storage.md, Status: Ready]
135
151
  Project already known: {PROJECT} → {prefix}-005.
136
152
 
137
153
  Created: tasks/{project}/Rollup direct storage implementation.md (task_id: {prefix}-005)
138
- Linked back from designs/{project}/Rollup direct storage.md.
154
+ Linked forward to the design note, and linked back from
155
+ designs/{project}/Rollup direct storage.md.
139
156
 
140
157
  Status transitions happen automatically via the synapse-task skill once you start work.
141
158
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imunitic/synapse",
3
- "version": "0.13.3",
3
+ "version": "0.13.5",
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.3",
27
- "@imunitic/synapse-linux-x64": "0.13.3",
28
- "@imunitic/synapse-linux-arm64": "0.13.3"
26
+ "@imunitic/synapse-darwin-arm64": "0.13.5",
27
+ "@imunitic/synapse-linux-x64": "0.13.5",
28
+ "@imunitic/synapse-linux-arm64": "0.13.5"
29
29
  },
30
30
  "license": "SEE LICENSE IN LICENSE"
31
31
  }
@@ -47,6 +47,7 @@ body:
47
47
  - type: blockquote
48
48
  required: false
49
49
  position: immediately_after_h1
50
+ marker: '> Compiled task:'
50
51
  pattern: '^> Compiled task: \[\[[^\]]+\]\]$'
51
52
  sections:
52
53
  - title: Status
@@ -76,6 +77,10 @@ body:
76
77
  level: 2
77
78
  required: false
78
79
  non_empty: true
80
+ - title: References
81
+ level: 2
82
+ required: false
83
+ non_empty: true
79
84
  section_order: relative
80
85
 
81
86
  checks:
@@ -110,7 +115,8 @@ lints:
110
115
  - no_hard_wrap:
111
116
  var: body.prose
112
117
  severity: warn
113
- - no_id_prefix_in_title:
114
- - var: frontmatter.title
115
- - var: frontmatter.note_id
118
+ - not:
119
+ starts_with:
120
+ - var: frontmatter.title
121
+ - var: frontmatter.note_id
116
122
  severity: warn
@@ -46,7 +46,7 @@ body:
46
46
  - title: Details
47
47
  level: 2
48
48
  required: false
49
- - title: Sources
49
+ - title: References
50
50
  level: 2
51
51
  required: false
52
52
  - title: Open Questions
@@ -47,6 +47,12 @@ body:
47
47
  required: true
48
48
  count: 1
49
49
  equals: frontmatter.title
50
+ preamble:
51
+ - type: blockquote
52
+ required: false
53
+ position: immediately_after_h1
54
+ marker: '> Design note:'
55
+ pattern: '^> Design note: \[\[[^\]]+\]\]$'
50
56
  lead:
51
57
  type: prose
52
58
  required: true
@@ -109,7 +115,8 @@ lints:
109
115
  - no_hard_wrap:
110
116
  var: body.prose
111
117
  severity: warn
112
- - no_id_prefix_in_title:
113
- - var: frontmatter.title
114
- - var: frontmatter.task_id
118
+ - not:
119
+ starts_with:
120
+ - var: frontmatter.title
121
+ - var: frontmatter.task_id
115
122
  severity: warn