mirror of
https://github.com/samvallad33/vestige.git
synced 2026-06-08 20:25:16 +02:00
The public JSON schema in schema() declares `in_minutes` and `file_pattern` in snake_case, but TriggerSpec uses `#[serde(rename_all = "camelCase")]` which makes serde expect `inMinutes` / `filePattern`. Snake_case inputs are silently dropped to None, so time-based intentions with `in_minutes` never fire (triggerAt becomes null) and file_pattern-only context intentions never match. Added `#[serde(alias = ...)]` so both naming conventions deserialize correctly — purely additive, existing camelCase callers unaffected. Two regression tests added, verified to FAIL without the aliases (negative control confirmed the snake_case duration test sees `triggerAt: null` and the file_pattern test sees an empty `triggered` array). Both pass with the fix. Full crate suite: 408/408 passing. Related to #25 (Bug #8 was half-fixed — check-side re-derivation works, but the set-side was still dropping the value before it could be persisted). |
||
|---|---|---|
| .. | ||
| vestige-core | ||
| vestige-mcp | ||