mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
df3eb3208c
Resolves the 8 self-review findings on PR #865: session-start.sh: - Wire recallTimeframe into a new "Recent sessions" query (--after_date) — it was parsed but unused after the Phase 4 rewrite. The brief now surfaces recent session checkpoints (the resume cursor), which is the one query the recency window legitimately applies to. (#1) - Guard secondaryProjects/teamProjects JSON types — a string value was iterated character-by-character into bogus per-char queries. (#3) - A configured-but-unreachable/misnamed primaryProject now emits a one-line "couldn't read" signal instead of a silent blank brief. (#7) pre-compact.sh: - Filter transcript turns by the `isMeta` and `toolUseResult` flags instead of a `text.startswith("<")` heuristic. This stops dropping legitimate user messages that start with "<" (#4) and stops capturing tool-result/meta frames as human turns (#8) — verified against a real transcript (25 human turns cleanly separated from 8 meta + 288 tool-result frames). - Title now uses second precision so rapid same-minute compactions don't collide and silently drop/overwrite a checkpoint; removed the unused stamp/slug. (#2) - Empty-checkpoint guard now requires at least one real user turn, not just any turn, so an assistant-only transcript can't produce a dangling-title note. (#5) validate_skills.py: - parse_frontmatter now skips indented lines, capturing only top-level keys, so a schema note's nested schema:/settings: children can't overwrite a top-level type/entity via last-write-wins. Documented its single-line-only limitation. (#6) All verified end-to-end; `just package-check-claude-code` and `package-check-skills` pass; ruff clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: phernandez <paul@basicmachines.co>