|
1 | 1 | # Mnemos — Project Status |
2 | 2 |
|
3 | | -**Last updated:** 2026-04-28 — v1.2.0 (locale-aware output) shipped to main. v1.2.1 (refine-pipeline race-condition hot-fix) implementation complete on local branch `feature/v1.2.1-refine-lock` (3 commits, +14 tests, 543 total pass). Both ship same day: v1.2.0 surfaced a pre-existing v1.1.0 race during F6.3 smoke; v1.2.1 fixes it without touching the architecture (all three coexisting refine hooks stay in place, made safe via per-JSONL filelock + ledger recheck-after-claim). Spec: [`docs/specs/2026-04-28-v1.2.1-duplicate-refine-race.md`](docs/specs/2026-04-28-v1.2.1-duplicate-refine-race.md) — revised mid-implementation when initial misdiagnosis ("remove legacy hook") was caught and corrected. v1.1.0 GitHub release still live on 2026-04-27 ([tag](https://github.com/mnemos-dev/mnemos/releases/tag/v1.1.0)) — PyPI publish + tag still 🟡 pending user go-ahead. 🟡 **Pending user actions:** v1.2.1 merge to main, `mnemos refine-ledger --normalize --validate-paths` one-shot cleanup on kasamd, v1.2.0 + v1.2.1 PyPI publish (single-shot), identity bootstrap on kasamd. |
| 3 | +**Last updated:** 2026-04-28 — v1.2.0 (locale-aware output) + v1.2.1 (refine-pipeline race + identity isolation hot-fix) both shipped to main. v1.2.1 took on extra scope after empirical bootstrap pilot surfaced three more bugs (ANTHROPIC_API_KEY env strip missing, parent-cwd + SessionStart hook contamination of `claude --print` subprocess, OUTPUT-section prompt too lax). Identity bootstrap empirically validated end-to-end: pilot on 10 most-recent Sessions then full run on 90 Sessions, both produced clean seven-section locale-aware profiles (TR headers + TR body since kasamd is Turkish-dominant). Total commits ahead of origin/main: 4 (`feat/identity-bootstrap-limit` branch, all merged to local main). Test suite **545 pass** (up from 529 baseline; +16 new tests across refine_lock, refine-ledger CLI, identity --limit, env-strip + cwd-isolation regressions). v1.1.0 GitHub release still live on 2026-04-27 ([tag](https://github.com/mnemos-dev/mnemos/releases/tag/v1.1.0)) — PyPI publish + tag still 🟡 pending user go-ahead. 🟡 **Pending user actions:** push commits to origin, v1.2.0 + v1.2.1 PyPI publish, v1.1.0 PyPI publish (still pending from yesterday), test infra cleanup (`~/.claude/test-session-end/`). |
4 | 4 | **Stable PyPI version:** `v0.3.3` (v0.x atomic-paradigm — still default `pip install mnemos-dev` until v1.1.0 PyPI upload) |
5 | 5 | **Alpha:** `v1.0.0a1` — tag pushed to GitHub, never uploaded to PyPI (superseded by v1.1.0) |
6 | 6 | **Released:** `v1.1.0` — SessionEnd-driven memory architecture, GitHub release live, PyPI pending |
7 | 7 | **Shipped to main:** `v1.2.0` — Locale-aware output (EN code+docs, runtime output matches dominant Session language) |
8 | | -**In progress:** `v1.2.1` — Refine-pipeline race-condition hot-fix (per-JSONL filelock + ledger normalize CLI), local branch `feature/v1.2.1-refine-lock` ready for merge |
| 8 | +**Shipped to main:** `v1.2.1` — Refine-pipeline race fix (per-JSONL filelock + ledger normalize CLI) + identity isolation fix (env-strip + neutral cwd + hook re-entry guard) + `bootstrap --limit N` pilot mode |
9 | 9 | **Canonical plan:** [`docs/ROADMAP.md`](docs/ROADMAP.md) |
10 | 10 | **v1.0 spec:** [`docs/specs/2026-04-25-v1.0-narrative-pivot-design.md`](docs/specs/2026-04-25-v1.0-narrative-pivot-design.md) · **v1.0 plan:** [`docs/plans/2026-04-25-v1.0-narrative-pivot.md`](docs/plans/2026-04-25-v1.0-narrative-pivot.md) |
11 | 11 | **v1.1 spec:** [`docs/specs/2026-04-26-v1.1.0-sessionend-driven-memory-design.md`](docs/specs/2026-04-26-v1.1.0-sessionend-driven-memory-design.md) · **v1.1 plan:** [`docs/plans/2026-04-26-v1.1.0-sessionend-driven-memory.md`](docs/plans/2026-04-26-v1.1.0-sessionend-driven-memory.md) |
@@ -171,40 +171,46 @@ For early adopters: `pip install git+https://github.com/mnemos-dev/mnemos@v1.0.0 |
171 | 171 |
|
172 | 172 | 🟡 **Pending user actions:** |
173 | 173 |
|
174 | | -1. **Merge `feature/v1.2.1-refine-lock` → main** — 3 commits ahead |
175 | | - of main, fast-forward merge, push. |
176 | | -2. **One-shot ledger cleanup** — once v1.2.1 is in your editable |
177 | | - install: |
| 174 | +1. **Push commits to origin** — local main is 4 commits ahead of |
| 175 | + `origin/main` (`b7ee92f` --limit, `3774d05` env strip, |
| 176 | + `89f120b` neutral cwd + hook isolation, plus this docs update): |
178 | 177 | ```bash |
179 | | - mnemos refine-ledger --normalize --validate-paths |
| 178 | + git push origin main |
180 | 179 | ``` |
181 | | - Reads `~/.claude/skills/mnemos-refine-transcripts/state/processed.tsv`, |
182 | | - drops malformed lines (TAB-stripped by pre-fix concurrent appends), |
183 | | - dedups same-path entries (OK supersedes SKIP), drops entries |
184 | | - whose JSONL no longer exists. Idempotent. The lock prevents new |
185 | | - corruption from this point on, but historical corruption needs |
186 | | - this one-time pass. |
187 | | -3. **PyPI v1.2.0 + v1.2.1 publish** (single-shot, both shipped same |
188 | | - day): |
| 180 | +2. **PyPI v1.2.0 + v1.2.1 publish** (single-shot, both shipped same |
| 181 | + day; v1.2.1 supersedes the v1.2.0 wheel that was never built): |
189 | 182 | ```bash |
| 183 | + cd C:/Projeler/mnemos-v1.1 |
190 | 184 | python -m build |
191 | 185 | python -m twine upload dist/mnemos_dev-1.2.1* |
192 | 186 | git tag v1.2.0 -a -m "v1.2.0 — Locale-Aware Output" |
193 | | - git tag v1.2.1 -a -m "v1.2.1 — Refine-pipeline race fix" |
| 187 | + git tag v1.2.1 -a -m "v1.2.1 — Refine race + identity isolation fix" |
194 | 188 | git push origin v1.2.0 v1.2.1 |
195 | | - gh release create v1.2.1 --title "v1.2.1 — Refine-pipeline race fix" --notes-file CHANGELOG.md |
| 189 | + gh release create v1.2.1 --title "v1.2.1 — Refine race + identity isolation fix" --notes-file CHANGELOG.md |
196 | 190 | ``` |
197 | | - v1.2.0 wheel/sdist were never built (we went straight from |
198 | | - v1.2.0 implementation to v1.2.1 in one session); v1.2.1 ships |
199 | | - both fixes in one PyPI artifact, with v1.2.0's tag preserved |
200 | | - for archaeology. |
201 | | -4. **v1.1.0 PyPI publish** (still pending): |
| 191 | +3. **v1.1.0 PyPI publish** (still pending from yesterday): |
202 | 192 | `python -m twine upload C:/Projeler/mnemos-v1.1/dist/mnemos_dev-1.1.0*` |
203 | | -5. **Identity bootstrap** (still pending): |
204 | | - `mnemos identity bootstrap --vault "C:/Users/tugrademirors/OneDrive/Masaüstü/kasamd"` — bootstrap eligibility gate (25%) may need `--force`. |
205 | | -6. **Test infra cleanup** — `~/.claude/test-session-end/` and |
206 | | - `mnemos-end-smoke-test` SessionEnd entry in `settings.json`. Run |
207 | | - `mnemos install-end-hook --uninstall` to clean. |
| 193 | +4. **Test infra cleanup** — `~/.claude/test-session-end/` directory |
| 194 | + leftover from v1.1 design phase. Settings.json's SessionEnd |
| 195 | + already only has the canonical `mnemos-session-end` entry, so |
| 196 | + no settings.json edit needed; just remove the leftover directory: |
| 197 | + ```bash |
| 198 | + rm -rf ~/.claude/test-session-end |
| 199 | + ``` |
| 200 | + |
| 201 | +### ✅ Completed today (2026-04-28) |
| 202 | + |
| 203 | +- v1.2.0 locale-aware output: shipped + merged + pushed |
| 204 | +- v1.2.1 refine-pipeline race fix: shipped + merged + pushed |
| 205 | +- v1.2.1 identity isolation follow-up: 3 commits on local main |
| 206 | + (push pending — see #1 above) |
| 207 | +- `mnemos refine-ledger --normalize --validate-paths` one-shot |
| 208 | + cleanup ran on kasamd |
| 209 | +- `/exit` empirical test passed — single Session/.md created, no |
| 210 | + duplicate |
| 211 | +- `mnemos identity bootstrap --force` ran successfully on kasamd |
| 212 | + (90 sessions → 85 used → 6 projects, 4 people, locale-aware TR |
| 213 | + headers + body, six revised-decisions in chronological order) |
208 | 214 |
|
209 | 215 | --- |
210 | 216 |
|
|
0 commit comments