mirror of
https://github.com/samvallad33/vestige.git
synced 2026-04-25 00:36:22 +02:00
Both parameters were advertised in the MCP tool schemas since v1.7+ but
were silently ignored at runtime — a schema-contract violation. Any
caller that set them got unfiltered results with no error or warning,
which is the worst possible failure mode for a public tool surface.
changelog.rs
- Parse `start` / `end` as ISO-8601/RFC-3339 timestamps; return an
explicit error on malformed input (previously: silent drop).
- In system-wide mode, over-fetch 4× limit when a time window is set,
then apply an inclusive [start, end] filter in Rust before the
sort+truncate. SQL-level filtering is a v2.1+ optimisation.
- Response JSON gains a `filter` field echoing the applied bounds so
callers can confirm the window was honored.
- Per-memory mode still ignores the window (semantically meaningless
when scoped to one memory's transition history).
intention_unified.rs
- `execute_check`: when `include_snoozed=true`, fold snoozed
intentions back into the check pool so their time/context triggers
can wake them when a matching condition appears. Previously
snoozed intentions were invisible to check regardless of the arg.
- Deduplicates defensively via a HashSet on intention.id in case
storage ever returns overlap.
Tests: 9 changelog + 37 intention_unified tests continue to pass.
Full vestige-mcp lib suite 419 passing, 0 failures.
|
||
|---|---|---|
| .. | ||
| vestige-core | ||
| vestige-mcp | ||