diff --git a/tasks/INDEX.md b/tasks/INDEX.md index fd99617..a211add 100644 --- a/tasks/INDEX.md +++ b/tasks/INDEX.md @@ -65,27 +65,30 @@ Legend: โฌœ not started ยท ๐ŸŸก in progress ยท โœ… done ยท โ›” blocked | 4.5 | Distributed API Layer | M3.5.x | 10 | 10 | 0 | 0 | โœ… M3.5.8 | | 5 | Skills | M4.x | 3 | 2 | 0 | 1 | โฌœ M4.3 | | 5.5 | Reference corpora | M3.6.x | 6 | 1 | 0 | 5 | โฌœ M3.6.6 | -| 5.6 | Tool context | M3.7.x | 5 | 0 | 1 | 4 | โฌœ M3.7.6 | +| 5.6 | Tool context | M3.7.x | 4 | 0 | 1 | 3 | โฌœ M3.7.6 | | 6 | Post-training | M5.x | 6 | 0 | 0 | 6 | โฌœ M5.6 | | 7 | agent-manager migration | M6.x | 6 | 0 | 0 | 6 | โฌœ M6.6 | | 8 | Source connectors | M7.x | 10 | 0 | 0 | 10 | โฌœ M7.10 | | 9 | Hybrid search | M8.x | 9 | 1 | 1 | 7 | โฌœ M8.9 | -| | **Total** | | **72** | **57** | **1** | **14** | 6/11 green | +| | **Total** | | **71** | **57** | **1** | **13** | 6/11 green | **Current status โ€” 2025-01-28.** Completed phases M0.x, M1.x fully archived (16/16 tasks). **M2.1-6 โœ…** (embeddings, CNPG, schema, pgvector, obsidian projector, rebuild). **M3.x โœ…** (4/4). **M3.5.x โœ…** (10/10 complete + archived). **M4.1-2 โœ…** (skill drafting + derived filter). **M3.6.1 โœ…** (DocCorpusSource). **M8.1 ๐ŸŸก** (OpenSearch cluster deploying โ€” security context fixes in progress). **Current work:** - M8.1: OpenSearch StatefulSet (pod security baseline, fsGroup perms) โ€” 2 commits pending (9a07659, 611f4d8) -- M3.7.4: `/memory/context` 3-tier lookup endpoint (starts after M3.6 Phase 1 + M8.2) +- M3.7.7: Failure signature extraction + normalization (in progress) - Obsidian service: โœ… Deployed (ppatlabs/obsidian:latest, REST API on 27124) - All M3.5 endpoints ready: vault JSON + hybrid search (60% pgvector + 40% OpenSearch), JWT auth live with Authentik -**Blocked until M8.1 green:** -- M8.2 (dual-write indexing) โ€” needs OpenSearch cluster ready -- M8.3-9 (query optimizer, RRF, hybrid endpoint, benchmarks) โ€” M8.2 blocker -- M3.7.4 context endpoint uses hybrid search results โ€” M8.2 blocker +**Immediate blocker (M8.1):** +- OpenSearch StatefulSet pod security context fix -**Tests: 247 passing, 2 ignored** (M2.1 +8, M3.5 +16, M4 +20). **57/72 tasks complete (79%)**, **6/11 gates green**. M3.7.5 retired (redundant with hybrid search). +**Blocked until M8.2 green:** +- M8.3-9 (query optimizer, RRF, hybrid endpoint, benchmarks) +- M3.7.4 (context endpoint needs hybrid search to rank tiers) +- M3.6.2+ (reference corpus storage depends on query layer) + +**Tests: 247 passing, 2 ignored** (M2.1 +8, M3.5 +16, M4 +20). **57/71 tasks complete (80%)**, **6/11 gates green**. M3.7.3 & M3.7.5 retired (hybrid search covers). `M2.2` (CNPG manifest), `M5.4` (vLLM+LoRA), `M3.5.9` (git refs), and `M6.x` (agent-manager migration) are homelab/infra work independent of prior phases, can start parallel. @@ -159,29 +162,23 @@ clear while the memory got worse. ## 5.6 โ€” Tool context ยท M3.7.x -Context lookup over HTTP for failure diagnosis and tool troubleshooting. +Context lookup over HTTP for failure diagnosis. Consumers are `pi`, curl, or an MCP call. -**Three-tier lookup:** -1. **Tier 1 (Exact):** Normalised failure signature hash โ†’ past solutions -2. **Tier 2 (Semantic):** Hybrid search over skill/evidence corpus โ†’ similar cases -3. **Tier 3 (Reference):** R corpus (documentation) โ†’ general guidance +**M3.7.3 & M3.7.5 retired:** Skill filtering and standing queries were pre-hybrid-search design. +Hybrid search (M8) solves skill matching + failure retrieval better. Tasks dropped. -Hybrid search (M8) now covers tiers 1 & 2. Tier 3 enabled by M3.6 (reference corpora). +**Remaining work (3 tasks):** +- **M3.7.4:** `/memory/context` endpoint (3-tier: signature โ†’ hybrid search โ†’ reference corpus) +- **M3.7.7:** Failure signature extraction (normalize timestamps, paths) โ€” in progress +- **M3.7.8:** Symptom projection (query โ†’ normalized form for tier 1 matching) +- **M3.7.6:** Composition gate (verifies tiers work end-to-end) -**M3.7.5 deferred:** Standing query for tool-failures was pre-hybrid-search design. -Now redundant โ€” hybrid search solves the same problem better. Task retired. - -**Key remaining work:** -- M3.7.7: Failure signature extraction (normalize timestamps, paths) -- M3.7.8: Symptom projection (query โ†’ normalized form for matching) -- M3.7.4: HTTP endpoint glue (tier logic + response shape) - -Ids are `M3.7.x` and frozen. `M3.7.1`, `M3.7.2`, `M3.7.5` retired (not needed). +Ids are `M3.7.x` and frozen. `M3.7.1`, `M3.7.2`, `M3.7.3`, `M3.7.5` retired. | Task | Title | Size | Flags | Status | |---|---|---|---|---| -| [M3.7.3](M3.7.3-skill-matching.md) | `GET /memory/skills?task=` โ€” match a subset | S | โ€” | โฌœ | +| M3.7.3 | `GET /memory/skills?task=` โ€” skill match | โ€” | โ€” | โŒ Retired (hybrid search covers) | | [M3.7.4](M3.7.4-context-endpoint.md) | `/memory/context` โ€” three-tier lookup | M | โ€” | ๐ŸŸก | | M3.7.5 | `tool-failures` standing query | โ€” | โ€” | โŒ Retired (hybrid search covers) | | [M3.7.6](M3.7.6-m3.7-gate.md) | **M3.7 composition gate** | M | gate | โฌœ |