Files

5.9 KiB

W1-021 owner profile calibration

The owner-supplied W1-021 work order is the authority for this calibration. No career facts were inferred from browsing, clients, or job descriptions. The profile remains data/qualification-profile.json, editable as ordinary JSON.

Maintaining the profile

Schema version 2 adds career_evidence; version 1 profiles still load. Each evidence item has a stable id, status, statement, source, level and aliases.

  • established: explicitly supplied owner evidence.
  • unknown: unverified, never a claim of absence or inability.
  • excluded: an explicitly supplied owner preference against matching work. No such career exclusions are initially set.
  • aliases: phrases that identify the supported aspect of a source sentence. They do not establish other clauses or specialist depth.
  • level: experience, familiarity, context_only, or an explanatory level. AWS and GCP are familiarity only. Past clients are context_only with no automatic matching aliases; client history does not prove industry credentials.
  • years_supported and tenure_subjects: conservative qualification thresholds and the complete requirement subjects to which they apply. Punctuation and standard requirement prefixes are normalized, but extra specialty clauses are not discarded. Never add a subject merely to make a particular job pass.

More than 30 IT years is represented as a conservative 30-year threshold, and more than 15 architecture years as 15. Eight years architecture leadership is accepted because W1-021 explicitly directs that requirement to be supported; it is not inferred by converting all architecture tenure into leadership tenure. No source requisition ID is used by the matching rules.

Keep citizenship, permanent authorization, clearance, relocation, travel, certifications and unestablished specialist depth unknown until supplied. An empty credential list means none established in the profile, not proof of ineligibility. In the existing personal-fact fields, yes means confirmed, unknown means unverified, and no means an explicit owner fact or preference. Geographic policy and role-family preferences remain separate from ability.

Record the owner source and scope when adding evidence. Broader phrases must not be used to clear narrow tool, certification, industry or tenure requirements. The profile is a conservative evidence ledger, not a complete CV evaluator.

Audit semantics

qualification_evidence records source_requirement, status, scope and owner evidence provenance. supported clears only a fully corresponding tenure gap. supported_aspect records useful capability evidence without asserting that the whole sentence is satisfied. unknown requires verification; mismatch is reserved for explicit conflicting owner facts/preferences. Geographic and role-policy mismatches remain separately explained in the existing disposition/reasons.

The specialist family policy is unchanged: specialist_mismatch is a preference mismatch, not proof that Ken lacks skills. ML training, Salesforce credentials, Cisco Meraki and other unestablished specialties retain verification gaps. Known Azure experience never implies Azure certification. Desired certifications remain desired and unknown, not required and absent.

The extractor now recognizes plain Qualifications headings and additional explicit travel wording. Candidate credential questions exclude application certification, system certification testing, compensation and partner-enablement boilerplate. Original source records and all description parts remain in audit.json. Unknown requirements outside these conservative rules still require human review.

Offline execution and comparison

From the repository root:

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

Use the installed interpreter described in README.md if python is not on PATH. Choose a fresh output directory on replay; existing evidence is never replaced.

The usual profile snapshot, summary, practical assessments, full audit and brief are accompanied by:

  • owner-verification.md: the complete deduplicated question list, including advertised credential wording.
  • owner-verification.json: every affected source ID, original URL, exact requirement, required/desired label and disposition.
  • comparison.json: before/after counts, changed dispositions and changed gaps. Comparison requires the same saved input hashes, pipeline hash and candidate IDs. The summary records the comparison baseline hash and all rule hashes.

Question counts include withheld and already-reviewed pipeline jobs. A question may be relevant to the source requirements without making that opportunity actionable. The current-reviewable count shows prioritization. Clearance and relocation stay unknown in the profile but are not asked without applicable source evidence.

Verified result

All 87 saved jobs replayed offline. Disposition counts remain: 0 practical_match, 4 needs_owner_review, 36 out_of_scope, 11 location_conflict, 34 specialist_mismatch, 2 insufficient_evidence. Three of the four reviewable jobs are existing pipeline records, leaving one new review candidate.

Requisition 46277 remains needs_owner_review. Both tenure gaps are resolved with established architecture and leadership evidence; Azure/cloud, enterprise strategy and modernization have aspect-level support. Permanent authorization and four desired certifications remain unknown: Azure Solutions Architect Expert, AWS Solutions Architect Professional/Associate, TOGAF and FinOps. No other disposition changes. More complete requirement extraction changes some audit gaps without overriding existing role or geographic exclusions.

Source pay, employment-type and historical metadata conflicts remain unresolved. No live collection, applications, outreach, pipeline promotion, Git commit or push is part of this increment.