Files
project-work/worker-toolkit-potion-polyglot/task-shared/test-commands.toml
Eric Bell e55ccea018 Loaded up for the 3rd redo
Still on potion-voice
2026-09-26 14:57:10 -04:00

1124 lines
67 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Per-repo deterministic-signal checks for the grader.
#
# tests/test.sh runs these against the workspace after the agent's changes and
# feeds the output to the grader to inform the correctness score. A repo with no
# entry gets no signals.
#
# Schema: one [<repo>] table (optional: notes, memory_mb, setup) then one
# [[<repo>.checks]] per check (name, cmd, optional baseline_known_failures).
# cmd runs from the workspace root; a non-zero exit is a signal, not an error.
# Browser E2E is excluded everywhere (flaky). confidence: validated | derived |
# inferred | none.
#
# Checks run inside the task's `memory_mb` container. test.sh sizes Node's heap to
# it and exports RACCOON_CHECK_WORKERS (the cpu quota) plus the VITEST_* pool vars;
# jest reads no env var, so a jest cmd must pass --maxWorkers itself.
# confidence: validated
[Palolo-031]
notes = "TS Node20/pnpm8 vitest monorepo (Prisma+Postgres)"
memory_mb = 8192
setup = "cd packages/server && pnpm run prisma generate"
[[Palolo-031.checks]]
name = "vitest (monorepo, all packages)"
cmd = "TZ=UTC PUBLIC_BAAS_ENABLED=yes DEFAULT_BAAS_PROVIDER=Liquid pnpm run test --run --testTimeout=30000 --hookTimeout=60000"
baseline_known_failures = [
"Shared-test-DB contention under parallel load, intermittent: ordering race in packages/server/src/db/financial-accounts.spec.ts > \"Hidden accounts\" (5s hook/test timeout), parallel-load race in packages/server/src/db/client.spec.ts > \"ambient db transactions\"; also surfaces as beforeEach/hook timeouts and \"25P02 current transaction is aborted\" cascades in otherwise-unrelated server specs. Appear/disappear between runs of identical code; not app defects. Runtime-observed 2026-08-09.",
"packages/server/src/services/baas/liquid.spec.ts > simple Liquid integration tests > expected inserts — order-dependent flake (exact row-count assertion on a table shared across parallel spec files); fails on an unmodified tree in roughly half of full parallel runs and passes in isolation and under --no-file-parallelism.",
]
[[Palolo-031.checks]]
name = "eslint"
# Per package, not one pass over the monorepo: `projectService: true` makes a single
# process hold type-aware programs for every package at once, which no heap cap fits.
# Same 906 files (packages/* is the whole lint surface). The find guard skips
# packages with no TS sources, where eslint exits 2 — also its fatal-config code.
# Raise the heap past the 4096 that prior-era test.sh copies hardcode: 8 packages of
# type-aware linting abort at that cap on modal (exit 134). 6 GB fits memory_mb.
cmd = "export NODE_OPTIONS=\"${NODE_OPTIONS:-} --max-old-space-size=6144\"; rc=0; for d in packages/*/; do [ -z \"$(find \"$d\" -path '*/node_modules' -prune -o \\( -name '*.ts' -o -name '*.tsx' -o -name '*.mts' -o -name '*.cts' \\) -print -quit)\" ] && continue; pnpm run lint \"$d\" || rc=1; done; exit $rc"
[[Palolo-031.checks]]
name = "tsc typecheck (all packages)"
cmd = "pnpm run types"
# confidence: validated
[ZenBill-006]
notes = "Polyglot Rails 7 (RSpec) + React (Jest)"
memory_mb = 8192
[[ZenBill-006.checks]]
name = "rspec"
cmd = "DATABASE_URL=postgresql://postgres:secret_password@localhost:5432/r_test DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL=true RAILS_ENV=test bundle exec rspec --exclude-pattern 'spec/{system,integrations}/**/*,spec/services/plaid_service_spec.rb'"
[[ZenBill-006.checks]]
name = "jest"
# Heaviest check we have (134 jsdom suites). The heap cap is load-bearing: Node is not
# cgroup-aware, so uncapped V8 grows to 4.8 GB RSS and the kernel kills the run mid-suite.
# --runInBand is deliberate too: --maxWorkers makes jest hang here once the last suite passes.
cmd = "TZ=UTC NODE_OPTIONS=--max-old-space-size=1536 npx jest --runInBand"
# confidence: validated
[zeta-platform]
notes = "Polyglot Rails 5.1/Ruby 2.6.6 RSpec backend + in-repo CRA(react-scripts 2.1.1)/Jest frontend at /workspace root"
# spec/rails_helper.rb:46 has maintain_test_schema! commented out, so nothing reloads
# the schema if the image entrypoint has not finished doing so.
setup = "until pg_isready -h localhost -p 5432 -U postgres >/dev/null 2>&1; do sleep 0.5; done; RAILS_ENV=test bundle exec rake db:schema:load"
[[zeta-platform.checks]]
name = "rspec"
cmd = "bundle exec rspec"
[[zeta-platform.checks]]
name = "jest-frontend"
cmd = "CI=true NODE_OPTIONS=--openssl-legacy-provider yarn test"
# confidence: validated
[human-essentials]
notes = "Rails 8.0 + RSpec (Ruby 3.4.3, Postgres diaper_test @ en_US.UTF-8)"
# spec/rails_helper.rb:44 has maintain_test_schema! commented out (upstream, 2019),
# so nothing reloads the schema if the image entrypoint has not finished doing so.
setup = "until pg_isready -h localhost -p 5432 -U postgres >/dev/null 2>&1; do sleep 0.5; done; PG_HOST=localhost PG_USERNAME=postgres RAILS_ENV=test bundle exec rails db:schema:load"
[[human-essentials.checks]]
name = "rspec"
cmd = "RAILS_ENV=test PG_HOST=localhost PG_USERNAME=postgres bundle exec rspec --exclude-pattern 'spec/system/**/*,spec/requests/partners/family_requests_requests_spec.rb'"
# confidence: validated
[endsideout]
notes = "Rails 8.1 / Ruby 4.0.0, Minitest + SQLite (no DB service — file-backed)"
# A response that bumps the gemset leaves the lockfile needing an install, which errored the
# whole check and cost one run a -0.05 the agent had not earned. bundle check keeps this a
# no-op when the lockfile is untouched.
setup = "bundle check >/dev/null 2>&1 || BUNDLE_FROZEN=false bundle install --jobs 4 --retry 3"
[[endsideout.checks]]
name = "minitest"
cmd = "RAILS_ENV=test bin/rails db:test:prepare && RAILS_ENV=test bin/rails test"
# confidence: validated
[community-foundation]
notes = "Rails 8.1 / Ruby 4.0.2 + Minitest + SQLite (no DB service"
[[community-foundation.checks]]
name = "minitest"
cmd = "bin/rails db:test:prepare && bin/rails test"
# confidence: validated
[stocks-in-the-future]
notes = "Rails 8.1 / Ruby 3.4.4 + Postgres + Redis, Minitest (~733 tests). Both databases are baked into the image, so start-services.sh only starts postgres/redis; the setup below is the belt-and-braces the sibling Rails repos carry."
setup = "until pg_isready -h localhost -p 5432 -U postgres >/dev/null 2>&1; do sleep 0.5; done; RAILS_ENV=test bin/rails db:test:prepare"
[[stocks-in-the-future.checks]]
name = "minitest"
# Serial is load-bearing, not a speed choice: parallel workers each restart the global
# FactoryBot sequence(:level), which collides with the hardcoded levels below.
cmd = "PARALLEL_WORKERS=1 bin/rails test"
baseline_known_failures = [
"Admin::TeachersControllerTest#test_new_shows_classrooms_when_available (test/controllers/admin/teachers_controller_test.rb:143) — pre-existing, time-dependent failure: test hardcodes Year '2025 - 2026' but Admin::TeachersController#new scopes classrooms to the current school year by today's date, so the expected classroom isn't shown. Latent app-side time-bomb, not an env defect; documented in overview.md.",
"Any test that errors with ActiveRecord::RecordInvalid 'Validation failed: Level has already been taken'. Pre-existing app-side flake, not an env defect: the global FactoryBot sequence(:level) (test/factories/grades.rb:5, consumed by every classroom via test/factories/classrooms.rb) collides with hardcoded levels 5/6/7/9/10 at classrooms_controller_test.rb:30,96, admin/classrooms_controller_test.rb:27,28,51, models/grade_test.rb:62,70 and system/user_manages_classrooms_test.rb:11,32. With workers pinned to 1 there is one seed-dependent window per run instead of one per worker, so it is rare but not impossible. Match on the message, not on a class or method name.",
]
# confidence: validated
[casa]
notes = "Rails 8.0 / Ruby 4.0.3 + RSpec, Node 24 (esbuild+sass), Postgres"
setup = "RAILS_ENV=test bin/rails db:test:prepare"
[[casa.checks]]
name = "rspec"
cmd = "RAILS_ENV=test RUBYOPT='-W:no-deprecated -W:no-experimental' bundle exec rspec --exclude-pattern 'spec/system/**/*'"
[[casa.checks]]
name = "lint-js"
cmd = "npm run lint"
# confidence: validated
[awbw]
notes = "Rails 8.1 / Ruby 4.0.1 + RSpec on real MySQL 8 (Percona) via Trilogy"
setup = "RAILS_ENV=test DATABASE_URL=trilogy://root@127.0.0.1:3306 bin/rails db:test:prepare"
[[awbw.checks]]
name = "rspec"
cmd = "RAILS_ENV=test DATABASE_URL=trilogy://root@127.0.0.1:3306 bundle exec rspec --exclude-pattern 'spec/system/**/*'"
baseline_known_failures = [
"Events::PublicRegistrations GET new 'renders a structured details panel from known event data when enabled' (spec/requests/events/public_registrations_spec.rb:253) and 'pluralizes the date and time labels for a multi-day event' (:273) \u2014 pre-existing, time-dependent failures: both specs hardcode a July 2026 event (start 2026-07-23, end 2026-07-24) and Event#registerable? is `!ended? && ...`, so now that end_date has passed ensure_registerable redirects and response.body is empty (expected \"\" to include \"Platform:\" / \"Dates:\"). Latent app-side time-bomb, began failing 2026-07-25; not an env defect. Runtime-observed 2026-08-07: 4292 examples, 2 failures, identical with and without the setup step.",
]
# confidence: validated
[flaredown]
notes = "Rails 7.1 API (Ruby 3.2.3), Mongoid 8.1 on MongoDB 7.0 + Postgres + Redis + Sidekiq. The app lives in backend/ (not the repo root), so the check cd's into it. The harbor Dockerfile's start-services.sh starts all three datastores, creates flaredown_development/flaredown_test, and loads the Postgres schema for both envs; backend/.env is materialized from env-example with PG host rewritten to localhost. Mongoid creates collections lazily (no schema to load). Browser/acceptance specs are excluded — Ember `ember test` needs a browser on PATH (phantomjs up to pin 5f859e8d, headless Chrome via CHROME_BIN from b0605ff3, which the Explore image now provides though the verifier image does not) and is bad grader signal anyway; the rspec verifier touches neither the client nor a running server. [Runtime-validated 2026-08-04 in the harbor image built from Dockerfile.flaredown @ pin b0605ff3]: 315 examples, 0 failures (~7s, 96.08% coverage) — clean, so no baseline is declared. Unchanged from the earlier validation at pin 5f859e8d (2026-07-20, same 315/0/96%); the only backend change across that pin advance is backend/lib/tasks/app.rake."
# start-services.sh creates flaredown_test after its own pg_isready wait, so the verifier can
# win the race and find no database; db:schema:load cannot create one, db:test:prepare can.
setup = "until pg_isready -h localhost -p 5432 -U postgres >/dev/null 2>&1; do sleep 0.5; done; cd backend && RAILS_ENV=test bundle exec rails db:test:prepare"
[[flaredown.checks]]
name = "rspec"
# Two pre-existing flakes are skipped rather than declared, so a red is always the response's:
# spec/models/food_spec.rb — same_food_1/same_food_2 are both "TestFood #{FFaker::Lorem.word}",
# so a stopword draw gives identical tsvectors and Food.fts has no tiebreaker (4 of 47 runs).
# spec/services/collection_retriever_spec.rb — object_ids.sample(5) x5 over 20 ids can draw
# uniform counts while the assertion is a strict min < max.
# Cost, measured at pin b0605ff3: 9 sound examples of 315, and CollectionRetriever (behind
# api/v1/tags#index and api/v1/foods#index) loses its only spec coverage.
cmd = "cd backend && RAILS_ENV=test bundle exec rspec --exclude-pattern 'spec/system/**/*,spec/models/food_spec.rb,spec/services/collection_retriever_spec.rb'"
# confidence: none
[alongwithyou]
notes = "Rails 8.1 / Ruby 4.0.5, Minitest + SQLite (file-backed, no DB service). This is a fresh scaffold being built with the Dewberry Cancer Center — at the current pin (a017fd43, a single 'First' commit; upstream main has not advanced past it as of 2026-07-20) it ships 0 test files (no *_test.rb), only the ApplicationRecord base class (no domain models), no migrations, no db/schema.rb, and a default routes.rb (just the /up health check), so `bin/rails test` collects 0 examples and there is no deterministic correctness signal to gate on. When real Minitest coverage lands upstream and the pin is bumped, add a `minitest` check like endsideout's (`RAILS_ENV=test bin/rails db:test:prepare && RAILS_ENV=test bin/rails test`)."
# no static verifier for this repo — no deterministic signals (0 tests / stubs / placeholder / live-external).
# confidence: validated
[breezy-complete]
notes = "Rails 7.0 backend/ + Next 14 frontend/ monorepo. Both databases are baked into the image, so start-services.sh only starts postgres/redis; the setup below is the belt-and-braces the sibling Rails repos carry. db:test:prepare, never db:prepare — the latter seeds the test DB."
setup = "until pg_isready -h localhost -p 5432 -U postgres >/dev/null 2>&1; do sleep 0.5; done; cd backend && RAILS_ENV=test bundle exec rails db:test:prepare"
[[breezy-complete.checks]]
name = "rspec (backend)"
cmd = "cd backend && env -u DISABLE_CLERK -u CLERK_SKIP_RAILTIE RAILS_ENV=test CI=true bundle exec rspec"
[[breezy-complete.checks]]
name = "rubocop (backend)"
cmd = "cd backend && env -u DISABLE_CLERK -u CLERK_SKIP_RAILTIE RAILS_ENV=test CI=true bundle exec rubocop app spec db config"
[[breezy-complete.checks]]
name = "eslint (frontend)"
cmd = "cd frontend && npm run lint:ci"
# confidence: validated
[zeta-heimdall]
notes = "Rails 7 API-only (Ruby 3.2.1), Postgres-only, no Node → RSpec is the only suite"
[[zeta-heimdall.checks]]
name = "rspec"
cmd = "RAILS_ENV=test bundle exec rspec --exclude-pattern 'spec/system/**/*'"
# confidence: none
[zeta-hiddentemple]
notes = "Rails + Postgres (ruby:3.2.1)"
# confidence: none
[zeta-switchboard]
notes = "Ruby 3.2.1 CLI/lib"
# confidence: validated
[zeta-hook]
notes = "Rails (ruby:3.1.2), Postgres+Sidekiq/Redis, Kafka not run"
[[zeta-hook.checks]]
name = "rspec"
cmd = "RAILS_ENV=test bundle exec rspec --exclude-pattern 'spec/system/**/*'"
baseline_known_failures = [
"1 pre-existing app-side failure at 2237a90e9 (incoming_hook 'SOURCES' spec); the 17-example suite otherwise passes. Runtime-observed 2026-07-14.",
]
# confidence: validated
[zeta-mule-deprecated]
notes = "Rails + Postgres + Redis (ruby:3.1.2)"
[[zeta-mule-deprecated.checks]]
name = "rspec"
cmd = "RAILS_ENV=test bundle exec rspec --exclude-pattern 'spec/system/**/*'"
# confidence: none
[zeta-hive]
notes = "Rails + RSpec (postgres+redis), ruby 3.2.2"
# confidence: validated
[zeta-px-api]
notes = "Rails (Ruby 3.2.2) + postgres/redis"
[[zeta-px-api.checks]]
name = "rspec"
cmd = "RAILS_ENV=test DEV_DB_USERNAME=postgres bundle exec rspec --exclude-pattern 'spec/system/**/*'"
baseline_known_failures = [
"8 pre-existing app-side spec failures of 29 examples at 2ce2501a6 (spec-vs-code drift, e.g. users_controller expects 403 but the controller returns 401). Runtime-observed 2026-07-14; not an env defect.",
]
# confidence: none
[zeta-plastic]
notes = "Rails + postgres (ruby:3.2.2)"
# confidence: none
[zeta-bureau]
notes = "Rails + Postgres backend (ruby:3.2.2)"
# confidence: none
[zeta-wasabi-platform]
notes = "Rails app on Ruby 3.2.2 + Postgres/Redis; 980 spec files (services 391, graphql 287, models 159, jobs 104, mailers 19, others 20). Dropped to no-verifier at the 2026-07 runtime validation — the full suite ran 7048 examples with 761 pre-existing failures, too noisy to park as a declared baseline. That count was measured at the former default commit 8a5c0211c and has not been re-measured at the current one. Scoping to services+graphql+models would still keep 837 of the 980 files, so it only pays off if those failures concentrate in jobs/controllers/mailers; unverified as of 2026-08-10."
# confidence: none
[zeta-jc-loadtester]
notes = "Ruby 3.2.2 CLI/lib"
# confidence: validated
[zeta-wasabi-web]
notes = "CRA/react-scripts frontend (yarn, node-sass), node:16, no DB/services"
[[zeta-wasabi-web.checks]]
name = "jest (react-scripts test)"
cmd = "CI=true yarn test"
baseline_known_failures = [
"src/auth/tests/Onboarding.spec.js — 2 pre-existing app-side assertion failures at d290ac65f; the react-scripts suite otherwise runs clean. Runtime-observed 2026-07-14.",
]
# confidence: none
[zeta-bureau-ui]
notes = "Create-React-App frontend, Node 16, plain JS (no TS)"
# confidence: validated
[zeta-jarvis]
notes = "CRA TypeScript frontend (node:16, yarn, CI=true baked into ENV, no DB/services per Dockerfile)"
[[zeta-jarvis.checks]]
name = "typecheck"
cmd = "yarn tsc --noEmit"
# confidence: none
[zeta-content-hub]
notes = "Gatsby static site on node:16, deps via yarn (frozen lockfile), no DB/services"
# confidence: none
[zeta-blog]
notes = "Gatsby static blog (node:14-bullseye)"
# confidence: none
[zeta-wasabi-next]
notes = "Next.js app (Node 19), no DB/services"
# confidence: none
[zeta-web-code-challenge]
notes = "Next.js (node:18) coding-challenge app, no DB/services"
# confidence: none
[zeta-wasabi-mobile-bare]
notes = "React Native app on node:18, yarn + Jest (Dockerfile: \"Jest tests"
# confidence: none
[zeta-cx-chatbot]
notes = "Python 3.10.12 Flask CX chatbot, poetry-managed (virtualenvs.create false, poetry install --no-root) per Dockerfile"
# confidence: none
[zeta-agent-tools]
notes = "Python 3.10.12 agent-tools library"
# confidence: none
[zeta-agent-tool-kb-search]
notes = "Python 3.10.12 lib (KB-search agent tool)"
# confidence: none
[zeta-agent-tool-bill-goal-ledgers]
notes = "Python 3.10.12 poetry lib (langchain/langgraph agent tool)"
# confidence: none
[zeta-compiler-agent]
notes = "Python 3.10.12 poetry lib (compiler-agent)"
# confidence: none
[zeta-chatbot-embeddings]
notes = "Python 3.10.12 poetry package (cx-chatbot embeddings ETL: chromadb/langchain/openai)"
# confidence: none
[zeta-predictors]
notes = "Python 3.10.12 ML package (zeta_ds), installed via `pip install .`"
# confidence: none
[zeta-transaction-anomalies-ml]
notes = "Python 3.10.12 ML repo (transaction-anomaly notebooks + SQL)"
# confidence: none
[zeta-dbt]
notes = "Python 3.10.12 dbt project targeting external Snowflake"
# confidence: none
[zeta-ops]
notes = "Ops scripts repo — the whole checkout at pin 23fd7127 is a README, a certs/netlify/ directory holding one .crt, and a single 44-line update_ssl_cert.rb that opens TLS sockets against live *.askzeta.com hosts to check certificate expiry. No test framework, no dependency manifest, and nothing runnable offline, so there is no deterministic correctness signal. Added for parity with the other zeta members (an absent entry and a checkless one behave identically — renderTestCommandsSh returns null either way — but a recorded entry says the repo was assessed rather than overlooked)."
# no static verifier for this repo — no deterministic signals (0 tests / stubs / placeholder / live-external).
# ---- speedwell-polyglot (StrongSuit / Speedwell) gradable Node members ----
# confidence: validated
[strongsuit-app]
notes = "Remix + Prisma + Postgres, Node 20, vitest (tests/unit/**, DB-free). `npx tsc --noEmit` has 1 pre-existing type error (a CSS-import href typing), so it's not used as a check."
[[strongsuit-app.checks]]
name = "vitest (tests/unit)"
cmd = "npx vitest run"
# confidence: validated
[strongsuit-client]
notes = "React/razzle SSR, Node 16, jest (jsdom, DB-free). The pin carries a clean baseline: 59/59 suites, 389 passed, 8 skipped, 0 failures — the 8 pre-existing submit failures are skipped in-file at the pin rather than parked as known failures. A dummy browserVars.js is committed at the pin (the suite imports TINY_API_KEY from it)."
[[strongsuit-client.checks]]
name = "jest (razzle test --env=jsdom)"
# Without --maxWorkers, jest forks to the HOST's cpu count and fills a 4 GiB container.
cmd = "CI=true npm test -- --maxWorkers=\"${RACCOON_CHECK_WORKERS:-2}\""
# confidence: validated
[strongsuit-server]
notes = "Express + MongoDB API, Node 16, jest. The sole test file mocks the model and never opens a Mongo connection, so the verifier is unit-only and needs no DB. Pin includes the notification-template file rename so the suite loads."
[[strongsuit-server.checks]]
name = "jest"
cmd = "npm test"
# ---- speedwell-polyglot: the remaining members ----
# A repo with no (or a currently-unrunnable) suite is still gradable — behavioral-rating tasks
# score from the rubric — so each ships a Dockerfile.<member>; those without a usable suite get
# a notes-only entry (the zeta-ada / zeta-dbt pattern) rather than a check that always fails.
# confidence: none — the suite runs clean at the pin, but its only test is skipped, so there is no signal to check
[speedwell-react]
notes = "Create React App (react-scripts 2.1.2) agenda client on Node 16. The pin carries a clean baseline (`CI=true react-scripts test` exits 0): a committed axios manual mock works around axios 1.x shipping ESM that this react-scripts' bundled Jest can't transform, and the one CRA smoke test is skipped in-file. A suite whose only test is skipped gives no deterministic signal, so no check is declared — `npm run build` is the meaningful mechanical check, and tasks are gradable via the rubric."
# ---- speedwell-polyglot: the remaining members ----
# NONE of these has a test suite, so every entry is notes-only: no deterministic-signal check. That
# is deliberate — a repo with no suite is still gradable (behavioral-rating tasks score from the
# rubric), and inventing a check that always fails would be worse than none. Runtime-verified: every
# image below builds, and ships the `claude` CLI, python3 >=3.10 for str_replace_editor, and a
# baseline commit.
# confidence: none
[strongsuit-chrome-extension]
notes = "Browser extension (WXT-style entrypoints/ + lib/, Jotai state), Node 20 per its own .nvmrc, npm. 169 commits — the most actively developed non-core repo in the estate. No test suite."
# confidence: none
[speedwell-agenda-builder]
notes = "Create React App agenda builder on Firebase/Firestore, era-matched Node 14 (react-scripts 3.0.1 / react 16.8 pre-date modern Node's OpenSSL). Ships firestore.rules + indexes, so the security rules are part of the task surface. No test suite. Dep install is non-fatal: firebase 6.x pulls grpc@1.20.3, which has no prebuilt binary for node 14 on arm64 and falls back to a node-gyp source compile that fails there (it may install on an x86_64 runner)."
# confidence: none
[speedwell-node-a2g-sync]
notes = "Node 20 sync service (server.js + src/), yarn. No test suite."
# confidence: none
[hello-sunshine]
notes = "Botkit/MongoDB example bot app. package.json declares engines.node 8.x, but no node:8 image exists on a supported Debian base (Node 8 EOL 2019), so it runs on the closest workable base. Dep install is non-fatal — the era-old bson/mongodb set may want native rebuilds. No test suite."
# confidence: none
[strongsuit-zingle]
notes = "Zingle -> Airtable integration script, Node 20, npm. No test suite."
# confidence: none
[strongsuit-member-feedback-to-airtable]
notes = "Typeform -> Airtable member-feedback integration, Node 20, npm. No test suite."
# confidence: none
[strongsuit-assistant-chrome-plugin]
notes = "Assistant Chrome plugin (vanilla JS + HTML), Node 20, npm. No test suite."
# confidence: none
[strongsuit-assets]
notes = "Shared HTML asset/template set (~3.8k lines across 24 templates), Node 20. Has a package.json but no committed lockfile, so the install is best-effort npm rather than the default frozen-lockfile yarn; the templates are the substrate, not the deps. No test suite."
# confidence: none
[strongsuit-chrome-extension-OG]
notes = "The original (superseded) Chrome extension, vanilla JS, ~1.4k lines. No package.json at all, so the dep step is a no-op by design. No test suite."
# confidence: none
[strongsuit-arial]
notes = "Python 3.10 Gmail/storage/task scripts deployed to App Engine. requirements.txt dates from 2020 (there are dated siblings, requirements-10202020.txt etc.), so the install is non-fatal; the scripts plus a working python3 are the substrate. No test suite."
# confidence: validated — `go build ./...` clean and `go test ./...` -> ok jobs/tests, run in the
# real harbor image (golang:1.22) via the grader's own `bash -lc` invocation.
[jobs]
notes = "Go 1.22 jobs/handler service, no external services. The image pre-downloads modules and puts /usr/local/go/bin on the LOGIN-shell PATH (tests/test.sh runs each check with `bash -lc`, which resets PATH and would otherwise lose `go`). The pin restores the generic word \"jobs\", which the vendor's anonymizer had replaced with an invalid Go identifier."
[[jobs.checks]]
name = "go test"
cmd = "go test ./..."
# confidence: validated — both checks run clean in the real harbor image (terraform 1.9.8):
# `terraform validate` -> "Success! The configuration is valid." and `fmt -check` is clean at the pin.
[terraform]
notes = "GCP infrastructure-as-code (network / firewall / datastream / cron). No test suite, but terraform itself supplies real deterministic signals: the image pre-fetches the pinned hashicorp/google 5.29.0 provider via `terraform init -backend=false` at build time, so validate works in the sandbox. Variables (pg_pass, GOOGLE_CREDENTIALS, stripe/cron/customerio keys) are declared without defaults, so validate is meaningful while plan/apply would need credentials that are deliberately absent."
[[terraform.checks]]
name = "terraform validate"
cmd = "terraform validate"
[[terraform.checks]]
name = "terraform fmt (check)"
cmd = "terraform fmt -check -recursive"
# confidence: validated — 33 tests, 0 failures, 1 skipped in the real harbor image (elixir:1.17 +
# Postgres), run through the grader's own `bash -lc`.
[strongsuit_phx]
notes = "Phoenix/Elixir + Postgres, ExUnit. The repo's `test` alias runs ecto.create + ecto.migrate, so the suite provisions its own database against the baked Postgres (config/test.exs points at database \"postgres\" on localhost, which trust auth accepts). The pin makes this work from scratch: Elixir-valid module aliases, two migrations made safe on an empty database, and a test_helper seed for the system user / person / family rows that exist in deployed environments but not in a fresh DB. One test is skipped in-file — delete_cronofy_account/1 revokes against Cronofy's live API and can't pass without real credentials."
[[strongsuit_phx.checks]]
name = "ExUnit (mix test)"
cmd = "mix test"
# confidence: none
[strongsuit-platform]
notes = "Python 3.10 platform/ops scripts (data migrations, CSV dumps, demo-user seeding). No test suite, so no deterministic-signal check — gradable for rubric-scored tasks over the scripts themselves. Runtime-verified: the image ships the source + a working python3 3.10 and the `claude` CLI, but the repo's own deps are NOT installed: requirements.txt pins numpy==1.20.1, which has no python-3.10 wheel (3.10 support arrived in numpy 1.21.3) and fails to build from source without a Fortran toolchain. The install is therefore non-fatal by design. A task that needs those libraries must install/relax them itself; the pinned deps only drive scripts talking to MongoDB/GCS, which are unreachable in a sandbox regardless."
# confidence: validated
[rust-defrag]
notes = "Cargo workspace (Actix server + move_finder/scheduler libs); 232+ tests, no DB. Placeholder JWT public pems committed at pin (include_str! requires them)."
memory_mb = 8192
[[rust-defrag.checks]]
name = "cargo test (workspace)"
cmd = "cargo test --workspace"
# confidence: validated
[cql-v2]
notes = "Poetry-backend pyproject (package dir cql/; include + scripts fixed at pin). freezegun is a test dep."
[[cql-v2.checks]]
name = "pytest"
cmd = "python -m pytest -q"
# confidence: validated
[preference-schedule-demo]
notes = "FastAPI scheduler; suite lives under server/ (pytest.ini testpaths=tests)"
[[preference-schedule-demo.checks]]
name = "pytest (server/)"
cmd = "cd server && python -m pytest -q"
# confidence: validated
[defrag-powers-of-ten]
notes = "Vite/vitest visualization over scrubbed defrag fixtures (test mocks de-collapsed at pin; the li-tag restoration also fixed vite build)."
[[defrag-powers-of-ten.checks]]
name = "vitest"
cmd = "npx vitest run"
# confidence: validated
[dbt]
notes = "dbt models target Snowflake (no in-sandbox run), but the event-classification helper scripts ship a real pytest suite (17 tests, dep-free)."
[[dbt.checks]]
name = "pytest (scripts/)"
cmd = "python -m pytest scripts/ -q"
# confidence: validated
[python-analysis]
notes = "The swagger services_client ships 794 generated-model pytest tests that pass offline; run from services_client/ so `import swagger_client` resolves. Deps (six/urllib3/certifi/dateutil/requests + pytest) are baked into the image."
[[python-analysis.checks]]
name = "pytest (services_client)"
cmd = "cd services_client && python -m pytest test/ -q"
# confidence: validated
[interpreter_interview]
notes = "Custom TS interpreter with an assertion suite; lib/ is gitignored so build first."
[[interpreter_interview.checks]]
name = "build + node ./lib/tests"
cmd = "npm run build && npm test"
# confidence: validated
[calendar-classic]
notes = "React/Relay client; jest 25 suites / 233 tests (schema:types codegen runs first via the script). @clockwise deps vendored in-repo."
[[calendar-classic.checks]]
name = "jest"
cmd = "yarn test:once"
# confidence: validated
[webserver]
notes = "TS/Apollo backend; jest (6 suites / 25 tests) + tsc production build both green. @clockwise deps vendored in-repo."
[[webserver.checks]]
name = "jest"
cmd = "yarn test"
[[webserver.checks]]
name = "tsc production build"
cmd = "yarn ts:build"
# confidence: validated
[mcp-server]
notes = "33-test node --test suite via ts-node. Explicit file list — the npm script's src/**/*.test.ts glob needs shell globstar, which sh lacks."
[[mcp-server.checks]]
name = "node --test"
cmd = "node --require ts-node/register --test $(find src -name '*.test.ts')"
[jwt-encryption-decryption]
notes = "Standalone Spring utility (no DB at context load); mvn test passes offline. Most sibling services' contextLoads need live services — promote per-task after validating."
[[jwt-encryption-decryption.checks]]
name = "mvn test"
cmd = "mvn -B test"
# ---- potion-polyglot (Potion) ----
# 52 members. Only the entries below have deterministic checks or notes worth recording;
# the rest have no inherited suite and are rubric-scored, which is a first-class outcome
# here rather than a gap — a member with no tests is still gradable because the worker
# authors the verifier alongside the task.
# confidence: validated
[potion-app]
notes = "Nuxt 2 + Express, Node 16, jest/jsdom. **GREEN at the pin: 13 suites / 27 tests, exit 0.** Getting there took fixing four real harness bugs rather than declaring known failures: dotenv was loading nothing (`.env` is gitignored and absent, so JwtStrategy, analytics-node, aws-sdk and JSON.parse(FIREBASE_CONFIG) all threw at import — the jest setup now points dotenv at the committed `.env.client.development`), `@babel/plugin-proposal-class-properties` was missing from the test env, `global.analytics` did not exist for specs that assign to it, and one spec still imported a component an upstream refactor had moved. Those took the executed-test count from 48 to 76. The suites that remained red are skipped explicitly in `jest.config.js` with the reason: 14 test components that same refactor DELETED, 8 are browser E2E needing Chrome plus a built .crx, 4 crash the jest worker, 1 file has no tests, and the rest assert against markup and store shapes that have drifted. **This member's harbor image runs MongoDB** (services: ['mongo'] in gen-harbor-dockerfiles.ts) because the user and email model suites call mongoose.connect directly — without it they fail on infrastructure and the graded baseline is 5 suites, not 7. [Runtime-validated 2026-08-04 in the harbor image built from Dockerfile.potion-app: mongod 8.0.4 listening, 13 suites / 27 tests, exit 0.]"
[[potion-app.checks]]
name = "vitest/jest unit suites"
# --maxWorkers as above. Not verified at 4 GiB — no image could be built to measure it.
cmd = "npx jest --coverage=false --maxWorkers=\"${RACCOON_CHECK_WORKERS:-2}\""
# confidence: none
[potion-custom-domain-app]
notes = "Nuxt 2 custom-domain app that vendors a copy of potion-app. **Deps do not install** on any Node in the image with default flags: hawk@0.10.2 pins engines to node 0.8.x, and an `emitter` dep resolves to a GitHub http archive whose auto-generated tarball no longer hashes to the lockfile value (GitHub regenerates those non-deterministically, so it never will again). Read-and-edit substrate; a task needing deps must relax those itself."
# confidence: none
[potion-qa]
notes = "Selenium + jest QA automation pointed at a production app that no longer exists, so the suite cannot pass offline and is not a usable verifier. Gradable for rubric-scored tasks over the automation code itself."
# confidence: none
[potion-snapshot-testing]
notes = "Playwright visual-regression suite against the same dead target. Its baseline screenshots were additionally replaced with privacy placeholders (they rendered real names and faces), so image comparisons cannot pass by construction — do not read those failures as a regression."
# confidence: none
[potion-web]
notes = "Nuxt 3 front end, Node 18. No test suite, but `npm run build` is a real deterministic check and it is **GREEN at the pin** (`Server built in ~15s`, Nitro server built, 18.3 MB). It was NOT green before 2026-08-04 and had no check wired, which is how it stayed broken: `pages/privacy-policy.vue` and `pages/terms.vue` import two PDFs the export never shipped (potion-app received placeholders for both; this repo received neither), and the product-name rename had lowercased PascalCase component paths, which vite resolves case-sensitively inside the container — `Could not resolve ./PotionStepper`. Both fixed at the pin. Boots offline with no database and no runtime auth, which also makes it the useful control member when checking that the Explore image itself is sound."
[[potion-web.checks]]
name = "nuxt build"
cmd = "npm run build"
# confidence: none
[potion-api]
notes = "Express API on mongoose 8, Node 20. 12+ jest test files are committed but jest, supertest and sinon were all removed from devDependencies upstream, so the suite cannot run at the pin without reinstating them — deliberately left as-is rather than papered over, since a task may legitimately be about that. The sinon-mocked service suites are DB-free; the Mongo-dependent integration suites are mongoose-5-vs-8 rot. Mongo itself IS available (baked into the Explore image), so a task that wants it has it."
# confidence: none
[potion-wp-site]
notes = "WordPress 5.9.2 checkout whose first-party code is the custom `wp-content/themes/potion` theme (an Automattic _s derivative, 27 PHP files). No test suite; `lint:php` is the deterministic signal and it is **GREEN at the pin** — `Checked 27 files ... No syntax error found`, exit 0. Its Dockerfile is hand-authored (PHP is not a runtime kind the generator knows), and authoring a task against this member surfaced three defects in it that each made the member ungradable — none catchable by the release gate, which only walks the default member: (1) `COPY repo /workspace` while build-workspace.sh materialises `environment/workspace/`, so the build failed with `/repo: not found`; (2) it ASSERTED python3 >=3.10 on the claim that php:8.1-bookworm ships python3.11 — it does not, so the build died exit 127 and the agent`s str_replace_editor would have had no interpreter; (3) `composer install` was best-effort and silently left a half-populated vendor tree, because composer 2 blocks advisory-flagged packages (the theme`s own linter) and aborts a non-interactive install unless phpcodesniffer-composer-installer is explicitly allowed. All three fixed; vendor/bin now has parallel-lint, phpcs and wp. **`lint:wpcs` is deliberately not a check**: it now runs (it used to exit 3 with no standard registered) but reports 114 pre-existing errors + 1 warning across 26 files of first-party theme code, 74 phpcbf-autofixable — inherited style debt, not a correctness signal, and mass-reformatting 26 files to green it would change the substrate more than the signal is worth. A task specifically about WordPress coding standards can re-add `cd wp-content/themes/potion && composer lint:wpcs`. No database is needed to grade; *running* the site would need MySQL plus one of the two committed SQL dumps, which is why the member is not bootable in Explore. [Runtime-validated 2026-08-04 in the harbor image built from Dockerfile.potion-wp-site.]"
[[potion-wp-site.checks]]
name = "php-parallel-lint"
cmd = "cd wp-content/themes/potion && composer lint:php"
# --- Potion members carrying test FILES but no runnable suite -----------------
# Surveyed all 52 members 2026-08-04: 17 match a test-file pattern, but only
# potion-app / potion-web / potion-wp-site have a wired, green check. The entries
# below record why the rest have none, so `build-workspace.sh` reporting "no
# checks" reads as a measured fact rather than a gap someone forgot to fill.
[lambda-video-processing]
notes = "Claudia lambda. Carries `app/services/ffmpeg/__tests__/*_test.js`, but no test runner is installable at the pin: `test` is still the npm placeholder (`echo \"Error: no test specified\" && exit 1`) and jest appears in neither package.json nor the lockfile. The files are orphaned upstream, not a failing suite — there is nothing to run and nothing to skip. Same shape in the five sibling ffmpeg services below."
[microservice-dynamic-screen-recording]
notes = "Same orphaned ffmpeg `__tests__` files and npm placeholder `test` script as lambda-video-processing; no runner in package.json or lockfile."
[microservice-potion-voice]
notes = "Same orphaned ffmpeg `__tests__` files and npm placeholder `test` script as lambda-video-processing; no runner in package.json or lockfile."
[potion-dynamic-screen-recording-lambda]
notes = "Same orphaned ffmpeg `__tests__` files and npm placeholder `test` script as lambda-video-processing; no runner in package.json or lockfile."
[potion-video-processing]
notes = "Same orphaned ffmpeg `__tests__` files and npm placeholder `test` script as lambda-video-processing; no runner in package.json or lockfile."
[potion-video-background-change]
notes = "Same orphaned ffmpeg `__tests__` files and npm placeholder `test` script as lambda-video-processing; no runner in package.json or lockfile."
[potion-voice-dataset]
notes = "Python dataset tooling. `requirements.dev.txt` does declare pytest and `tests/test_get_potion_recordings.py` exists, but the single test it contains has never been executable and cannot be made green without authoring it: it patches `mymodule.boto3.client` (a placeholder module that does not exist in this repo), and its mocked S3 objects omit the `LastModified` key that `select_files` reads first, so it dies on KeyError before reaching an assertion. Completing the fixture does not rescue it — the anonymisation pass rewrote nine distinct S3 object keys, and the assertion's own expected set, to the same `[REDACTED_generic-api-key]` token, so `select_files` counts zero salutation files and the expected value is now a redaction placeholder. Deliberately left as-is: fixing it means writing both the input fixture and the expected output, which is authoring a test rather than repairing a harness."
[lambda-datadog-forwarder]
notes = "Datadog log forwarder. Its only test files live under `future/backports/test/` — that is the vendored `future` package's own test tree, not first-party code. No first-party suite."
[potion-tryon]
notes = "Vendored detectron2 + DensePose inference code. Nothing here is a test suite: `densepose/modeling/test_time_augmentation.py` is the test-time-augmentation module and the `*_test.yaml` files under `detectron2/model_zoo/configs/quick_schedules/` are model configs. Rubric-graded substrate."
[yeahsure-tryon]
notes = "Same vendored detectron2 + DensePose tree as potion-tryon; the `test`-named files are the TTA module and model-zoo configs, not a suite."
[wav2lip-fa]
notes = "Wav2Lip fork. `discriminator_test.py` is an argparse training/eval entry point (it builds an optimizer and a DataLoader), not a unit test. No suite."
# confidence: validated
[usaddress]
notes = "Python 3.11 address parser (pycrfsuite). The trained usaddr.crfsuite model is not shipped, so tests/conftest.py skips the tests that need it; 8 run."
[[usaddress.checks]]
name = "pytest"
cmd = "python3 -m pytest -q --no-header -p no:cacheprovider"
# confidence: validated
[atc-crawlers]
notes = "Python 3.11 poetry Scrapy crawler platform (src/atc_crawlers), ~152 pytest tests, CI-enforced (.github/workflows/lint_and_test.yml)."
[[atc-crawlers.checks]]
name = "pytest"
cmd = "PYTHONPATH=src python -m pytest tests/ --reactor=asyncio --ignore=tests/atc_crawlers/common/scrapy/test_proxy_rotation/test_playwright_middleware_and_downloader.py -q -p no:cacheprovider"
# confidence: validated
[customer-application-frontend]
notes = "CRA 5 + craco React/TypeScript client (Node 18, yarn), jest/jsdom."
[[customer-application-frontend.checks]]
name = "jest (CRA/craco)"
cmd = 'CI=true yarn test --maxWorkers="${RACCOON_CHECK_WORKERS:-2}"'
# confidence: validated
[qa-app-backend]
notes = "Python 3.9 poetry FastAPI QA/property service. PYTHONPATH=src because the image installs with --no-root. OpenSearch is baked in (services: opensearch) and started by start-services, which is what lets the five formerly-excluded synchronizer/repository suites run. 157 tests pass at the pin. The one remaining exclusion is test_properties_api.py: its two tests assert that insert_properties deletes existing properties on full_replace, but that branch is commented out in src/app/api/crawlers/api.py at this pin, so the tests are stale against the code rather than blocked by the environment."
[[qa-app-backend.checks]]
name = "pytest (offline subset)"
cmd = "PYTHONPATH=src python -m pytest tests/ -q -p no:cacheprovider --ignore=tests/app/api/properties/test_properties_api.py"
# confidence: validated
[atc-crawlers-parsers]
notes = "Python 3.11 poetry crawler/parser library. PYTHONPATH=src because the image installs with --no-root. The dummy AWS_* values satisfy botocore's credential lookup at import (the suite is offline; boto is stubbed), without which every module errors with NoCredentialsError. 459 tests pass at the pin."
[[atc-crawlers-parsers.checks]]
name = "pytest"
cmd = "PYTHONPATH=src AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=test AWS_DEFAULT_REGION=us-west-2 python -m pytest tests/ -q -p no:cacheprovider"
# confidence: validated
[ai-data-extraction]
notes = "Python 3.10 hatchling lib (atc_ai). No test suite anywhere and ruff (the only configured linter) is not installed in the image, so the signal is a byte-compile of the 22 source files: syntax-level only, but deterministic and offline."
[[ai-data-extraction.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[web-scraper]
notes = "Python 3.9 scraper collection. No runnable suite in-image, so the signal is a byte-compile of the 37 source files: syntax-level only, but deterministic and offline."
[[web-scraper.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[data-pipelines]
notes = "Python 3.7 poetry crawler platform (704 source files). Its pytest suite is NOT used: the code imports pydantic, which is declared neither in pyproject nor the lock, so 39 modules fail to import and the remainder still needs DB schema and services. Byte-compile is the honest deterministic signal here."
[[data-pipelines.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[search-api-v2]
notes = "Python 3.11 poetry FastAPI search service — the estate's default member. Mirrors the repo's own ci.yml: OpenSearch is baked into the image (services: opensearch) and started by the entrypoint, setup applies the repo's sql/*.sql DDL and scripts/opensearch/add-indexes.sh, and ENV=ci makes the client talk plain HTTP. 513 tests pass at the pin."
setup = "su postgres -c 'createdb atc_research' >/dev/null 2>&1; su postgres -c 'psql -q -d atc_research -c \"CREATE EXTENSION IF NOT EXISTS postgis;\"' >/dev/null 2>&1; for f in sql/*.sql; do psql -q -f \"$f\" postgresql://postgres@localhost:5432/atc_research >/dev/null 2>&1; done; bash scripts/opensearch/add-indexes.sh localhost:9200 >/dev/null 2>&1"
[[search-api-v2.checks]]
name = "pytest"
cmd = "PYTHONPATH=src ENV=ci OPENSEARCH_NODE=localhost OPENSEARCH_PORT=9200 python -m pytest tests/ -q -p no:cacheprovider"
# confidence: validated
[back-end]
notes = "Node 16 Express service; the app lives under src/ (nodeAppPath), which is why the image now installs there — before that the root install found no package.json and pulled nothing. No test/lint/typecheck script and no tsconfig, so the signal is a per-file `node --check` syntax pass over the 31 committed .js files."
[[back-end.checks]]
name = "node --check (syntax)"
cmd = 'n=0; while IFS= read -r f; do node --check "$f" || exit 1; n=$((n+1)); done < <(find . -name "*.js" -not -path "*/node_modules/*" -not -path "*/.next/*"); echo "syntax-checked $n files"'
# confidence: validated
[stitcher-backend]
notes = "Node 20 service under app/ (nodeAppPath). Uses npm, not yarn: app/ ships package-lock.json, and yarn ignores it and resolves latest, which walks the engine floor up (bson >=20.19, then commander >=22.12). No test script, so the signal is a per-file `node --check` over the 62 committed .js files."
[[stitcher-backend.checks]]
name = "node --check (syntax)"
cmd = 'n=0; while IFS= read -r f; do node --check "$f" || exit 1; n=$((n+1)); done < <(find . -name "*.js" -not -path "*/node_modules/*" -not -path "*/.next/*"); echo "syntax-checked $n files"'
[rap-verse-ai]
notes = "Next 13 / TypeScript rap-verse app (Supabase auth + Stripe checkout) on node:18 with yarn;"
[[rap-verse-ai.checks]]
name = "next lint"
cmd = "yarn lint"
# confidence: validated
[uberduck-audiogram]
notes = "Remotion 3.0 audiogram video project (React 17 + TypeScript 4.4, yarn, no DB/services)."
[[uberduck-audiogram.checks]]
name = "tsc typecheck"
cmd = "npx tsc --noEmit"
# confidence: validated
[uberduck-remotion-isomorphic]
notes = "Tiny TypeScript/React helper library for remotion (one 64-line src/index.tsx, yarn, no DB/services)."
[[uberduck-remotion-isomorphic.checks]]
name = "tsc typecheck (esm + cjs)"
cmd = "npx tsc -p tsconfig.json && npx tsc -p tsconfig-cjs.json"
# confidence: validated
[fast-mvp]
notes = "Python 3.10 monorepo; the Python service lives under py/. The suite runs with --noconftest because the repo's conftest imports the app's settings, which need env this image does not provide; the 2 collected tests are pure unit tests."
[[fast-mvp.checks]]
name = "pytest (py/)"
cmd = "cd py && POSTGRESQL_PASSWORD=secret_password python -m pytest test -q --noconftest"
# confidence: validated
[speak-more-good]
notes = "Node 18 Next.js app; no test suite, so the deterministic signal is the repo's own configured `next lint` (eslint), which is clean at the pin."
[[speak-more-good.checks]]
name = "next lint"
cmd = "npm run lint"
# confidence: validated
[uberduck]
notes = "Monorepo with no root dependency manifest, so nothing is installed at the root. Its uberduck-py suite is NOT runnable at any price: conftest imports uberduck_ml_dev, which requirements.in sources from git+https://github.com/uberduck-ai/uberduck-ml-dev@ef9edd85 — that repo now 404s and the package is vendored nowhere in the estate. (Everything else resolves: ~12 pip packages incl. CPU torch, 5 placeholder env vars, and Python 3.10 rather than 3.11, where aioredis raises 'duplicate base class TimeoutError'.) The signal is therefore a byte-compile of the member's own ~380-file uberduck-py package."
[[uberduck.checks]]
name = "byte-compile (uberduck-py)"
cmd = "python3 -m compileall -q uberduck-py && echo \"compiled $(find uberduck-py -name '*.py' | wc -l) source files\""
# confidence: validated
[audiogram-template]
notes = "Remotion 3 audiogram template (node 20, yarn). No test suite, so the signal is the typecheck. simplex-noise and @react-icons/all-files were imported by src/EndScene.tsx but never declared, so tsc failed TS2307 on a clean install; both are now declared upstream and tsc is clean."
[[audiogram-template.checks]]
name = "tsc typecheck"
cmd = "npx tsc --noEmit"
# confidence: validated
[RWKV-matthew]
notes = "RWKV fork with a first-party TTS adaptation layer (43 source files). No test suite anywhere in the tree, and training entry points need a GPU plus downloaded weights, so the deterministic signal is a byte-compile."
[[RWKV-matthew.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[rvc-mangio-training]
notes = "RVC training fork (76 source files). No test suite; everything is GPU/weights-dependent, so the deterministic signal is a byte-compile."
[[rvc-mangio-training.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[StyleTTS2]
notes = "StyleTTS2 fork with first-party changes (28 source files). No test suite; inference and training both need downloaded weights, so the deterministic signal is a byte-compile."
[[StyleTTS2.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[unforgettable-ai]
notes = "Python 3.11 service (27 source files). Its py/test suite is NOT used: requirements pip-install a sibling private repo over an authenticated GitHub URL whose credential is correctly redacted, so the install is non-fatal and pytest is absent. Byte-compile is the deterministic signal."
[[unforgettable-ai.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[zacotron]
notes = "nbdev v1 TTS project (44 source files). Its notebook suite is NOT used: nbdev_test_nbs executes notebooks and the pinned fastcore no longer provides the symbol nbdev v1 imports. Byte-compile is the deterministic signal."
[[zacotron.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[uberduck-ml-exp]
notes = "ML experiment repo (18 source files at the pin). No test suite — the files matching *test* are training configs, not suites — so the deterministic signal is a byte-compile."
[[uberduck-ml-exp.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[meeting-tool]
notes = 'Python 3.10 meeting service (33 source files). Its py/test suite is NOT used: app/settings.py hardcodes DB_USER = \"uberduck\" and the fixtures need a pre-migrated schema the repo does not ship, so 2 of 3 tests error on a clean image. Byte-compile is the deterministic signal.'
[[meeting-tool.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[saas-splash]
notes = "Node 18 Next app under app/ (nodeAppPath) — before that the root install found no package.json and pulled nothing. No test suite, so the deterministic signal is the production build."
[[saas-splash.checks]]
name = "next build"
cmd = "cd app && NEXT_TELEMETRY_DISABLED=1 npm run build"
# confidence: validated
[tacotron2-onnx-demo]
notes = "Node 18 Next/ONNX demo. The TTS models were never committed so the inference path cannot run; the repo's own configured `next lint` is the deterministic signal and is clean at the pin."
[[tacotron2-onnx-demo.checks]]
name = "next lint"
cmd = "npx next lint"
# confidence: validated
[uberduck-terraform]
notes = "Terraform infrastructure (EKS, karpenter, RDS). `terraform validate` is not usable: init resolves registry modules that now require aws >= 6.28.0 while the committed lock pins 5.39.1, so it cannot resolve deterministically. `fmt -check` needs no init and is canonical; 7 files of alignment drift were formatted upstream to make it green."
[[uberduck-terraform.checks]]
name = "terraform fmt -check"
cmd = "terraform fmt -check -recursive"
# confidence: validated
[voice-builder]
notes = "SvelteKit app plus a livekit-agents Python worker (24 source files). Its pytest suite is NOT used: 13 of 27 tests fail on livekit API drift (unpinned requirements), and excluding the affected files leaves only 2 tests. Byte-compile is the deterministic signal."
[[voice-builder.checks]]
name = "byte-compile"
cmd = "python3 -m compileall -q . && echo \"compiled $(find . -name '*.py' | wc -l) source files\""
# confidence: validated
[coaches]
notes = "Node 18 TypeScript backend under backend/ (nodeAppPath). Its jest suite is NOT used: prisma targets mysql, which this image does not run, and even with MariaDB provisioned 21 of 46 tests still fail on unregistered routes (expect 401, get 404) — a pre-existing app issue. The repo's own `tsc` build step is clean at the pin and needs no services."
[[coaches.checks]]
name = "tsc typecheck"
cmd = "cd backend && npx tsc --noEmit"
[xkit]
notes = "Elixir 1.13.3 / OTP 23, Phoenix, ExUnit. The harbor base is pinned to the hexpm elixir 1.13.3 + erlang 23.3.4.11 combo (baseImage) because the official elixir:1.13.3 bundles OTP 24, which removed :crypto.block_encrypt — the old Cloak AES.GCM cipher this app uses calls it, so the whole suite crashed (658 failures) on the official image; xkit's .tool-versions pins OTP 23. The ~20 config/runtime.exs env_var!s are baked as dummy imageEnv (VAULT_KEY is a valid base64 32-byte for Cloak; CUSTOMER_LAMBDA_LAYER_ARN is the literal value the AwsMock's @layer_request_url encodes). `mix ecto.create && migrate && mix test` now RUNS — 933 tests, ~46 failures on dummy env (the explore image with real secrets sees ~15; the delta is dummy JWT key + a few unmatched Tesla mocks). Kept on `mix compile --force` as the wired check — the 46 are varied (match/assert/mock) and not cleanly wireable to 0 without the original .env; the full suite is a runnable reference for task authors."
[[xkit.checks]]
name = "mix compile"
cmd = "mix compile --force"
[epigrammar]
notes = "Elixir 1.8.2-otp-22, Phoenix, ExUnit. WIRED, clean baseline: `mix ecto.create && mix ecto.migrate && mix test` → 245 tests, 0 failures. The 4 formerly-failing tests exercise the annotation ranker (lib/epigrammar/annotations/ranker.ex), which shells out to python3 via erlport into priv/annotation-topic-mod (imports numpy); the harbor image now installs numpy (pinned ==1.23.5 — the code uses np.int, removed in numpy 1.24) via the pyRuntime member field, so those pass. config/test.exs points at localhost; no runtime.exs, no extra env."
[[epigrammar.checks]]
name = "ExUnit (mix test)"
cmd = "mix ecto.create && mix ecto.migrate && mix test"
[epihub]
notes = "Elixir 1.10.4-otp-23, Phoenix, ExUnit. Validated in the harbor image: `mix ecto.create && mix ecto.migrate && mix test` runs the suite — 515 tests, 80 pre-existing failures (data-dependent; several assert on seed identities our PII scrub tokenized, not individually triaged). The image bakes the compile-time ZOOM_* vars as ENV; no runtime.exs. `mix compile --force` is the deterministic image-fidelity check (green); the full `mix test` above is the reference suite for task authors."
[[epihub.checks]]
name = "mix compile"
cmd = "mix compile --force"
[odder-phx]
notes = "Elixir 1.18-otp-27 (harbor base pinned to elixir:1.18.4-otp-27 / OTP 27.3: 27.2.x has a TLS cert regression that breaks hex/rebar + precompiled-NIF fetches), Phoenix + Oban (Postgres-backed, no Redis), ExUnit. WIRED, clean baseline: `mix ecto.create && mix ecto.migrate && mix test` → 343 tests, 0 failures. All 54 former failures were fixed at the member tip (re-pinned): a 13-byte `REDACTED_SECRET` scrub placeholder for secret_key_base (Plug's cookie store needs >= 64 bytes) → 96-char test key; missing lazy_html (phoenix_live_view 1.2's LiveViewTest parser) added to mix.exs; 5 floki-era `:fl-contains` selectors rewritten to the engine-agnostic `element(sel, text)` form. config/runtime.exs 29–59 is UNGUARDED System.fetch_env! and the APNS `else`/test branch fetches two more, so ~16 dummy vars are baked as image ENV (the suite mocks those services)."
[[odder-phx.checks]]
name = "ExUnit (mix test)"
cmd = "mix ecto.create && mix ecto.migrate && mix test"
[salesform]
notes = "Ruby 3.2.1, Rails / Bullet Train, Minitest (`bin/rails test`, salesform_test DB provisioned by the image entrypoint). Boots in :test with NO master key (require_master_key unset; Rails auto-generates the test secret), bin/rails baked via railsBinstub. Per-test re-seed slowness FIXED at the member tip: test_helper seeds the roles/languages reference data ONCE (kept out of DatabaseCleaner's :deletion) — the full suite dropped from hours to ~43s (285 runs, serial: PARALLEL_WORKERS=1; parallel hits a DRb Proc-marshal crash). SUITE INTENTIONALLY NOT WIRED (skip, per a clean-baseline pass): ~41 of the 285 are DEEP, varied pre-existing reconstruction/behavioral failures — Xkit CRM-sync worker tests (booking_worker: host/prospect not synced), account controller tests, and Booking model validity, plus scattered NoMethodErrors (prospect=, host, email=, starts_with on nil). These are not a few schema-confirmed gaps (Booking uses `has_many :prospects, through: :guests`, so restoring a direct `belongs_to :prospect` for the vestigial prospect_id is a guess), so fixing them faithfully needs the original source — a reconstruction-fidelity follow-up, not blind edits. Leaving it unwired keeps the grader baseline clean."
[skunkworks]
notes = "Ruby 3.3.0, Rails / Bullet Train, Minitest (`bin/rails test`, skunkworks_test DB; bin/rails baked via railsBinstub). One boot blocker FIXED: config/initializers/pinecone.rb reads PINECONE_API_KEY + PINECONE_ENVIRONMENT via ENV.fetch (no default) at boot — baked as dummy imageEnv; the image builds and gets further. But the full suite is BLOCKED (skip, not possible): (1) the JS deps require `@fortawesome/fontawesome-pro` (^6.5.1) from the PAID private registry npm.fontawesome.com — .yarnrc.yml/.npmrc gate the @fortawesome scope on FONTAWESOME_NPM_AUTH_TOKEN we don't have, so cssbundling's `yarn install` at test:prepare aborts (`Failed to replace env in config: ${FONTAWESOME_NPM_AUTH_TOKEN}`); app/javascript/application.js:26 also `require`s its CSS. (2) A secondary OpenSSL boot error `pbkdf2_hmac: no implicit conversion of Array into String` (secret-derivation, from config/environment.rb:5). Greening needs the paid FontAwesome license (or stripping the commercial dep from the app + fixing pbkdf2) — outside what onboarding should invent. Uses transactional fixtures, so it'd be fast if unblocked."
[odder-web]
notes = "Ruby 3.3.5, Rails / Jumpstart Pro, Minitest (odder_web_test DB; bin/rails baked via railsBinstub). GREEN, clean baseline, no manual steps: `RAILS_ENV=test bin/rails test` → 233 runs, 0 failures, 0 errors, 3 skips. Getting here took a member build-repair chain (all re-pinned): regenerated config/credentials/test.key + test.yml.enc (scrub dropped the whitelisted key) carrying secret_key_base + prefixed_ids.salt + the active_record_encryption keys the app requires; restored the vendored .yarn/releases/yarn-4.4.0.cjs + reconciled yarn.lock; image bakes Node 22.13.0 + yarn (frontend flag; yarn 1.22 delegates to the vendored yarn 4 via yarnPath) so cssbundling's css:build runs at test:prepare. The 3 skips are Jumpstart payment-flow boilerplate (need a live Stripe processor, not the app's logic). Transactional fixtures — fast."
[[odder-web.checks]]
name = "minitest (rails test)"
cmd = "RAILS_ENV=test bin/rails test"
[omniauth-slack]
notes = "Ruby OSS-fork gem, Minitest. `bundle exec rake test` runs a clean baseline — 60 runs, 0 failures, 0 errors, 2 skips. Member tip carries Ruby-3.3 compat repairs (`mocha/setup`→`mocha/minitest`; `YAML.load_file`→`unsafe_load_file` for Psych 4) plus skips for 2 pre-existing gem-compat tests (oauth2 Response.new signature; a token_type? assertion)."
[[omniauth-slack.checks]]
name = "minitest (rake test)"
cmd = "bundle exec rake test"
[epihub-avatars]
notes = "Node 20 avatar service (app.js + Procfile). No test suite; `node --check app.js` / an npm build is the fidelity check. Read-oriented."
[o1-xml-parser]
notes = "Node 20 / Next.js. No test suite; `npm run build` is the fidelity check. Read-oriented."
[odder]
notes = "Node 20 / React-Native + Expo. No Linux-runnable web server or suite (RN app); read-oriented substrate, gradable from the rubric."
[odder-ios]
notes = "Native iOS (Swift / Xcode). Can't build or run on Linux; read-oriented substrate, gradable from the rubric. Harbor image is a Ruby base (fastlane Gemfile) for explorability."
[odder-calculators]
notes = "Static odds-calculator HTML pages; no package.json, no suite. Read-oriented substrate."
[heroku-buildpack-cacheload]
notes = "Heroku cache-load buildpack, docs-only here; no suite. Read-oriented substrate."
[heroku-buildpack-cachesave]
notes = "Heroku cache-save buildpack, docs-only here; no suite. Read-oriented substrate."
[heroku-buildpack-cleanup]
notes = "Heroku cleanup buildpack, docs-only here; no suite. Read-oriented substrate."
# ============================================================================
# simplyhomes-polyglot — 5 suite-bearing members validated, rest notes-only
# ============================================================================
# confidence: notes-only
[aio-express-ts]
notes = "Express internal-ops API (pnpm); tsc build needs a 4GB heap."
# confidence: notes-only
[aio-react-ts]
notes = "React internal-ops frontend; builds clean."
# confidence: notes-only
[airtable-express-ts]
notes = "Express Airtable-integration API; builds clean (dev controller stubbed at pin)."
# confidence: notes-only
[avmcheck]
notes = "Claudia AWS lambda for AVM checks; read-oriented member."
# confidence: notes-only
[deploy-scripts]
notes = "Deploy/build scripts; read-oriented member."
# confidence: notes-only
[events]
notes = "HubSpot event relays; installs clean, no build script."
# confidence: notes-only
[hscrm_mapview]
notes = "README-only stub; read-oriented member."
# confidence: notes-only
[hubspot-helpers]
notes = "Claudia lambda CRM helpers; read-oriented member."
# confidence: notes-only
[hubspot-workflows]
notes = "CRM workflow lambda; read-oriented member."
# confidence: notes-only
[internal_tools]
notes = "One-script property-data fetcher (python); read-oriented member."
# confidence: notes-only
[jsonDataSplitter]
notes = "HUD/geo JSON slicing scripts + committed reference data; read-oriented member."
# confidence: notes-only
[landing-page-next-js]
notes = "Next 15 marketing site (React 19 RC pins resolve from the registry); builds clean."
# confidence: notes-only
[lob]
notes = "Claudia lambda for physical-mail sends; read-oriented member."
# confidence: notes-only
[offer-engine-api]
notes = "Boot sources env_setup_{dev,prod}.sh whose values are redacted; env contract reconstruction is a task-authoring concern, not an install blocker."
# confidence: notes-only
[offer-engine-api-ts]
notes = "TS offer-engine API; builds clean on a plain lockfile install."
# confidence: validated
[offer-engine-react-widget]
notes = "Four tests stale against reworked components are skipped at pin; build must run WITHOUT CI=true (CRA fails builds on lint warnings)."
[[offer-engine-react-widget.checks]]
name = "react-scripts test"
cmd = "CI=true npx react-scripts test --watchAll=false"
# confidence: notes-only
[offer-engine-widget-admin]
notes = "Widget admin UI (rekit-style CRA); builds clean."
# confidence: notes-only
[offer-engine-widget-ts]
notes = "TS offer-engine widget; builds clean."
# confidence: notes-only
[postgres-simply]
notes = "Postgres infra image + init scripts; read-oriented member."
# confidence: notes-only
[property-submission-form]
notes = "Vite/React 19 property submission form (pnpm); builds clean."
# confidence: notes-only
[rebate-react-widget]
notes = "Rebate funnel widget (CRA); builds clean."
# confidence: notes-only
[reno-lineitems-manager]
notes = "Next 15 renovation line-items UI (single squashed commit); read-oriented member."
# confidence: notes-only
[scheduler-express-ts]
notes = "tsc reports two pre-existing upstream TS2322s (process.env typing in simplyRETS config); no test suite gates on them."
# confidence: notes-only
[simply-marketplace]
notes = "React marketplace frontend; builds clean."
# confidence: validated
[simply-marketplace-API]
notes = "Header tokens are synthetic env echoes (app compares header to the same var); --exit required (app.listen holds the loop open); /test/0 handler has a pre-existing upstream bug (missing req,res params)."
[[simply-marketplace-API.checks]]
name = "mocha (auth)"
cmd = "TESTING=TRUE DEV_TOKEN=dev_token_test_000 HUBSPOT_OUTGOING_TOKEN=hs_outgoing_test_000 PORT=5079 npx cross-env --TESTING=TRUE mocha ./src/__tests__/*.js --timeout 10000 --exit"
# confidence: notes-only
[simply-strapi]
notes = "Strapi CMS; builds clean."
# confidence: notes-only
[simply-types-aio]
notes = "Shared type declarations (d.ts only); read-oriented member."
# confidence: notes-only
[simplyhomes-client-utils]
notes = "Component-library workspace; the react-19/ package is the publishable content."
# confidence: notes-only
[simplyhomes-node]
notes = "Shared Node config library (pnpm); builds clean."
# confidence: notes-only
[simplyhomes-react]
notes = "Shared React component library v2 (pnpm); tsc lib build."
# confidence: notes-only
[simplyhomes-scripts]
notes = "Ops shell scripts; read-oriented member."
# confidence: notes-only
[simplyhomes-utils]
notes = "Shared TS utils library (the estate keystone package); builds clean."
# confidence: validated
[sos-api]
notes = "Stainless SDK; scripts/build restored at pin; 393 prism-gated tests ship upstream-skipped."
[[sos-api.checks]]
name = "jest"
cmd = "CI=true npm test"
# confidence: notes-only
[sos-nest-ts]
notes = "3 spec files (2 unit + 1 e2e); the 2 unit specs need a jest module-path + provider setup a single CLI cmd cannot reproduce (Nest DI cannot resolve providers; likely DB-bound), so no runnable check is wired at pin."
# confidence: notes-only
[sos-react-ts]
notes = "React SOS frontend (CRA-era, dual lockfiles); builds clean."
# confidence: validated
[sos-sdk]
notes = "Stainless SDK; scripts/build restored at pin; TEST_API_BASE_URL satisfies the suite preflight without a live mock server."
[[sos-sdk.checks]]
name = "jest"
cmd = "CI=true TEST_API_BASE_URL=http://localhost:4010 npm test"
# confidence: validated
[sos-ts]
notes = "pnpm monorepo; root build needs NODE_OPTIONS=--max-old-space-size=4096; 9 upstream-rotten unit suites excluded (tests never run by upstream CI, code drifted); synthetic root .env committed at pin for jet-env; server carries both a jest.config.ts and a package.json jest key, so the check pins --config."
[[sos-ts.checks]]
name = "server jest (unit)"
cmd = "cd server && NODE_OPTIONS=--max-old-space-size=6144 npx jest --config jest.config.ts --maxWorkers=1 --workerIdleMemoryLimit=2500MB --testPathIgnorePatterns 'test/unit/versions/' 'test/unit/options/' 'test/unit/profiles/' 'test/unit/notifications/notification.controller.spec.ts' 'test/unit/auth/auth.controller.spec.ts' 'test/unit/auth/guards/sos-auth.guard.spec.ts'"
# confidence: notes-only
[splitList]
notes = "Single-script list splitter; read-oriented member."
# confidence: notes-only
[watermark]
notes = "Image watermarking lambda; read-oriented member."
# confidence: notes-only
[widget-react-ts]
notes = "React widget shell; builds clean."
# confidence: notes-only
[zillow-scrape]
notes = "Puppeteer listing scraper; read-oriented member."