docs: add receive source reconciliation precheck

This commit is contained in:
zhaoyilun
2026-07-10 09:29:53 +08:00
parent d78152cbfa
commit 1d6dd2f504
4 changed files with 170 additions and 8 deletions

View File

@@ -27,7 +27,7 @@
| --- | --- | --- | --- |
| Search contacts | Registered MCP tool; log/JID candidates; optional copied-DB MsgLib display enrichment. | Result quality hardening: de-duplication, ranking, stable IDs, optional richer fields. | R2 |
| Search groups | Registered MCP tool; groupchat/conference candidates; optional copied-DB MsgLib display enrichment. | Group member count, owner refs, nested/group hierarchy quality. | R2 |
| Receive messages | PacketReader source works; copied `MsgLib.db` explicit receive works with `source_preference="msglib_readonly"`. | Reconciliation between PacketReader and MsgLib, source confidence, pagination policy. | R1 |
| Receive messages | PacketReader source works; copied `MsgLib.db` explicit receive works with `source_preference="msglib_readonly"`; R1 precheck says default should remain PacketReader until a future reconciliation helper is implemented. | Future reconciliation helper, source confidence scoring, pagination policy. | future receive helper after R2/R3 |
| Send messages | Contract exists; no validated write connector. | Need connector discovery, preview-only path, idempotency and audit before production send. | R5 then R6 |
| Receive files | List mode exists from message-derived file metadata. | Need message-to-cache/download mapping and output-dir download behavior. | R3 then R4 |
| Send files | Contract exists; no validated upload/send connector. | Depends on send-message connector plus upload/file-transfer evidence. | R7 then R8 |
@@ -73,7 +73,7 @@ go test ./...
**Steps:**
- [ ] **Step 1: Write the precheck note skeleton**
- [x] **Step 1: Write the precheck note skeleton**
Create `docs/source-discovery/2026-07-10-receive-message-reconciliation-precheck.md` with these headings:
@@ -99,7 +99,7 @@ Compare PacketReader and MsgLib receive-message sources using sanitized identifi
## Next implementation node
```
- [ ] **Step 2: Fill candidate match keys**
- [x] **Step 2: Fill candidate match keys**
Record these exact candidate keys:
@@ -111,7 +111,7 @@ weak: filename plus nearby timestamp for file-transfer messages
not allowed in committed evidence: message body values, local file paths, raw rows
```
- [ ] **Step 3: Run verification**
- [x] **Step 3: Run verification**
```powershell
git diff --check
@@ -129,6 +129,13 @@ powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-msglib-mcp-en
**Stop condition:**
- If safe sanitized keys are not enough to compare sources, stop and request either more evidence or permission for a focused local-only diagnostic script.
**R1 Result:**
- Created `docs/source-discovery/2026-07-10-receive-message-reconciliation-precheck.md`.
- Candidate match keys are defined as strong/medium/weak using message id, conversation/sender ids, timestamp windows, body-present booleans, and safe file metadata.
- Default routing remains unchanged: empty/`auto`/`local_readonly` use PacketReader; `msglib_readonly` is explicit only.
- Decision: next business node is R2 contact/group search quality hardening. A receive-specific reconciliation helper can be added later before any `auto` merge.
---
### R2: Contact and group search quality hardening