Add Helpdesk outbox worker validation

This commit is contained in:
Jason Thistlethwaite
2026-04-25 00:31:09 +00:00
parent dde4dca8a2
commit c9f4c69525
8 changed files with 388 additions and 27 deletions
+24 -16
View File
@@ -138,19 +138,20 @@ Tested event types on the LAN copy:
- `journal.created`
- `contact.created`
- `contact.updated`
Planned/implemented locally but not fully LAN-validated as a complete workflow:
- `helpdesk_ticket.created`
- `helpdesk_ticket.updated`
- `journal_message.created`
Planned/implemented locally but not yet observed in the controlled LAN
validation workflow:
- `journal_message.updated`
The Helpdesk user workflow itself is now live-smoke-tested, including inbound
Mailpit import, `issueWithHelpdesk()` metadata, default non-email updates, and
explicit customer-visible Helpdesk replies. The remaining gap is validating that
those same controlled actions produce the expected outbox rows and derived
worker documents.
explicit customer-visible Helpdesk replies. The repeatable outbox validation
uses that same controlled workflow to verify Helpdesk ticket/message outbox rows
and worker-derived documents without marking rows processed.
### 3. Local Helpdesk Plugin Fork Changes
@@ -259,6 +260,17 @@ That test is documented in:
- [docs/helpdesk_smoke_test.md](/home/iadnah/redmine/docs/helpdesk_smoke_test.md:1)
Run the Helpdesk outbox worker validation when changing outbox hooks, worker
enrichment, or Helpdesk/redMCP behavior:
```sh
./validate_helpdesk_outbox_worker.py
```
That test is documented in:
- [docs/helpdesk_outbox_worker_validation.md](/home/iadnah/redmine/docs/helpdesk_outbox_worker_validation.md:1)
Preview the affected projects and settings:
```sh
@@ -323,18 +335,14 @@ The deployed helpdesk search routes were verified with:
## What Is Not Finished Yet
### 1. Worker Validation
### 1. Worker Processing Policy
This is the next implementation milestone.
The Helpdesk outbox worker now has a repeatable live validator. The next worker
decision is operational policy:
Still needed:
- run and document end-to-end validation of `redmine_outbox_worker.py` against
controlled Helpdesk activity on the LAN copy
- prove that imported Helpdesk issues, Helpdesk replies, and normal issue
updates create the expected event rows
- verify the derived JSONL document shape is useful and does not leak unsafe
content
- choose when to mark rows processed on the test instance
- decide where durable JSONL/index output should live
- define retention or replay expectations for `event_outbox_events`
### 2. External Search Index