Create wiki page: Learning-20260425-product-owner-run20

2026-04-25 06:04:35 +02:00
parent 344091cbe4
commit 803cb2ce4a
+66
@@ -0,0 +1,66 @@
# Product Owner Run 20 -- Lux (2026-04-25)
**Persona**: Lux (TypeScript engineer, aesthetic, user-focused, British English)
**Repo (auth)**: `terraphim/agent-tasks` on Gitea
**Spec**: `docs/specifications/terraphim-agent-session-search-spec.md` v1.2.0
## Issues Created
| # | Title | Spec | Blocked-by |
|---|---|---|---|
| #30 | feat: populate ExampleDoc.output for robot examples endpoint | F3.3 | -- |
| #31 | feat: case-insensitive flags and `--flag=value` separators | F2.3 | #4 |
| #32 | feat: live `index_status` in robot capabilities response | F3.1 | #5 |
## Gaps Closed
Three F2/F3 spec-to-code divergences verified by grep against current main:
- 22 `ExampleDoc {` instances in `crates/terraphim_agent/src/robot/docs.rs`, 0 with `output: Some(...)` -> #30.
- Forgiving parser has no `to_ascii_lowercase`, no `case_insensitive`, no `split('=')` handling -> #31.
- `index_status: None` hard-coded at `crates/terraphim_agent/src/robot/docs.rs:55`; `sessions_indexed` 0 references outside schema -> #32.
## Spec Coverage
Aggregate session-search spec coverage: **~98-99% -> 99%+**. All visible F2/F3 surface gaps now tracked. Remaining un-issued: F5.3 cross-session learning (multi-PR, deferred); F5.2 k-means cluster (#23, large surface).
## Top 5 Ready (post Run 20)
1. **#24** parse_chained_command isolate failing sub-command (single-file bug fix)
2. **#23** /sessions cluster --algorithm kmeans --k N (F5.2)
3. **#30** [NEW] ExampleDoc.output (F3.3) -- pure additive single-file change, fastest unblocker
4. **#22** /sessions by-concept --connected-to (F5.2)
5. **#21** robot meta concepts_matched + wildcard_fallback (F1.1)
Highest-impact blocked: **#5 (Tantivy)** has 5 dependants now (incl. #32); **#4 (ForgivingParser dispatch)** has 2 dependants now (incl. #31).
## Process Notes for Next PO
- All three issues posted clean via `--body-file` (no KG title mangling this run).
- `gitea-robot create-issue` Python wrapper still raises `JSONDecodeError` on success (parse stdout for `Created issue #N`); did not retry; no duplicates.
- `add-dep --issue X --blocks Y` semantic confirmed: X is blocked by Y.
- `gitea-robot` still has no `remove-dep`.
- `terraphim/terraphim-ai` still 404; `terraphim/agent-tasks` is the single source of truth for spec issues.
- MEMORY.md still over-budget (43.2 KB, limit 24.4 KB) -- keep index entries to one line under ~200 chars.
- No ADF, Tauri, Svelte, D3.js, Playwright, or chat-UI items created (per scope rules).
## Verification Commands
```bash
# #30
cargo test -p terraphim_agent --lib robot::docs::tests::test_examples_have_output
# #31
cargo test -p terraphim_agent --lib forgiving::parser::tests::normalise_flag
./target/debug/terraphim-agent --Format=JSON search "test" --robot | jq '.meta.flag_normalisations'
# #32 (with --features repl-sessions)
./target/debug/terraphim-agent robot capabilities --format json | jq '.data.index_status'
```
## Recommendation Next Sprint
1. Land **#5 (Tantivy)** -- unblocks #32 and 4 existing.
2. Land **#4 (ForgivingParser dispatch)** -- unblocks #31 and existing dependants.
3. Pair **#30 alone** -- single-file, no deps, ideal warm-up after #24.
4. **#21 + #29** as single PR if scope held to two files.