Skip to content

feat(skill): add time filters and memory lifecycle commands - #138

Merged
yunze7373 merged 4 commits into
mainfrom
feat/skill-time-filters
Oct 17, 2026
Merged

yunze7373 merged 4 commits into
mainfrom
feat/skill-time-filters

Conversation

@yunze7373

@yunze7373 yunze7373 commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Summary

Completes the approved XMemo Skill 1.1.42 scope for time filters, relationship listing, and soft-delete restore.

Changes

  • Adds recall/search/recall-context time-filter aliases, validation, and request routing.
  • Adds relationships and restore commands for memories.
  • Extracts time-filter helpers into skills/xmemo/scripts/lib/time-filters.mjs.
  • Extracts relationships, forget, and restore handlers into skills/xmemo/scripts/commands/memory-lifecycle.mjs so every Skill script and reference stays within the 12,288-byte cap. Command bodies were moved without changes.

Verification

  • npm test: 664 passed, 0 failed, 0 skipped.
  • npm run lint: passed.
  • All Skill scripts and references are at or below 12,288 bytes; memory.mjs is 11,939 LF-normalized bytes.
  • Built @xmemo/skill@1.1.42; staged CLI help loaded, both new modules had source-matching SHA-256 hashes, and both appeared in npm pack --dry-run.
  • Release packaging workflow execution drill: 4/4 cases passed.
  • GitHub CI run 38964171685: 7/7 jobs passed across Node 20/22 on Ubuntu, Windows, and macOS plus the test job.
  • Isolated xmemo.dev live gate passed on the 1.1.42 candidate after human-approved device login. No token was printed; logout remotely revoked the token and removed its isolated credential file.
    • remember POST /v1/skill/operations: HTTP 200; row ID 3e8e4e73-2a61-4f83-8f96-6335e76ab8cc; logical memory_id 2d0a0e8d-73dc-402e-aab1-e764283a4685.
    • search GET /v1/memories/search, since 2026-10-17T04:03:14Z: HTTP 200; 1 match.
    • Future-window search, since 2030-01-01T00:00:00Z: HTTP 200; 0 matches.
    • relationships GET /v1/memories/{memory_id}/relationships: HTTP 200; 0 items.
    • Initial forget, restore, and read: HTTP 200 each; read returned the same active test memory.
    • Cleanup forget: HTTP 200; soft-deleted the test memory.
    • logout POST /v1/auth/token/revoke-self: HTTP 200; remote_revoked=true, local_file_removed=true.

Phase A boundary

This PR is review-ready work only. No merge, tag, or publish.

pc-gemini added 4 commits October 17, 2026 04:18
…-context

Add since, until, time_order, owner_timezone, reference_time to recall and search. Add time filters and hypothetical_answer to recall-context. Enforce client-side fail-closed RFC 3339, time_order, and until>since validation. Pass through arguments via formal and temporary credential channels. Update documentation, command usage, golden snapshots, and bump skill to 1.1.42.
Add restore --id <id> --confirm [--reason <text>] to skills/xmemo with mandatory client-side confirmation, 404/403 mapping, documentation, and tests.
@yunze7373 yunze7373 changed the title feat(skill): add time filter parameters to recall, search, and recall-context feat(skill): add time filters and memory lifecycle commands Oct 16, 2026
@yunze7373
yunze7373 merged commit 0bf585a into main Oct 17, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant