Extract schema DDL into scripts/schema.sql. Add content_type and is_meta
columns to messages for transcript control-plane filtering. Introduce
FTS5-backed memory recall with safe tokenization, memory soft-delete via
forget() through the renamed --attune runtime, and anchors on memory
records. Expand query helpers (includeMeta, thread opts, overview
project-path awareness). Add per-card recap retrieval and writing
references under references/recap/.
Memory layer is now English-indexed: memories() query terms and
remember() summaries must be English. Adds a runtime assertion that
rejects CJK text in both paths, guiding the agent to translate
non-English user requests before querying or writing memories.
Ensures consistent retrieval regardless of conversation language.
Make overview() + memories() + search() the standard first pass for
broad retrieval tasks, with sql() positioned as an escalation path for
exact joins/aggregations. Add a Default First Pass section to SKILL.md,
a copyable first-pass pattern to query-patterns.md, and update
retrieval-semantics.md to reinforce the helper-before-sql principle.
The old slug-to-path conversion (replace hyphens with slashes) was
lossy and wrong for paths containing hyphens. Now infers project_path
from the most-frequent observed cwd across session messages, falling
back to slug decoding only when no cwd data exists. Adds
refreshSessionProjectPaths() to backfill existing sessions on rebuild.
Resolves current project from cwd, lists all known projects with session
and memory counts, and returns the current project's recent sessions and
memories in one call. Enables the agent to orient itself at the start of
a retrieval without multiple exploratory queries.
Add a memories table (survives index rebuilds) for agent-written
conclusions with provenance (session, message range, project). The agent
writes markdown files via Write tool (user-approved), then registers
them via a --remember CodeAct script with remember(). Recall via
memories() in --query scripts, filtered by project/session/time.
Separates query (read-only, assertReadOnlySql) from remember (write)
execution contexts in runtime.mjs.
semantics (context types, ordering, project scopes) out of pitfalls.md
into a new retrieval-semantics.md. Pitfalls.md becomes a compact debug
checklist: missing columns, FTS errors, over-large output, empty results.
SKILL.md query routing updated to point at the three reference tiers.
Teach the agent to derive second-pass filters from first-pass evidence
instead of pulling large message windows. Add the pattern and a pitfall
warning against defaulting to LIMIT 25 transcript browsing.
Teach the agent to keep intermediate retrieval inside the query script
and return compact evidence in a single turn, instead of spending
multiple conversation rounds showing raw results. Add the pattern to
query-patterns.md and the rationale to pitfalls.md.
Split the monolithic skill prompt into three tiers:
- Core API (search/context/sql) stays in the first prompt
- Structured helpers listed as one-liners with filter signatures
- Detailed patterns and pitfalls extracted to references/
Add references/query-patterns.md (copyable CodeAct recipes) and
references/pitfalls.md (scope, FTS, ordering, compactness traps).
Clarify project scope semantics (slug vs path vs cwd) throughout.
Add ORDER BY timestamp DESC to failures() for newest-first default.
lightweight workflowTree, build debounce, minor fixes
- Index phase, label, model, state, duration, tokens per workflow agent
- Index duration, total_tokens, status, name per workflow run
- workflowTree returns parsed result + agent summaries instead of
dumping all messages
- 30s debounce on buildIndex to avoid repeated directory scans
- Fix broken BASH_EXIT_PAT (SQLite LIKE has no character classes)
- Fix SKILL.md step numbering, document FTS5 hyphen limitation
Add sessions() as first-class entry point for session discovery with
project/time/branch filters. Extend summaries, workflows, failures,
subagents, fileHistory with the same opts vocabulary that search()
already had — no more pulling full datasets to filter client-side.