- en2ru.py: EN markdown -> Russian via Ollama ,
strips code-fence artifacts, prints jargon-review hints to stderr
- DOCSTRAT.md: rule — EN canonical source, RU for comprehension only,
never edit on drifted Russian (dedup/receive mistranslation guard)
- ROADMAP.ru.md: sample RU generated from EN source
- AGENTS.md: section 8 documenting the EN-first workflow
- memory_commit: closes the 'commit hole' — writes verified answers from
closed gaps back into atoms (mandatory dedup); leaves gap open if no
verified answer exists. Reads verified status from PostgreSQL (source of
truth), not the Qdrant projection.
- memory_stale: staleness guard with two signals — content-staleness
(re-fetch + LLM verdict, needs proxy for foreign sites) and age-staleness
(proxy-free fallback by pm_document.fetched_at, max_age_days).
- db: populate pm_document.fetched_at on upsert (freshness signal).
- docs: README/AGENTS/ARCHITECTURE/EXAMPLES updated (18 tools).
- self_improve.py: new module (227 lines).