pi-lossless 0.1.1 → 0.1.3
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 +18 -0
- package/README.md +5 -1
- package/dist/index.mjs +2680 -1606
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -4
- package/skills/pi-lossless/SKILL.md +84 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# pi-lossless
|
|
2
2
|
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 470a7b7: Verify file bytes and sha256 against the linked message text before inserting file rows on import. A repeated entry id with different text, or a file row whose text differs from the stored message, also refuses the import without writing. Existing rows stay untouched.
|
|
8
|
+
- 470a7b7: Signal a watermark miss on the ingest path. A full rescan now writes one `ingest-rescan` metric row and, in interactive sessions, one UI warning. Empty entries stay silent and ingest behavior is unchanged.
|
|
9
|
+
- 470a7b7: Add a mechanical tier for noisy tools. Name tools in `mechanicalTools` in summarizer-config, `/lcm` config, or the OpenCode plugin options. Their spans compact into deterministic `mechanical` leaves with zero summarizer spend at compaction time. Every message stays stored verbatim and covered, so the integrity coverage check passes, and heal re-derives a skipped leaf from provenance on demand. There is no ingest filtering.
|
|
10
|
+
- 470a7b7: Report orphan sidecars in doctor. `integritySnapshot` now lists sidecar files and stale `wal` and `shm` files with no live session (`.sqlite` by default, `.db` for Pi). `checkIntegrity` reports them as a read-only `orphan-sidecar` finding through `lcm doctor` and the diagnose bundle. Report only. Deletion stays manual.
|
|
11
|
+
- 470a7b7: Upgrade recall search. `lcm_grep` takes `role`, `date_start`/`date_end`, and `tool_name` filters. Role and time are SQL predicates on the stored columns with a covering index. Tool scope is an FTS rewrite against `[tool:Name]` markers with no new table or index. `lcm_expand` takes an `anchor` entry id that centers the listing window with edge clamping. The recall manifest and the retrieval brief order by stop-word stripped query-word overlap over summary headers. A read-only files view lists each linked file once with an incomplete-coverage flag and a `large-inline` mark. No migration and no new writer.
|
|
12
|
+
- 470a7b7: Add a read-only static sidecar dump. `/lcm dump` and `/lossless-dump` open the session sidecar `queryOnly` and reuse the recall views and metric rows. The dump redacts displayed seams, labels removed rows, and reports old generations as named skips. Output is capped at 16 KB.
|
|
13
|
+
- 0c70748: Ask providers for a whole number of tokens. A leaf target was half of the calibrated chunk budget, so it was fractional whenever that budget was odd, and a provider that validates `max_tokens` as an unsigned integer rejected the call with a 422. The ladder then stored the deterministic truncate: in one week of Pi sessions that was 1,315 of 5,358 summaries, with 540 rejected calls naming values such as `max_tokens: 5543.5`. The request builder now rounds to nearest, never below one, and treats a non-finite budget as that floor, before the reasoning headroom is added. Integer budgets produce the same request as before. No config key, migration or metric row changes.
|
|
14
|
+
|
|
15
|
+
## 0.1.2
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- de419eb: Ship a versioned Intent skill with each package (`skills/<name>/SKILL.md` in the published tarball): install, command and recall vocabulary, config essentials, and common mistakes, stamped with the package version on release. Adds `skills` to each package's published files and validates skills on publish and in CI.
|
|
20
|
+
|
|
3
21
|
## 0.1.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -32,6 +32,8 @@ once context crosses the soft threshold (default: 70% of the model's window).
|
|
|
32
32
|
/lcm backup # copy the live store to a timestamped file
|
|
33
33
|
/lcm export # write the full store as JSONL (verbatim; see Security notes)
|
|
34
34
|
/lcm report # metrics summary for the current session
|
|
35
|
+
/lcm dump # read-only dump of the session sidecar; add --include-removed
|
|
36
|
+
# to keep removed-branch rows, --save <path> to write mode 0600
|
|
35
37
|
/lcm doctor # diagnostics: store checks, thresholds, summarizer chain,
|
|
36
38
|
# footprint; add --repair to rebuild the index and drop the rows
|
|
37
39
|
# nothing can reach
|
|
@@ -61,7 +63,9 @@ a call, or a span needs, because an index cannot hold punctuation. A pattern is
|
|
|
61
63
|
case-insensitive unless `case_sensitive` is set. Both paths page: hits come 20
|
|
62
64
|
at a time, `offset` reaches the next page, and the query path reports its total
|
|
63
65
|
while the pattern path says whether more matches exist rather than claiming a
|
|
64
|
-
count it did not compute.
|
|
66
|
+
count it did not compute. Four filters narrow the search: `role` keeps
|
|
67
|
+
only rows stored with that role, `date_start` and `date_end` bound rows by
|
|
68
|
+
timestamp, and `tool_name` keeps only tool-result rows for that tool.
|
|
65
69
|
|
|
66
70
|
All three take an address when you have one, so a known id does not have to be
|
|
67
71
|
searched for: `lcm_grep` accepts `summary_id` to search inside one node, and
|