Skip to content

Layer 6: Read-only Analysis Tools #96

Description

@d3v07

Blocked until d3v07 reviews and approves or requests changes on frex22's Layers 1-4 PR.

Assignee:
d3v07

Branch:
feature/d3v07-layers-5-8-safety-execution-governance

Context:
Use the Layer 6 architecture image as the visual and technical spec. This layer is read-only analysis tooling. Tools provide evidence to support analysis, decisions, and verification. Tool outputs become evidence, not actions.

Goal:
Keep the existing four MVP tools stable, and add only practical read-only tools if time allows and the repo can support them cleanly.

Current MVP tools retained:

  • explain_slow_query
  • diagnose_candidate
  • compare_candidate_indexes
  • rationalize_recommendation

Optional practical additions only if time allows:

  • plan_diff_inspector
  • index_metadata_reader
  • history_lookup
  • policy_reader

Required work:

  • Preserve the four current tool names and semantics.
  • Prove all tools are read-only.
  • Ensure no tool applies indexes, drops indexes, writes credentials, bypasses approval, or marks VERIFIED.
  • If optional tools are added, keep outputs structured and evidence-only.
  • If optional tools cannot be implemented cleanly in scope, document them as planned and do not fake live behavior.

Non-negotiable constraints:

  • Do not mutate MongoDB from any Layer 6 tool.
  • Do not rename the four current tools.
  • Do not change EvidencePack v1 unless explicitly approved.
  • Do not add backend routes unless explicitly approved.
  • Do not silently mock live behavior without labeling it.

Acceptance criteria:

  • Existing four tools are retained and tested.
  • Tools remain read-only by implementation and tests.
  • Optional tools, if added, are clearly read-only and evidence-only.
  • Dashboard/system map does not imply analysis tools can mutate.
  • Any planned-only tool is labeled honestly.

Tests:
Run:
uv run pytest tests/unit/test_tools.py -q
uv run pytest tests/unit/test_orchestrator.py -q
uv run pytest -q

If dashboard labels are touched:
cd dashboard && npm run lint
cd dashboard && ./node_modules/.bin/tsc --noEmit
cd dashboard && npm run build

Deviation guard:
Stop and ask before changing EvidencePack v1, renaming tools, adding API routes, adding mutation authority, exposing credentials, or marking VERIFIED from frontend/tool-only logic.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions