Files

5.2 KiB
Raw Permalink Blame History

W1-016: offline opportunity qualification

src/opportunity_intelligence/qualification/lrs.py uses the existing standard-library HTML parser and saved LRS collection. It performs no network access, applications, pipeline writes or candidate promotion. No résumé or detailed Ken eligibility profile was supplied: the brief identifies requirements to verify, not proven personal skill deficits.

Reproduce

python -m unittest discover -s tests -v
python w1.py qualify --run runs/2026-09-17/lrs-162640 --output runs/2026-09-17/qualification-review-new

On this workstation replace python with: & 'C:\Users\Gharke\AppData\Roaming\uv\python\cpython-3.12.11-windows-x86_64-none\python.exe'. The sandbox requires permission to execute that installed runtime.

Omitting --run chooses the latest successful saved LRS manifest by finish time. Omitting --output creates qualification-W1-016 under that run. Output must be a new directory; use another directory for a repeat. --limit defaults to 12 and accepts 115. --pipeline defaults to data/opportunities.json.

Inputs must agree with manifest counts and staged records must match collected records. Every used description snapshot is verified against its recorded SHA-256. Missing descriptions, changed snapshots or inconsistent inputs fail visibly. Assessment uses the collection date, not the current date. Identical code, inputs and options produce byte-identical artifacts; regression tests verify this.

Rules

In precedence order: exclude exact repeated LRS identities or identical title, organization, location, header type and full normalized description; exclude matches in the current pipeline; exclude reliable visible past expiration; exclude clearly unrelated roles; then apply target-scope relevance rules. All exclusions retain their reasons and evidence. Different pay, description or location evidence prevents content-based exact deduplication. Similar requisitions with separate IDs remain separate when their evidence differs.

Expiration is deliberately conservative: only an explicit visible ISO date labeled Application deadline:, Applications close: or Closing date: qualifies, and multiple different visible deadlines prevent exclusion. Deadline day is inclusive. Historical or even valid JSON-LD alone is insufficient. Other date formats and informal closure language need review; no expired exclusion was made in this run.

Role-specific title scores: architecture 100, IT leadership 90, AI implementation 85, cloud/infrastructure/network engineering 80, IT delivery management 65. Description-supported technical fit scores 50; other IT contracts score 35. Take the highest applicable score, then sort by visible added date descending and numeric requisition ID ascending. Dates are only tie breakers, never proof of an active vacancy. AI hiring/EEO boilerplate is removed from relevance evidence. Industrial turbine management, marine work, sales, recruiting and office administration are excluded. Junior/support roles without a target fit fall outside scope. Lower-ranked relevant records are deferred, not disqualified.

Contract descriptions and temp/contract headers determine provisional contract grouping; explicit direct hire determines employment grouping, retaining any contradictory contract prose. Full-time does not by itself prove permanent employment. Temp-to-perm indicates advertised contract-to-hire. Contract duration is not inferred. Source qualifications and restrictions are extracted with deterministic patterns; these are triage summaries, not exhaustive eligibility assessments. Full description text is retained. Advertised pay is never called verified, and geographic ranges and structured metadata remain separate.

Results and artifacts

The final output is runs/2026-09-17/lrs-162640/qualification-W1-016/:

  • brief.md: complete review brief with original links, maximum 15 entries.
  • shortlist.json: selected evidence, requirements, conflicts and proposed actions.
  • audit.json: all 84 staged candidates, including exclusions and deferred records.
  • summary.json: filtering counts, rule version, code/input/snapshot hashes and unchanged-pipeline verification.

The collection has 87 jobs, with 3 previously matched pipeline records and 84 staged candidates. Qualification excludes 0 additional exact duplicates, 0 additional pipeline matches, 0 reliably expired records, 9 clearly unrelated roles and 28 outside-scope roles. 47 remain relevant; 12 are shortlisted and 35 deferred. All 12 shortlist entries are provisionally contract/contract-to-hire. An empty employment section is intentional, not a claim that the entire collection has no employment opportunities.

qualification-preview and qualification-review contain intermediate review outputs; qualification-W1-016 is the final artifact. runs/2026-09-17/lrs-inspection/lrs-descriptions.json is an offline inspection extract and is not an input to the qualifier.

Known source defects remain: historical JSON-LD dates/pay, malformed JSON and conflicting engagement labels. Residency lists are quoted as supplied (including source spelling errors). Remote work eligibility, availability and actual compensation require confirmation before any later promotion. No source coverage was expanded and existing discovery code was unchanged.