Code of Conduct
Existing issues
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:
- Run
/career-ops scan (or node scan.mjs) — Playwright unavailable, falls back to WebSearch/WebFetch
- New roles are added to
pipeline.md with **Verification:** unconfirmed (batch mode)
- User asks to apply to pending pipeline roles
apply mode generates tailored cover letters, Q&A answers, and application materials for all unconfirmed roles
- User opens ATS URLs — roles are closed/filled/expired
- 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
Code of Conduct
Existing issues
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:
Workaround: Manually run
node check-liveness.mjsagainst all unconfirmed pipeline entries before investing time in applications.Steps to reproduce
Steps to Reproduce:
/career-ops scan(ornode scan.mjs) — Playwright unavailable, falls back to WebSearch/WebFetchpipeline.mdwith**Verification:** unconfirmed (batch mode)applymode generates tailored cover letters, Q&A answers, and application materials for all unconfirmed rolesExpected behavior: Before generating any application materials,
applymode should callcheck-liveness.mjson 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:
applymode has no liveness gate. It generates full application packets for all roles regardless of verification status.Environment:
unconfirmed (batch mode)in pipeline.mdExpected 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