Skip to content

feat(browser): add CDP support and reverse ATS discovery scanner#3

Open
SparshGarg999 wants to merge 1 commit into
mainfrom
issue-727-cdp-support
Open

feat(browser): add CDP support and reverse ATS discovery scanner#3
SparshGarg999 wants to merge 1 commit into
mainfrom
issue-727-cdp-support

Conversation

@SparshGarg999

Copy link
Copy Markdown
Owner

Purpose

Addresses issue santifer#727: Integrates Chromium DevTools Protocol (CDP) support for liveness check, scanning, and PDF generation.

Changes

  • browser.mjs: Added browser acquisition/release wrappers with CDP support.
  • liveness-browser.mjs: Added support for reusing CDP session, preventing UA spoofing when remote, and updated URL guards.
  • check-liveness.mjs: Integrated remote browser acquisition.
  • generate-pdf.mjs: Hardened wait condition (waitUntil: 'load') and inlined local fonts as data: URLs to prevent Chromium block on file:// protocols.
  • scan.mjs: Integrated content/description and salary filters, recheck TTL, and the --rediscover-404 moved-role search option.
  • scan-ats-full.mjs: Integrated SSRF protection guards and updated workday module import.
  • test-all.mjs: Added test suites validating CDP session reuse, SSRF protections, font inlining, and wait conditions.
  • docs/SCRIPTS.md: Documented the CDP_URL environment variable, options, and commands.

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

Welcome to career-ops, @SparshGarg999! Thanks for your first PR.

A few things to know:

  • Tests will run automatically — check the status below
  • Make sure you've linked a related issue (required for features)
  • Read CONTRIBUTING.md if you haven't

We'll review your PR soon. Join our Discord if you have questions.

SparshGarg999 pushed a commit that referenced this pull request Jul 4, 2026
* feat(web): cost affordance at the point of paid action (P1.6)

UX audit P1.6 (CPO priority #3 — tokens are the community's #1 measurable
pain; surprise-cost = churn). The paid actions offered no cost cue at the
trigger. Surfaces the existing CostBadge (spend = brand orange, not red — a
chosen evaluation is the valuable action, not a hazard) on the roomy
single-action surfaces, mirroring Explore's token-honesty:
- GeneratePdfButton (component-level → shows in the report viewer): a 'Uses
  tokens' badge beside 'Generate tailored CV' in its not-yet-generated state;
- QuickEvaluate (home): a one-line cue + badge under the paste field —
  'Evaluation runs on your own AI — your key, your machine.'
The dense pipeline-row Evaluate button is deliberately left for P1.4 (row
hierarchy), where a per-row badge would fight the noise-reduction goal.
Verified E2E: report santifer#87 (no PDF) shows the badge; home in-between shows the
cue; typecheck clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* polish(web): cost 'spend' badge is muted, not brand-orange (design-review)

career-ops-ux system correction on santifer#1536: orange is reserved for the primary
action (incl. 'Run your first FREE scan'), so an orange 'Uses tokens' badge
collides semantically ('go/free' vs 'costs') AND — now the button is neutral —
makes the warning shout louder than the action. Aligns to the color-semantics
lock (-> DESIGN_SYSTEM.md): GREEN = free/celebrate, NEUTRAL/muted (+ coin) =
spend/inform, ORANGE = primary action (reserved). CostBadge is the shared
primitive, so this one change propagates to every cost cue — Explore, the
report's Generate-CV, and P1.4's inbox legend — as a single pattern. Muted
AA-verified: 5.68 light / 8.34 dark.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant