Skip to content

Apply mode has no liveness gate — unconfirmed pipeline roles generate wasted application materials #750

@ferrarilabs

Description

@ferrarilabs

Code of Conduct

Existing issues

  • I searched existing issues and this hasn't been reported yet

What happened?

Impact: High — applied significant time generating and attempting to submit applications for 8 roles, all of which were already closed/filled.

Root cause:
Batch scan adds roles to pipeline.md with **Verification:** unconfirmed (batch mode) because Playwright is unavailable in headless mode. When the user later enters apply mode, there is no liveness re-check step — it proceeds directly to generating materials against unverified URLs.

Proposed fix:

  • apply mode should run check-liveness.mjs against each URL before generating materials
  • Expired/closed roles should be auto-marked as Discarded and skipped before the user opens any tabs
  • Or: add a post-scan liveness sweep for all unconfirmed pipeline entries before the next session

Workaround: Manually run node check-liveness.mjs against all unconfirmed pipeline entries before investing time in applications.

Steps to reproduce

Steps to Reproduce:

  1. Run /career-ops scan (or node scan.mjs) — Playwright unavailable, falls back to WebSearch/WebFetch
  2. New roles are added to pipeline.md with **Verification:** unconfirmed (batch mode)
  3. User asks to apply to pending pipeline roles
  4. apply mode generates tailored cover letters, Q&A answers, and application materials for all unconfirmed roles
  5. User opens ATS URLs — roles are closed/filled/expired
  6. All time and tokens spent on application materials are wasted

Expected behavior: Before generating any application materials, apply mode should call check-liveness.mjs on each URL. Roles that return expired/closed should be flagged immediately and skipped — user is told "X roles were closed, removed from pipeline" before any materials are generated.

Actual behavior: apply mode has no liveness gate. It generates full application packets for all roles regardless of verification status.

Environment:

  • career-ops v1.8.1
  • Remote execution environment (Claude Code web)
  • Playwright not available (no browser in container)
  • All 8 roles affected were marked unconfirmed (batch mode) in pipeline.md

Expected behavior

It should return only LIVE roles. I waste time and tokens in a daily basis with false results.

CLI tool

No response

OS and Node.js version

No response

Output of npm run doctor

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions