diff --git a/docs/SESSION-2026-06-17-open-items.md b/docs/SESSION-2026-06-17-open-items.md index 7e223d3..1d0a8d7 100644 --- a/docs/SESSION-2026-06-17-open-items.md +++ b/docs/SESSION-2026-06-17-open-items.md @@ -17,23 +17,33 @@ DONE; R-E deferred). This file is only the **loose ends**. containing `\` or `~` — **8 labels fixed**, no re-embed. Verified **0 artifacts** remain. R-F fully complete. -## 3. Git — feature branches not merged to `main` -This session's work is on 5 branches off `audit/loop-1` (itself **18 commits ahead of -`main`**). No PRs opened. Merge decision + order pending: +## 3. ✅ READY TO MERGE — all branches integrated + validated +All five feature branches are merged (**zero conflicts**) into **`integration/roadmap`** +(off `audit/loop-1`) and validated green: **391 tests pass, ruff + ruff-format + mypy +clean, tree clean**. This is the single merge candidate for `main`. -| Branch | Contents | Commits ahead of main | -|---|---|---| -| `audit/loop-1` | base: DQ-1..DQ-5, **R-A** (GROBID backfill + native arm64 GROBID) | 18 | -| `feat/tex-ingest` | **R-C** (.tex section-aware ingest) + DQ-5 arXiv-id fix + gzip fallback | 22 | -| `feat/section-labels` | **R-F** (richer section labels) — **branched off `feat/tex-ingest`** | 25 | -| `feat/crossref-references` | **R-B** (Crossref refs) + a concurrent GROBID-on-demand tweak | 20 | -| `feat/graph-coverage-warning` | **R-D** (citing-coverage warning) | 19 | -| `chore/infra-ssh-stability` | infra TODO doc (#4) | 19 | +Contents (DQ-1..DQ-5 + R-A..R-F + infra docs): +| Source branch | Contents | +|---|---| +| `audit/loop-1` (base) | DQ-1..DQ-5, **R-A** (GROBID backfill + native arm64 GROBID), this notice | +| `feat/section-labels` (incl. `feat/tex-ingest`) | **R-C** (.tex ingest) + DQ-5 arXiv-id fix + gzip fallback + **R-F** (section labels) | +| `feat/crossref-references` | **R-B** (Crossref refs) + GROBID-on-demand tweak | +| `feat/graph-coverage-warning` | **R-D** (citing-coverage warning) | +| `chore/infra-ssh-stability` | infra TODO (#4) | -- **Order matters:** `feat/section-labels` contains `feat/tex-ingest`, so merge - `feat/tex-ingest` first (or merge section-labels alone, which brings both). -- All branches share the `audit/loop-1` base, so merging any one brings that whole line - to `main` — decide whether to land `audit/loop-1` → `main` as the trunk first. +**To land on `main`** (user-triggered): +``` +git checkout main && git merge --no-ff integration/roadmap +``` +…or open a PR `integration/roadmap` → `main`. The individual feature branches are +preserved unchanged for per-feature review if preferred. + +**Cleanup — branches prunable AFTER the merge lands** (not deleted here; destructive): +- Already in `main`: `fix/cli-readme-drift`, `fix/d04-d05-ingest-fixes`. +- Folded into `integration/roadmap`: the 5 feature branches + `audit/loop-1`. +- Pre-session / stale (verify before pruning): `feat/F-15-literature-graph`, + `feat/F-16-chunk-quality`, `fix/audit-wave-1`/`-2`/`-3`, `scratch/spike-embed`. +- Working tree is clean — only gitignored `.venv`/caches/`.env`; no stray tracked files. ## 4. Infra TODO — tmux-on-Jetson for stable long ops (documented, not implemented) - `docs/infra/jetson-ssh-stability.md` (branch `chore/infra-ssh-stability`). The