Files
fidelity-ai-workspace/scripts/aiw/README.md

2.9 KiB

AI Workspace Service Manager

The service manager is the local lifecycle layer for AI Workspace services.

It reads profiles/<profile>/services.json, starts/stops enabled services, records logs under .aiw/runtime/logs/, and keeps PID/state files under .aiw/runtime/.

Common commands

python3 scripts/aiw/services.py status --profile fidelity
python3 scripts/aiw/services.py status --profile fidelity --json
python3 scripts/aiw/services.py doctor --profile fidelity
python3 scripts/aiw/services.py doctor --profile fidelity --json
python3 scripts/aiw/services.py start --profile fidelity
python3 scripts/aiw/services.py stop --profile fidelity
python3 scripts/aiw/services.py logs mattermost-proxy --profile fidelity

Start a subset by group:

python3 scripts/aiw/services.py start --profile fidelity --group communication
python3 scripts/aiw/services.py start --profile fidelity --group inbox

Current Fidelity services

  • mattermost-proxy: runs the local Mattermost proxy mirror.
  • mattermost-desktop: launches Mattermost Desktop through the proxy.
  • photo-inbox: runs the local HTTP photo receiver.
  • aiw-context-mcp: read-only context MCP server for local AI clients.

The service manager unifies startup and status. It does not move capture behavior into the MCP.

Local project-knowledge index

The workspace includes a dependency-free local indexer for canonical Markdown memory. The index is derived from the profile's configured knowledge_dir and written under the profile's configured index_dir; it is safe to delete and rebuild.

python3 scripts/aiw/indexer.py build --profile fidelity
python3 scripts/aiw/indexer.py status --profile fidelity
python3 scripts/aiw/indexer.py search "dismissal lifecycle" --profile fidelity

aiw-context-mcp exposes the same derived search through the read-only memory_hybrid_search tool and falls back to live Markdown search if the index has not been built yet.

Profile path configuration

Reusable scripts resolve profile-specific paths through:

profiles/<profile>/workspace.json

Current fields:

{
  "knowledge_dir": "project-knowledge",
  "inbox_dir": "ai/inbox",
  "index_dir": ".aiw/indexes/fidelity"
}

Use scripts/aiw/profile.py from new scripts instead of hardcoding root-level project memory or inbox paths.

Robustness features

  • Manifest validation before lifecycle actions.
  • Dependency-aware startup through depends_on.
  • Managed PID/state files under .aiw/runtime/.
  • Per-service logs under .aiw/runtime/logs/.
  • Simple log rotation before service start.
  • TCP/HTTP health checks.
  • Doctor checks for required commands and paths declared in the profile manifest.
  • Protection against starting duplicate services when a matching health check is already passing externally.

Tests

python3 scripts/aiw/test_services.py
python3 scripts/aiw/test_profile.py
python3 scripts/aiw/test_indexer.py