본문으로 건너뛰기
cccskills
무료GitHub에 공개

e2e-testing

Create, run, and debug Centaur end-to-end tests under e2e/. Exercise the Slack path across services with scripted model responses, inspect observable results, and trace failures through stack logs, session records, and captured model requests.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Write, run, and debug Centaur's end-to-end tests under e2e/. Use when adding or changing an e2e scenario, running the e2e stack locally, or investigating a failing e2e CI job.

paradigmxyz/centaur스타 1,407(GitHub 1,407 + cccskills 0)
연동 도구SlackPostgreSQL

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • Add a scenario that checks behavior across Centaur services
  • Run the local end-to-end stack and test suite
  • Debug a failing end-to-end CI job
  • Inspect recorded model requests for a test thread

포함된 파일(1)

  • SKILL.md3.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Centaur E2E Testing

How the system works

e2e/stack.sh deploys the real chart's Slack path (Postgres, console, api-rs, slackbotv2, sandboxes, per-sandbox iron-proxies) to a dedicated kind cluster, with two fakes standing in for the outside world:

  • e2e/fakes/fake-slack.ts: a stateful Slack Web/Events/Interactivity API. slackbotv2 runs unmodified against it.
  • e2e/fakes/model-server.ts: a scripted model provider. CoreDNS sends provider hostnames to it, so real harnesses reach it through iron-proxy. It answers by a token in the user's message and records every request.

Tests in e2e/tests/*.test.ts run under bun test on the host and reach the fakes, Postgres, and api-rs through NodePorts. e2e/lib/index.ts is the test vocabulary: slack, model, api, cluster, workflows, ironControl, and Thread. Shared Slack identities live in e2e/fakes/slack-fixture.ts. Stack configuration lives in e2e/infra/.

CI (.github/workflows/e2e.yml, called by publish-images.yml and runnable manually against any published tag) runs every scenario against the published images with API keys, and runs harnesses.test.ts alone in subscription (access_token) mode.

Running

e2e/stack.sh up                                   # build images from the tree, deploy
e2e/stack.sh test                                 # all scenarios
e2e/stack.sh test e2e/tests/turns.test.ts         # one file
e2e/stack.sh logs                                 # pods, events, component logs
e2e/stack.sh down

The script uses a private kubeconfig, never the ambient context. Rerun up after changing service code. CENTAUR_E2E_IMAGE_TAG pulls published images, and CENTAUR_E2E_AUTH_MODE=access_token selects subscription auth. Run down before switching from access_token back to api_key.

Writing a scenario

  • Act only through the doors a user or operator has: Slack for input and visible output, durable session tables, recorded model requests, api-rs operator routes, and Kubernetes faults. Do not reach into service internals.
  • Script each turn with model.says(...) or model.fails(...), then drive it with slack.mention(...), thread.mention(...), and thread.nextTurn(). nextTurn waits for a terminal execution and exactly one finished Slack reply.
  • Assert observable outcomes: turn.reply, turn.execution.status, turn.sandbox, and turn.request (what the harness actually sent the provider).
  • Use test.concurrent with a turnTimeoutMs-based timeout. Each test makes its own thread and script tokens, so tests must not share state.
  • Wait with eventually(...), not fixed sleeps. Use delayMs plus thread.inFlight() to keep a turn running.
  • Put a short comment at the top of each file stating the behavior it guarantees. Add a scenario to the existing file that covers that area before creating a new file.
  • Extend e2e/lib or a fake only when a scenario needs a new capability, and name helpers in user terms. When a test needs new stack configuration, add it to e2e/infra/values.yaml, and keep fixture values aligned with stack.sh.
  • E2E scenarios are slow. Cover cross-service behavior here and leave logic that a unit test can reach to unit tests.

Debugging failures

Failures name the execution and the replies seen. Next, check e2e/stack.sh logs (CI dumps the same output), then the session_executions and session_events rows for the thread key, then the model server's recorded requests.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Investigate authentication, permission, credential, OAuth, token, secret, and API proxy failures by checking live VictoriaLogs evidence first. Summarize relevant status codes and error details, and distinguish upstream denials from local proxy or secret resolution problems.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Investigate a 401, 403, or 503 response
  • Trace an integration authentication failure
  • Check why a credential or secret is not resolving
paradigmxyz/centaur1.4천2026년 10월 26일 업데이트

centaur

무료

Use an authenticated Centaur MCP deployment to find and call team-approved tools. It checks identity when permissions matter, follows the deployment’s current CLI help, and summarizes consequential changes with relevant identifiers or links.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Finding the right approved Centaur tool
  • Running an unfamiliar Centaur CLI command
  • Checking the signed-in user's permissions
paradigmxyz/centaur1.4천2026년 10월 26일 업데이트

Use this skill to translate a Console administrator’s request into Centaur permission changes. It can create supported principals and secrets, grant or revoke access, adjust Slack and sandbox permissions, and manage Slack Connect allowlists while checking for unsafe personal credential sharing.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Grant a Slack channel access to a shared tool credential
  • Create a principal for a Slack channel, user, or workflow
  • Adjust a channel’s access to another Slack channel
paradigmxyz/centaur1.4천2026년 10월 26일 업데이트

Investigate Centaur incidents using VictoriaLogs for runtime logs and VictoriaMetrics for deployment and health metrics. The skill correlates a narrow time window with relevant code and workflow status, then reports a supported cause or bounded hypotheses and the evidence still needed.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Investigating a stalled workflow or missing post
  • Checking thread and execution evidence
  • Reviewing tool-call or sandbox activity
paradigmxyz/centaur1.4천2026년 10월 26일 업데이트

Answer internal history and project context questions by searching indexed company information and checking relevant live sources such as Slack, Linear, Google Docs, Drive, Calendar, or Granola. Reconcile the evidence and cite dates or source links when available.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Find what was discussed or decided internally
  • Check a project's prior context or current status
  • Search meeting notes and calendar events
paradigmxyz/centaur1.4천2026년 10월 26일 업데이트

Build a new external service integration as a packaged Python CLI. The skill guides the project layout, API client, command-line interface, credential declarations, health check, and tests so the tool can be installed and used by agents.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Create a tool for a new external API
  • Build a Python client for a service
  • Add a CLI command for an integration
paradigmxyz/centaur1.4천2026년 10월 26일 업데이트

paradigmxyz의 스킬 모두 보기

이 스킬의 문제 신고