Organized

This commit is contained in:
Jason Thistlethwaite
2026-10-17 20:50:35 -04:00
parent bd26c8894f
commit 9ee9eb3ec6
130 changed files with 24172 additions and 140 deletions
+51 -3
View File
@@ -395,12 +395,26 @@ Project docs:
- [docs/helpdesk_smoke_test.md](docs/helpdesk_smoke_test.md)
- [docs/test_instance_post_import.md](docs/test_instance_post_import.md)
- [docs/pre_existing_issues.md](docs/pre_existing_issues.md)
- [docs/contact_triage_loop_workflow.md](docs/contact_triage_loop_workflow.md)
- [docs/contact_triage_loop_raw_notes_2026-07-04.md](docs/contact_triage_loop_raw_notes_2026-07-04.md)
Tooling:
- [redmine_contacts.py](redmine_contacts.py)
- [redmine_tickets.py](redmine_tickets.py) — local power-user client (sync, property search, view, walk)
- [redmine_helpdesk_search.py](redmine_helpdesk_search.py)
Power-user client (sync + CLI):
- [docs/cli_power_user_client.md](docs/cli_power_user_client.md) — **usage for humans/agents**
- [docs/raw-notes/features-for-redmine_tickets-sync.md](docs/raw-notes/features-for-redmine_tickets-sync.md) — roadmap index
- [docs/2026-07-14_localsearch_before_sanity.md](docs/2026-07-14_localsearch_before_sanity.md) — old thin-search baseline
Ticket-centric spam cleanup docs:
- [docs/ticket_sync_tool_plan.md](docs/ticket_sync_tool_plan.md)
- [docs/ticket_spam_cleanup_handoff_2026-07-09.md](docs/ticket_spam_cleanup_handoff_2026-07-09.md)
Local plugin work:
- [redmine-copy/plugins/redmine_event_outbox](redmine-copy/plugins/redmine_event_outbox)
@@ -408,7 +422,39 @@ Local plugin work:
## Current Recommended Next Steps
If continuing this project, the next best work is:
### Current priority: power-user local client + automations
Durable CS cache + CLI for search/view/walk (see [docs/cli_power_user_client.md](docs/cli_power_user_client.md)).
```bash
cd /home/jason/projects/redmine
CACHE=/home/jason/projects/redmine/cache/redmine_tickets
./redmine_tickets.py --project customer-service --cache-dir "$CACHE" \
search --where 'assigned_to IS NULL' --max-tickets 10
./redmine_tickets.py --project customer-service --cache-dir "$CACHE" \
view <id> --print
```
Cron: `cron-scripts/sync-live-customer-service.sh` (still `30d` window — tighten later).
Spam cleanup remains available on LAN before prod apply — see handoff doc below.
### Ticket-centric spam cleanup (secondary)
- [redmine_tickets.py](redmine_tickets.py)
- [docs/ticket_sync_tool_plan.md](docs/ticket_sync_tool_plan.md)
- [docs/ticket_spam_cleanup_handoff_2026-07-09.md](docs/ticket_spam_cleanup_handoff_2026-07-09.md)
Next safe sequence for spam apply:
1. Confirm LAN issue `status_id=5` is the intended closed status.
2. Run `redmine_tickets.py close-if-spam --apply` on the LAN copy only, using default `--impersonate-user rebot`.
3. Re-sync/inspect affected LAN tickets.
4. Verify status closed, activity author `rebot` / Harry Botter, and idempotency on a second apply.
### Other Redmine indexing / outbox workstream
If continuing the older outbox/search-index project, the next best work is:
1. Run the post-import validator and Helpdesk smoke test to establish a clean
baseline.
@@ -427,10 +473,12 @@ Fetch contacts:
./redmine_contacts.py fetch
```
Search contacts:
Search contacts. Short examples: `./redmine_contacts.py search --help`. What the CLI can do: [docs/redmine_contacts_search.md](docs/redmine_contacts_search.md). Situations it cannot do yet: [docs/redmine_contacts_search_proposals.md](docs/redmine_contacts_search_proposals.md).
```sh
./redmine_contacts.py search "customer name or phone"
./redmine_contacts.py --base-url https://rm.ldrprep.com search "Sahar Daod"
./redmine_contacts.py --base-url https://rm.ldrprep.com \
search promotional-spam --with-tag promotional-spam --refresh
```
Preview a contact update: