docs: add msglib enrichment runbook
This commit is contained in:
@@ -2521,17 +2521,56 @@ Optional real receive-message display smoke result:
|
||||
- Optional MsgLib enrichment remains opt-in through `ISPHERE_MSGLIB_SIDECAR_EXE`, `ISPHERE_MSGLIB_SQLITE_DLL`, and `ISPHERE_MSGLIB_DB`.
|
||||
- Operator-facing docs must explain expected sanitized evidence and no-value output boundaries.
|
||||
|
||||
- [ ] **Step 1: Audit current runbook for MsgLib setup gaps**
|
||||
- [x] **Step 1: Audit current runbook for MsgLib setup gaps**
|
||||
|
||||
Review `docs/go-mcp-runbook.md` against the C27-C33 implementation and note missing operator steps.
|
||||
Confirmed `docs/go-mcp-runbook.md` only documented PacketReader source setup and deterministic `verify-go-mcp.ps1`; it did not document the optional MsgLib env shape, sidecar build, partial-config failure behavior, provider smoke, MCP enrichment smoke, or sanitized output expectations.
|
||||
|
||||
- [ ] **Step 2: Add operator setup and verification section**
|
||||
- [x] **Step 2: Add operator setup and verification section**
|
||||
|
||||
Document build, env config, default deterministic verification, optional copied-DB smoke, and expected sanitized output.
|
||||
Added `Configure optional MsgLib display-name enrichment` to `docs/go-mcp-runbook.md`, with sidecar build, three required env vars, optional password override, copied-file handling rules, standard no-MsgLib verification note, provider smoke command, MCP enrichment smoke command, and expected sanitized JSON booleans.
|
||||
|
||||
- [ ] **Step 3: Run verification and update next loop**
|
||||
- [x] **Step 3: Run verification and update next loop**
|
||||
|
||||
Run the full gate, record C34 outcome, and choose the next business slice.
|
||||
Verification passed: `git diff --check`, `go test ./...`, `scripts\verify-go-mcp.ps1`, evidence-backed `scripts\verify-msglib-sidecar.ps1`, and evidence-backed `scripts\verify-msglib-mcp-enrichment.ps1`. Optional MCP output included `receive_display_smoke=true`, `receive_sender_name_populated=true`, and `receive_conversation_display_populated=true` with no entity values, message bodies, file paths, or raw rows.
|
||||
|
||||
---
|
||||
|
||||
## Loop C34 Result
|
||||
|
||||
MsgLib enrichment operator runbook result:
|
||||
|
||||
- `docs/go-mcp-runbook.md` now gives operators the exact optional MsgLib display-name enrichment setup path.
|
||||
- It separates default deterministic verification from optional copied-DB verification.
|
||||
- It documents that partial MsgLib env config fails startup and that copied DB/provider files stay local/uncommitted.
|
||||
- It records expected sanitized provider/MCP evidence and no-value output boundaries.
|
||||
|
||||
---
|
||||
|
||||
## Loop C35: MsgLib message-table source precheck
|
||||
|
||||
**Goal:** Determine whether copied `MsgLib.db` message tables can become a future DB-backed source for `isphere_receive_messages`, starting with schema/column mapping and safe metadata-only evidence.
|
||||
|
||||
**Planned files:**
|
||||
- Create or modify: `docs/source-discovery/2026-07-10-msglib-message-source-precheck.md`.
|
||||
- Modify: `docs/source-discovery/capability-source-matrix.md`, `docs/current-status-card.md`, and this plan.
|
||||
- Do not implement message-row reads until the precheck identifies a bounded contract.
|
||||
|
||||
**Planned behavior:**
|
||||
- Use existing C26/C27 schema evidence and sidecar metadata operations first.
|
||||
- Map candidate message tables/columns to the `isphere_receive_messages` contract fields.
|
||||
- Do not print or commit message bodies, file paths, entity values, raw rows, or copied DB contents.
|
||||
|
||||
- [ ] **Step 1: Collect message-table schema evidence**
|
||||
|
||||
Review existing schema extraction docs and optional sidecar metadata for `tblPersonMsg`, `tblMsgGroupPersonMsg`, `tblRecent`, and related file/message tables.
|
||||
|
||||
- [ ] **Step 2: Map candidate fields to receive-message contract**
|
||||
|
||||
Document which fields may map to message id, conversation id/type, sender/receiver, timestamp, body/text, subject, receipt/read state, and attachment metadata; mark gaps explicitly.
|
||||
|
||||
- [ ] **Step 3: Decide next implementation slice**
|
||||
|
||||
Choose between a metadata-only sidecar extension, a bounded DB-backed receive source, or keeping PacketReader as primary until more evidence exists.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user