Files
W1---Opportunity-Intelligence/docs/PRACTICAL-QUALIFICATION.md
T

5.0 KiB

W1-019 practical qualification

Run from the checkout root with Python 3.10+ (standard library only):

python -m unittest discover -s tests -v
python w1.py practical --run runs/2026-09-17/lrs-162640 --profile data/qualification-profile.json --output runs/2026-09-17/lrs-162640/qualification-W1-019

Use a fresh output directory for each execution. No network requests occur. The original W1-016 command, qualify, remains available and unchanged.

Owner-controlled policy

Edit data/qualification-profile.json as JSON, then rerun. The output captures the exact interpreted profile and input/code hashes so decisions are auditable.

  • opportunity_categories: full_time_employment, part_time_employment, contract, consulting. All four are initially in scope.
  • geography.remote_countries: US only; other countries are not supported.
  • geography.onsite_states: TN initially. Add an explicitly reviewed state to approved_onsite_states to permit regular onsite/hybrid work there.
  • strong_domains: literal case-insensitive domain phrases supplement the legacy technical relevance rules. They never override clearly unrelated work or reliable visible expiration evidence.
  • role_family_policy: consider, specialist_review_only, or exclude for each listed family. specialist_review_only withholds the role from the brief; Ken can explicitly change a family to consider, then inspect remaining gaps.
  • owner_facts: residence_state is unknown or a postal abbreviation. Authorization, citizenship, clearance, travel and relocation accept unknown, yes or no. Certifications and specialist_skills accept unknown or lists. Specialist skill labels recognized by these rules are Python ML frameworks, Salesforce, ServiceNow, .NET implementation, AWS CDK, Terraform, Cisco Meraki, and Workday. Certification names should be specific, as advertised. years_of_experience accepts unknown or a nonnegative integer.

An in-scope Tennessee opportunity does not establish Tennessee residence. Relocation willingness does not override the explicit approved-state policy. Total tenure cannot establish years in a specific role: those requirements remain verification gaps. Unknown or unlisted qualifications are not failures. Clearance and certifications still require verification of level/current status.

Decision rules

Stage one retains the legacy technical score and exclusion plus profile domain evidence. Stage two determines core role family, arrangement, geographic restrictions and explicit owner qualification gaps.

Title/function rules separate leadership, architecture and strategic consulting from development, ML engineering, network engineering, support and specialist platform work. An explicit ML-builder description can override an architect title. Platform consultants such as LifePRO remain specialist roles.

Disposition precedence is out_of_scope (technical/category/family exclusion), location_conflict, specialist_mismatch, insufficient_evidence (arrangement), known owner-fact conflict (out_of_scope), needs_owner_review, practical_match. All evidence remains available even when an earlier rule determines disposition. specialist_mismatch means a mismatch to the current role preference, not proof of inability. A city alone does not prove onsite work or remote permission. Explicit presence requirements override a Remote header; the conflict is kept.

Preferred certifications are labeled desired, not silently made mandatory. Historical 2017 metadata dates never establish closure by themselves. Source compensation, date and engagement conflicts remain unresolved. Practical fit does not confirm hiring status, pay, or authority to apply.

Saved output and limits

All 87 saved records are assessed, including three already in the pipeline. The pipeline is read only. Existing matches are recorded in the audit and omitted from the new-candidate brief regardless of their computed disposition.

  • audit.json: original records, saved description parts, snapshot hashes and full assessments, including every withheld candidate and reason.
  • practical.json: practical assessments for all records.
  • summary.json: stage-one and stage-two counts, role-family counts, existing pipeline matches, review counts, and reproducibility hashes.
  • profile.json: policy snapshot.
  • brief.md: at most 15 new practical_match / needs_owner_review records. Additional eligible candidates remain counted and available in the audit.

Saved manifest success/count and every detail snapshot hash are checked. Missing/corrupt inputs, invalid profiles and existing output directories fail visibly. Deterministic replay uses the saved collection date, not today's date.

This is deliberately a conservative source-specific ruleset, not a complete natural-language eligibility evaluator. Unrecognized titles fall into other specialist roles, and unrecognized arrangements need source clarification. Review the audit when expanding owner policy or encountering new wording. No collection, application, outreach, pipeline promotion or external commitment is performed. Generated runs remain local under the existing Git evidence policy.