sticky-note-cli 2.6.2 → 2.6.4
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/package.json
CHANGED
|
@@ -164,6 +164,22 @@ after. A raw `git checkout` or `git switch` will fail if sticky-note
|
|
|
164
164
|
files have uncommitted changes. The alias `git sw <branch>` also works
|
|
165
165
|
if set up by `npx sticky-note init`.
|
|
166
166
|
|
|
167
|
+
### ⚠️ Overlap warnings (CRITICAL — always surface these)
|
|
168
|
+
|
|
169
|
+
Sticky-note hooks detect when your files overlap with other teammates'
|
|
170
|
+
open or stuck threads. When you see `[STICKY-NOTE] ⚠️ OVERLAP DETECTED`
|
|
171
|
+
in your injected context, you **MUST** immediately tell the user:
|
|
172
|
+
|
|
173
|
+
1. Which teammates are working on overlapping files
|
|
174
|
+
2. What they're working on (the thread narrative)
|
|
175
|
+
3. Whether they're stuck (and what failed)
|
|
176
|
+
4. How to coordinate (resume command)
|
|
177
|
+
|
|
178
|
+
**Do NOT silently absorb this context.** The overlap warning exists to
|
|
179
|
+
prevent two people from wasting hours on the same problem. Surface it
|
|
180
|
+
BEFORE doing any other work, even if the user asked you to do something
|
|
181
|
+
else first.
|
|
182
|
+
|
|
167
183
|
### `[STICKY-NOTE]` tags
|
|
168
184
|
|
|
169
185
|
All sticky-note hooks prefix their output with `[STICKY-NOTE]`. When you
|
|
@@ -150,7 +150,8 @@ function detectAndFormatOverlaps(threads, currentUser) {
|
|
|
150
150
|
});
|
|
151
151
|
|
|
152
152
|
const lines = [
|
|
153
|
-
"## [STICKY-NOTE] ⚠️ OVERLAP DETECTED\n",
|
|
153
|
+
"## [STICKY-NOTE] ⚠️ OVERLAP DETECTED — TELL THE USER IMMEDIATELY\n",
|
|
154
|
+
"**IMPORTANT: You MUST surface this warning to the user before doing anything else.**\n",
|
|
154
155
|
"Someone else is working on files you're touching:\n",
|
|
155
156
|
];
|
|
156
157
|
for (const { thread, overlap } of warnings) {
|
|
@@ -354,7 +354,8 @@ function formatOverlapWarnings(threads, currentUser, memory) {
|
|
|
354
354
|
if (warnings.length === 0 && claims.length === 0) return "";
|
|
355
355
|
|
|
356
356
|
const lines = [
|
|
357
|
-
"## [STICKY-NOTE] ⚠️ OVERLAP DETECTED\n",
|
|
357
|
+
"## [STICKY-NOTE] ⚠️ OVERLAP DETECTED — TELL THE USER IMMEDIATELY\n",
|
|
358
|
+
"**IMPORTANT: You MUST surface this warning to the user before doing anything else.**\n",
|
|
358
359
|
"Someone else is working on files you're touching:\n",
|
|
359
360
|
];
|
|
360
361
|
|
|
@@ -484,9 +485,13 @@ function main() {
|
|
|
484
485
|
memory.threads || [], getUser(), memory
|
|
485
486
|
);
|
|
486
487
|
|
|
487
|
-
// V2.5: Mark eagerly-injected stuck threads so PreToolUse won't re-inject
|
|
488
|
-
for
|
|
489
|
-
|
|
488
|
+
// V2.5: Mark eagerly-injected stuck threads so PreToolUse won't re-inject.
|
|
489
|
+
// Skip for Copilot CLI — its sessionStart output is not surfaced to the AI,
|
|
490
|
+
// so marking threads as injected would prevent inject-context from delivering them.
|
|
491
|
+
if (!_isCopilotCli()) {
|
|
492
|
+
for (const threadId of threadResult.threadIds) {
|
|
493
|
+
markThreadInjected(threadId, sessionId);
|
|
494
|
+
}
|
|
490
495
|
}
|
|
491
496
|
|
|
492
497
|
appendAuditLine({
|