Skip to main content

Doctor (E2E Testing)

vibecontrols-doctor is the backend E2E test suite for the VibeControls product. It focuses on GraphQL/curl backend coverage for wspace-vibecontrols-svc and related agent/gateway flows through the workspace public gateway.

Repo structure

vibecontrols-doctor/
├── Makefile # Root test orchestration
├── README.md # This file
├── core/scripts/common.sh # Shared E2E utilities
└── wspace/modules/vibecontrols/ # Active backend E2E suite
├── Makefile # Module-level test targets
├── README.md
└── scripts/ # Backend E2E bash scripts
├── test-vibecontrols.sh # Main GraphQL CRUDL suite
├── test-agent-*.sh # Agent/API/CLI/plugin suites
├── test-ai-*.sh # AI plugin / agent-manager suites
└── story-vibe-project.sh # Story-level test: vibe per project

Environment selection

The suite defaults to production endpoints. Select the target environment with VIBECONTROLS_TARGET or E2E_TARGET_ENV:

TargetVariableWorkspace gatewayGlobal gateway
localVIBECONTROLS_TARGET=localhttp://localhost:4003/workspaces/graphqlhttp://localhost:4000/global/graphql
alphaVIBECONTROLS_TARGET=alphahttps://alphagraphqlworkspaces.burdenoff.com/workspaces/graphqlhttps://alphagraphql.burdenoff.com/global/graphql
prodVIBECONTROLS_TARGET=prod (default)https://graphqlworkspaces.burdenoff.com/workspaces/graphqlhttps://graphql.burdenoff.com/global/graphql

Direct endpoint overrides are also supported:

E2E_WSPACE_PUBLIC_GATEWAY=https://custom.workspaces.example/workspaces/graphql \
E2E_GLOBAL_GATEWAY=https://custom.global.example/global/graphql \
make test-all

Alpha Cloudflare Access

When targeting alpha, provide service-token headers to pass Cloudflare Access:

VIBECONTROLS_TARGET=alpha \
CF_ACCESS_CLIENT_ID=<id> \
CF_ACCESS_CLIENT_SECRET=<secret> \
AUTH_TOKEN=<token> \
WORKSPACE_TOKEN=<token> \
WORKSPACE_ID=<id> \
USER_ID=<id> \
make test-all

Credentials

For local runs, the shared E2E env file is sourced automatically:

make test-all VIBECONTROLS_TARGET=local

For alpha/prod runs, credentials must come from the environment. These variables may be overridden:

  • AUTH_TOKEN (or E2E_AUTH_TOKEN)
  • WORKSPACE_TOKEN (or E2E_WORKSPACE_TOKEN)
  • WORKSPACE_ID (or E2E_WORKSPACE_ID)
  • USER_ID (or E2E_USER_ID)
  • ORG_ID (or E2E_ORG_ID)
  • TENANT_ID (or E2E_TENANT_ID)

How to run tests

Probe gateway health

make test-health

Run everything

make test-all

Run against local services

make test-all VIBECONTROLS_TARGET=local

Run against alpha

VIBECONTROLS_TARGET=alpha \
CF_ACCESS_CLIENT_ID=<id> \
CF_ACCESS_CLIENT_SECRET=<secret> \
AUTH_TOKEN=<token> \
WORKSPACE_TOKEN=<token> \
WORKSPACE_ID=<id> \
USER_ID=<id> \
make test-all

Run against prod

VIBECONTROLS_TARGET=prod \
AUTH_TOKEN=<token> \
WORKSPACE_TOKEN=<token> \
WORKSPACE_ID=<id> \
USER_ID=<id> \
make test-all

Run a specific backend suite

make test-vibecontrols    # full GraphQL CRUDL suite
make test-agents
make test-vibes
make test-sessions
make test-notes
make test-prompts
make test-audit
make test-analytics
make test-settings
make test-global-search

Run agent / plugin / AI / CLI suites

make test-agent-api
make test-agent-cli
make test-plugins-core
make test-ai-all
make test-cli-all

Run the story test

make test-story-vibe-project

Clean logs and temp artifacts

make clean

Notes

  • The suite sources core/scripts/common.sh from this repo.
  • DOCTOR_ROOT resolves to this repo (~/products/vibecontrols/vibecontrols-doctor).
  • Agent REST API tests (test-agent-api, test-agent-cli, plugin/AI suites that hit the agent) still default to http://localhost:3005. Override with AGENT_URL when running against a remote agent.

Source

  • Repository: github.com/algoshred/vibecontrols-doctor
  • Related shared core: ~/products/dev/e2e/core/

Next steps