## 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. ## 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.