Skip to content

Add self-scoped Centaur investigator - #66

Closed
fineas-bot[bot] wants to merge 2 commits into
mainfrom
codex/safe-centaur-investigator
Closed

Add self-scoped Centaur investigator#66
fineas-bot[bot] wants to merge 2 commits into
mainfrom
codex/safe-centaur-investigator

Conversation

@fineas-bot

@fineas-bot fineas-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown

Summary

  • add centaur-investigator self as the default current-sandbox/current-thread debug path
  • restrict broad centaur-investigator investigate/search-sessions to CENTAUR_INVESTIGATOR_OPERATOR_MODE=1
  • gate raw vlogs query/fields/field-values/streams behind operator mode and point agents to the self-scoped investigator instead
  • update the sandbox prompt so ordinary agents debug their own sandbox/thread, not global logs or unrelated sessions

Safety boundary

  • Default scope is the current CENTAUR_THREAD_KEY/session context.
  • Cross-thread investigation fails closed unless operator mode is explicitly enabled.
  • Returned debug context avoids raw Slack text, message part content, session event payload bodies, and raw log rows.
  • vlogs health remains available, but raw VictoriaLogs exploration is operator-only.

Validation

  • PYTHONPATH=/Users/fin-sa/worktrees/centaur-safe-investigator:/Users/fin-sa/worktrees/centaur-safe-investigator/services/sandbox:/Users/fin-sa/worktrees/centaur-safe-investigator/tools/infra uv run --with pytest --with asyncpg --with httpx --with rich --with typer --with python-dotenv pytest --import-mode=importlib tools/infra/centaur_investigator/tests/test_client.py tools/infra/vlogs/tests/test_client.py tools/infra/vlogs/test_client.py services/sandbox/test_install_tool_shims.py -> 24 passed
  • git diff --check
  • uvx --from tools/infra/centaur_investigator centaur-investigator health
  • uvx --from tools/infra/vlogs vlogs query level:error --limit 1 -> denied without operator mode

fineas-bot Bot added 2 commits June 28, 2026 18:06
Adds a self-scoped Centaur investigator for current sandbox/thread debugging, gates broad investigator and raw vlogs access behind operator mode, and updates sandbox prompt guidance away from raw log tools by default.

Safety notes:
- centaur-investigator self defaults to the current CENTAUR_THREAD_KEY/session scope.
- Cross-thread investigate/search requires CENTAUR_INVESTIGATOR_OPERATOR_MODE=1.
- Raw vlogs query/fields/field-values/streams requires operator mode.
- Returned debug context avoids raw Slack text, message parts, session event payloads, and raw log rows.
Keeps the sandbox prompt consistent with the new self-scoped observability guidance by replacing the remaining raw vlogs example with centaur-investigator self.
@fineas-bot

fineas-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Author

Closing as intentionally retired by the upstream-first Centaur sync in #76/paradigmxyz#311, not as an upstream-provided replacement. This tool can run only after a sandbox is healthy enough to execute it, so it does not cover pre-start failures, dead/stuck sandboxes, fleet failures, or most image/deployment drift. Maintaining a second Python authorization and self-query surface is not justified for that limited coverage. If self-triage later proves useful, it should return as a sanitized principal-JWT diagnostic endpoint on the upstream architecture.

@fineas-bot fineas-bot Bot closed this Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants