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

4.0 KiB

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

  • Inventory all modified and untracked files.
  • Identify likely project groupings for clean commits.
  • Confirm LOCAL_CHANGELOG.md aligns with Helpdesk API patch files.
  • Stage and commit Helpdesk API patch as a focused unit.
  • Stage and commit post-import automation as a focused unit.
  • Stage and commit semantic index files as a focused unit.
  • Stage and commit redMCP feature updates as a focused unit.
  • Stage and commit redmine-communicator skill files (optional split).
  • Run targeted syntax/tests for each committed unit.
  • 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.