Files
redmine/CLEANUP_NOTES.md
T
Jason Thistlethwaite bd26c8894f Add production rollout tooling and semantic index ops docs
Capture the production plugin rollout workflow and Qdrant validation steps so operations stay repeatable. Also harden redMCP stdio/schema compatibility to keep diverse MCP clients and validators working.
2026-05-06 22:18:02 -04:00

96 lines
4.0 KiB
Markdown

## Cleanup Notes ~ May 6, 2026
This repository currently mixes multiple partially finished workstreams. The
goal is to recover to a clean, reviewable git state with focused commits so
normal development can continue.
## Scope and constraints
- `TODO.md` is long-horizon context and is out of scope for this cleanup pass.
- `redMCP/` is actively used on this machine; do not delete files in that tree
and do not stop running `redMCP` processes during cleanup.
- `redMCP/startProd.sh` is a local convenience script and is intentionally not a
project artifact for this cleanup. Ignore it.
- Use `plugins/redmine_contacts_helpdesk/LOCAL_CHANGELOG.md` as a primary anchor
for reconstructing intent and grouping related changes.
## Recovered change groups
The current dirty tree appears to contain these distinct units:
1. Helpdesk issue API `include=helpdesk` patch and docs/manifest.
2. Post-import automation and validator/worker hardening.
3. Semantic index service, deployment assets, tests, and runbooks.
4. redMCP feature expansion (HTTP handler/server, client/dispatcher updates,
tests, docs).
5. Skill metadata/docs under `skills/redmine-communicator/`.
## Working checklist
- [x] Inventory all modified and untracked files.
- [x] Identify likely project groupings for clean commits.
- [x] Confirm `LOCAL_CHANGELOG.md` aligns with Helpdesk API patch files.
- [x] Stage and commit Helpdesk API patch as a focused unit.
- [x] Stage and commit post-import automation as a focused unit.
- [x] Stage and commit semantic index files as a focused unit.
- [x] Stage and commit redMCP feature updates as a focused unit.
- [x] Stage and commit redmine-communicator skill files (optional split).
- [x] Run targeted syntax/tests for each committed unit.
- [x] Confirm final worktree state and note any intentionally uncommitted files.
## Cleanup result
Committed units:
- `fba494d` Add Helpdesk issue API include serializer
- `faad708` Automate post-import refresh and validation workflow
- `b305544` Add semantic-index service, deployment assets, and tests
- `4c931ba` Expand redMCP safe issue operations and HTTP handling
- `42fc831` Add redmine-communicator skill docs and setup tooling
- `def9084` Handoff notes for next agent/workflow
- `22c8e91` Sanitize noisy MCP text fields by default
- `a7d23cd` Resolve human project names in MCP project_id args
Intentionally untracked local files:
- `redMCP/startProd.sh`
- `roadmap/`
Recent validation run for redMCP changes:
- `php -l app/McpDispatcher.php`
- `php -l app/McpEnvironment.php`
- `php -l app/mcp-http-router.php`
- `php -l bin/redmcp-server.php`
- `php -l bin/test-redmine-structure.php`
- `php bin/test-redmine-structure.php` (`OK 90 assertions`)
## Handoff notes for next session
- Gitea private repo is created and current history was pushed.
- Monorepo approach is acceptable; keep path-scoped commits and deployment-unit
boundaries.
- Production semantic-index target is a separate host from production Redmine.
- redMCP improvement focus is operational quality:
- useful error/access logging without console spam,
- easy background operation,
- simple install/remove/status workflow.
- A single fixed systemd service is not preferred for redMCP because multiple
concurrent identities/API keys may be needed. Prefer an instance model.
- If systemd is used for redMCP, implement a simple operator script with
`install`, `remove`, and `status` flows.
- Production plugin rollout milestone completed:
- `deploy_redmine_prod_patches.sh` was used to deploy plugin patches on
production.
- Upload bundle used: `dist/redmine-prod-plugin-rollout-20260506T210606Z.tar.gz`.
- User-reported outcome: production deploy completed and appears to be
working.
## Notes to keep in mind
- Do not commit secrets (`.env`, tokens, credentials).
- `semantic_index/search.sh.md` looks like conversational scratch text; treat as
optional/non-essential unless deliberately kept.
- If a file belongs to multiple units, prefer smallest safe unit first and
document rationale in commit messages.