Surfaced by a full completeness audit of the telegram skill against TELEGRAM_PORT_MAP.md (366 tags, ~83% ported, 452/452 tests green). @api — in-process set_secret(provider, slug, value, *, as_json) writer mirroring get_secret (0o600 files / 0o700 dirs, no stdout echo). The store was read-only; this is the GAP1 enabler the telegram mother-bot needs to persist a created bot's config. 515 @api tests, seedgo 100%. @skills telegram wave-1 (fix-forward, no deletions): - GAP2: bot_factory + telegram-bot@.service launched a non-existent ~/.venv/bin/python3; now sys.executable -m ...base_bot (+ lib/__init__.py and lib/telegram/__init__.py for package resolution). - Reboot survival: enable_service now installs the unit to ~/.config/systemd/user/ + daemon-reload (was never installed). - GAP9: gitignore lib/telegram/.local/ so runtime state stops leaking to git. - prax-monitor: log_streamer now resolves repo-root system_logs (honoring AIPASS_TEST_LOG_DIR) instead of a hardcoded ~/system_logs. Verified: telegram 452/452 green (twice), base_bot imports via -m. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QEQZXCtgnF3NQtcttTErpq
Apps
Application layer for API.
api.py— Entry point. Auto-discovers and routes commands to modules.modules/— Business logic and orchestration. One module per command.handlers/— Implementation details. Called by modules, never by CLI directly.plugins/— Scheduled tasks and extensions.