Make scripts/verify-*.mjs harnesses runnable on any machine

Open
#34 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
javascript, nodejs, playwright, typescript

Research direction

Start with scripts/verify-script-generation.mjs, scripts/verify-voice-presets.mjs, scripts/verify-render-flows.mjs, and frontend/src/engine/cartoon/harness/run-vo-proof.mjs; replace the hard-coded repository path and /tmp/api-key.txt dependency as described. Check CONTRIBUTING.md for the build prerequisites, Playwright Chromium setup, commands, and artifact locations. Done means the harnesses run from a fresh clone on Linux, case B is explicitly skipped when no API key is available, the required reports and MP4 output are produced, and grep -rn '/Users/' scripts frontend/src finds nothing.

Written by the indexing model from the issue text.

Description

help wanted testing
Context

The ROADMAP asks contributors to expand the scripts/verify-*.mjs harnesses, but today they only run on the maintainer's laptop. Each one hard-codes REPO_ROOT to an absolute macOS path, and the script-generation harness also reads an API key from /tmp/api-key.txt at import time, so it crashes before doing anything if that file is missing.

Where
  • scripts/verify-script-generation.mjs:31 (REPO_ROOT = '/Users/…/contentine-create-canonical') and :36 (readFileSync('/tmp/api-key.txt'))
  • scripts/verify-voice-presets.mjs:32
  • scripts/verify-render-flows.mjs:26
  • frontend/src/engine/cartoon/harness/run-vo-proof.mjs:14
What to do
  1. Derive the root from the script location: path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..') (adjust the depth for the harness file).
  2. Read the API key from process.env.CONTENTINE_API_KEY (optionally a --api-key-file). Only require it for the backend-reachable case B. With no key, mark case B as skipped with a reason in report.json; never fake a pass.
  3. Add a short "Running the verify harnesses" section to CONTRIBUTING.md: prerequisites (npm run build, Playwright Chromium), the commands, and where artifacts land.
Acceptance criteria
  • grep -rn '/Users/' scripts frontend/src returns nothing
  • node scripts/verify-voice-presets.mjs runs from a fresh clone on Linux; attach its report.json
  • Render-flow harness output includes an ffprobe-valid MP4 path
Getting started

Read CONTRIBUTING.md for dev setup and the quality bar (no facades, evidence before done). Comment here to claim the issue.

Dominant language
TypeScript
Stars
0
Forks
3
Avg merge
1d 4h
Merged PRs (30d)
5

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from BeyondITL/contentine-create

All issues in BeyondITL/contentine-create

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.