blun-king-cli 9.1.578 → 9.1.580
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
## 9.1.580 - 2026-09-08
|
|
2
|
+
|
|
3
|
+
- Research collections reject impossible calendar dates and unparseable date-time
|
|
4
|
+
suffixes in optional historical source metadata before saving a new report.
|
|
5
|
+
- Recall skips legacy snapshots containing invalid source dates and reports a
|
|
6
|
+
diagnostic without rewriting or deleting them. Separate valid snapshots remain
|
|
7
|
+
searchable; valid date strings keep their original offset and precision.
|
|
8
|
+
- Includes the 9.1.579 research ordering and earlier Telegram repairs unchanged.
|
|
9
|
+
This release does not change model latency or incoming message addressing.
|
|
10
|
+
|
|
11
|
+
## 9.1.579 - Research capture ordering
|
|
12
|
+
|
|
13
|
+
- Saved research passages with equal relevance are ordered by their actual UTC retrieval time, including mixed second and millisecond timestamp formats.
|
|
14
|
+
- Duplicate passages retain the newest capture's provenance. Equal instants retain the existing stable order; relevance still takes priority over time.
|
|
15
|
+
- Existing snapshots are not rewritten or called fresh. This is a local research-recall correction, not a search ranking, model latency or Telegram routing change.
|
|
16
|
+
- Includes the 9.1.578 Telegram reply repair and bounded thinking-only retry unchanged.
|
|
17
|
+
|
|
1
18
|
## 9.1.578 - 2026-09-08
|
|
2
19
|
|
|
3
20
|
- Bound thinking-only recovery to one additional attempt per step. A second thinking-only timeout stops that step instead of repeatedly issuing the same request. The chosen reasoning effort and existing timeout remain unchanged; this is not a promise of faster first-token response times.
|
package/package.json
CHANGED
|
@@ -79,8 +79,12 @@ function normalizeReport(report) {
|
|
|
79
79
|
passages++;
|
|
80
80
|
return { startOffset: entry.startOffset, endOffset: entry.endOffset, text: entry.text, textSha256: entry.textSha256 };
|
|
81
81
|
});
|
|
82
|
+
// Check the written calendar day, not the UTC day shifted by a time-zone offset.
|
|
82
83
|
ensure(source.sourceDate === undefined || source.sourceDate === null
|
|
83
|
-
|| typeof source.sourceDate === 'string' && /^\d{4}-\d{2}-\d{2}(?:T[^\s]{1,40})?$/.test(source.sourceDate)
|
|
84
|
+
|| typeof source.sourceDate === 'string' && /^\d{4}-\d{2}-\d{2}(?:T[^\s]{1,40})?$/.test(source.sourceDate)
|
|
85
|
+
&& Number.isFinite(Date.parse(source.sourceDate))
|
|
86
|
+
&& new Date(source.sourceDate.slice(0, 10) + 'T00:00:00Z').toISOString().slice(0, 10)
|
|
87
|
+
=== source.sourceDate.slice(0, 10), 'report-source-date');
|
|
84
88
|
return { id: source.id, url: source.url, retrievedAt: source.retrievedAt,
|
|
85
89
|
sourceDate: source.sourceDate || null, contentSha256: source.contentSha256, status: source.status,
|
|
86
90
|
totalChars: entries.length ? source.totalChars : null, passages: normalized };
|
|
@@ -209,7 +213,7 @@ function query({ home, project, query: question, limit = 5, maxChars = 8000, off
|
|
|
209
213
|
output.diagnostics = [...new Set(output.diagnostics)];
|
|
210
214
|
if (output.diagnostics.length) output.availability = 'partial';
|
|
211
215
|
const seen = new Set();
|
|
212
|
-
for (const match of found.sort((a, b) => b.rank - a.rank || b.retrievedAt.
|
|
216
|
+
for (const match of found.sort((a, b) => b.rank - a.rank || Date.parse(b.retrievedAt) - Date.parse(a.retrievedAt))) {
|
|
213
217
|
const key = revisionKey(match) + '\0' + match.textSha256;
|
|
214
218
|
if (seen.has(key)) continue;
|
|
215
219
|
seen.add(key);
|