feat(qa): evidence reach sees production CLIs behind env, npm exec and sh -c, and flyctl

Open Beginner friendly
#1,682 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
75/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
backend, testing

Research direction

Read src/lib/evidence-reach.ts and its cases in src/lib/evidence-reach.test.ts. Run npx vitest run src/lib/evidence-reach.test.ts first to see the existing behavior, then add coverage for the listed wrapper forms and flyctl. Done when the new cases report needs-human with reason production-cli, the env FOO=1 npx vitest run case remains worktree, and the full test file passes.

Written by the indexing model from the issue text.

Description

Epic: graph-2026-11-simplify (follow-up of #1652) Tier: mechanical Execution: sequant_run

Problem

#1652's classifier (src/lib/evidence-reach.ts) applies P-9 as planned: a segment needs a person when its first word, after VAR=x assignments and npx/bunx/pnpm dlx|exec/yarn dlx, is in the fixed list vercel, supabase, netlify, fly, heroku, wrangler, railway, aws, gcloud, az. QA on #1652 (at 8ad978a6c) found that these slip through as worktree:

  • env vercel env ls production (an env prefix)
  • npm exec vercel … and npm x vercel …
  • sh -c "vercel …" and bash -c '…'
  • flyctl … (the Fly CLI's other binary name)

P-9 rejected a configurable list ("add one when someone asks"). This issue is that ask, for wrapper prefixes and one alias. It doesn't make the list configurable.

Acceptance Criteria

  • AC-1: Each of the five forms above is needs-human with reason production-cli, and env FOO=1 npx vitest run stays worktree. Evidence: npx vitest run src/lib/evidence-reach.test.ts -t "wrapper" → ≥ 6 passed, 0 failed
  • AC-2: #1652's existing cases are unchanged. Evidence: npx vitest run src/lib/evidence-reach.test.ts → 0 failed (constraint)

May touch

src/lib/evidence-reach.ts, src/lib/evidence-reach.test.ts, CHANGELOG.

Non-Goals

  • A configurable list or a settings key (P-9).
  • Blocking commands in a hook (D-5).

Done when

The classifier sees a listed production CLI behind env, npm exec/npm x and sh -c/bash -c, and under the name flyctl.

Dominant language
TypeScript
Stars
1
Forks
1
Avg merge
10h 12m
Merged PRs (30d)
78

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 sequant-io/sequant

All issues in sequant-io/sequant

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.