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

viewer-smoke

Run the end-to-end viewer smoke test (`tests/viewer_smoke.sh`). Spawns `rezolus view` in upload-only, file, A/B, and proxy modes, exercises the API endpoints, and verifies experiment attach/detach. Use after any change touching `src/viewer/` or before opening a viewer-related PR.

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

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.4 KB

SKILL.md(원문)

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

Viewer smoke test

Runs the viewer in four configurations against checked-in demo parquets and asserts the public API endpoints behave correctly. Designed to be invoked from a PR/commit hook so behavior regressions in src/viewer/ show up before review.

Steps

  1. Run the script:

    bash tests/viewer_smoke.sh
    
  2. Interpret the result:

    • Exit 0 → all assertions passed; viewer behaves correctly across upload-only, file mode, A/B compare mode, and proxy mode, including experiment attach/detach via the HTTP API.
    • Exit 1 → first failed assertion is printed, plus the failing viewer's startup log. Read both before guessing — the log usually says exactly what blew up (port collision, missing parquet, panic, etc.).
  3. If the script fails, do not paper over by editing the assertions. The script is the contract. If a behavioral change is intentional (e.g. a renamed JSON field), update the assertion in the same commit that changes the behavior, and call it out in the PR description.

What it covers

  • /api/v1/mode — loaded, compare_mode, url_loading flags across the four startup configs
  • /api/v1/sections — navigation list non-empty
  • /data/<section>.json — at least one group in the lazy-section payload
  • /api/v1/query_range — PromQL execution returns status:"success"
  • /api/v1/load_url — 403 envelope when proxy disabled, invalid_parquet envelope when fetching non-parquet bytes from an allowed host
  • POST /api/v1/captures/experiment — flips compare_mode:true
  • DELETE /api/v1/captures/experiment — flips compare_mode:false
  • Static assets — /, /about, /lib/style.css all return 200

What it does not cover

  • Live mode (rezolus view <agent-url>) — needs an actual rezolus agent listening, not reproducible without one.
  • Browser-rendered UI — the script only asserts on backend payload shape. For the rendered page, use the viewer-render skill: it drives a headless browser and asserts on geometry, computed colours, wrap points and console errors.
  • Compare-mode UI rendering — the experiment attach/detach assertion only checks the API flag flip; the rendered side-by-side view isn't exercised. Again viewer-render.

Requirements

  • cargo — builds the binary if it isn't already built
  • bash 4+, curl, jq — assertions
  • Ports 18500-18503 free
  • Internet access to httpbin.org for the proxy assertion (skipped with a warning if unreachable)

Triggering it from a hook

A typical wiring:

  • Per-PR (CI) — add a job to .github/workflows/cargo.yml that runs bash tests/viewer_smoke.sh after cargo build.
  • Per-commit (local) — .git/hooks/pre-push calling the same script. Slow (cold builds take ~60 s + 8 s of viewer warmup), so prefer the CI route unless the dev wants the early signal.
  • Per Claude Code session — invoke this skill via /viewer-smoke or have the agent call it from a SessionStart / PostToolUse hook that watches src/viewer/**.

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

Write or update the CLI `--help` text and README section for a new or changed rezolus feature (a subcommand, flag, mode, or behavior change), then prove the help is usable by dispatching a fresh subagent that has never seen the code. Use this whenever you add or change how rezolus is invoked — new `rezolus <subcommand>`, new flags/args on an existing mode, renamed options, or changed defaults — and any time the user says the help/README is thin, stale, confusing, or "an agent couldn't figure this out." Treats help text as an interface under test, not prose.

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

iopsystems/rezolus2772026년 10월 21일 업데이트

Use when starting or picking up a non-trivial effort (feature, investigation, perf probe, refactor, migration) in a shared repo where teammates or future agents must coordinate or hand off; when a repo has no durable in-tree record of decisions and dead-ends; when you're about to drop a well-measured negative result; or when bootstrapping a journal from a repo's commit history.

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

iopsystems/rezolus2772026년 10월 21일 업데이트

pr

무료

Create a feature branch, commit changes, push, and open a PR against iopsystems/rezolus

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

iopsystems/rezolus2772026년 10월 21일 업데이트

Tag and push a prerelease from the current Cargo.toml version. Use when the user wants to cut an alpha/beta/rc prerelease. Aborts on stable versions (no `-` in version string) and if the tag already exists.

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

iopsystems/rezolus2772026년 10월 21일 업데이트

release

무료

Create a release PR with version bump and changelog update

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

iopsystems/rezolus2772026년 10월 21일 업데이트

Use when reviewing a Rezolus sampler change before merge — a new sampler, a change to an existing sampler's probes/refresh/metrics, or core changes that affect samplers; or whenever a sampler's overhead, cadence, or data source is in question.

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

iopsystems/rezolus2772026년 10월 21일 업데이트

iopsystems의 스킬 모두 보기

이 스킬의 문제 신고