v1.7.0
Immutable
release. Only release title and notes can be modified.
Added
agent compactkeeps the synthesized file under a byte budget
(AGENT_SYNC_BUDGET, default 150000, or--budget). The deterministic
merge re-imports every memory store verbatim on every sync, so a file that
started at 900 curated lines had reached 4,900 with 82% of it raw imports,
and the curated part alone stood at 195 KB against a 150 KB ceiling. When
over budget, compact promotes each raw imported section into curated notes
and archives its store files to~/.config/agent-sync/archive/, so the
next sync has nothing to re-import; then it rewrites every curated section
of 2 KB or more shorter with the model, one section at a time. A rewrite
is refused and the section kept unless it starts with the same heading, is
at least a quarter of the original, and still contains every backtick
span, URL and letter-and-digit token the original had. The command exits at
once while the file is within budget, so it is cheap to schedule, and it
rejects--synthesizer deterministicbecause a merge cannot summarize. A
rewrite that drops identifiers gets one more attempt that names exactly what
it lost; a second drop keeps the section as it was. By default a rewrite may
forget how a lesson was learned, items marked settled, refuted, muted or
parked, one-off references (commit shas, PR numbers, run ids, past
versions) and anything else of low value, while every real URL, hostname,
environment variable and long id must survive (paths, commands and code
words are asked for but may go with a story the rewrite forgets, which is
where they mostly sat);--keep-allforbids forgetting and
protects every backtick span and bare letter-and-digit token. Four strict
passes on a 195 KB file stalled at 164 KB because the text had reached the
floor that keeping every token allows.syncreports the file's size against the budget after every run;
statusanddoctorfail while it is over budget.- The whole-document semantic synthesis is now held to the same identifier
guard: a merge that no longer contains every backtick span, URL and
letter-and-digit token of the document is refused and the deterministic
merge kept. The size floor alone let a merge through that had summarised
away 919 of a 195 KB document's 1,116 identifiers while keeping 43% of its
lines. The merge prompt also now asks for identifiers to survive verbatim.
The guard was falsified against a real run: a section without a URL was
unguarded because the script'sset -eaborted the extractor at the URL
grep, and a two-line backtick span produced a phantom identifier; both are
pinned by tests. agent hooks launchdprints a macOS LaunchAgent that runsagent compact
daily; the cron fallback gains a weekly compact line.
Changes since v1.6.2
- feat: agent compact keeps the synthesized file under a byte budget (#24) (dd3f398)
- Drop the showcase-video config (#23) (5067932)
11 files changed, 1154 insertions(+), 23 deletions(-)
Full diff: v1.6.2...v1.7.0