nx_career_parse.nx
buildroot/runtime/nx_career_parse.nx
about
nx_career_parse.nx -- POSTING / RESUME -> SKILLS (career ring rung 2; frontier momentum 91). Turns real job
text into the skill-csv the matcher consumes, so "real opportunities" runs on live postings, not hand-entry.
v1 = SOVEREIGN LEXICON EXTRACTION (honest: term extraction, not an LLM): the skills lexicon is DATA
(knowledge/career/skills.lex, one line "skill|alias|alias..."), matching is case-insensitive with WORD
BOUNDARIES (salesforce / salesmanship do NOT count as sales), level = mention count clamped 1..5 (v1 heuristic,
stated). JD-PARSE extracts a posting's requirements; RESUME-PARSE extracts a person's profile; end-to-end the
pair feeds MATCH-SCORE. Composes the nx_career pure core. Argless = selftest gate; CLI: extract <textfile>.
expect_exit: 0 license_tier: ORIGINAL
dependencies 1 imports · 0 importers
imports: nx_career.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 10 | const K_MAGIC_65536: i64 = 65536 |
| 11 | const K_MAGIC_2048: i64 = 2048 |
| 12 | const K_MAGIC_1048576: i64 = 1048576 |
| 13 | const K_MAGIC_4096: i64 = 4096 |
functions
| 15 | func cp_read(path: *u8, buf: *u8, cap: i64) -> i64 |
| 21 | func cp_alpha(c: i64) -> i64 called by 1: cp_count_term |
| 27 | func cp_lower(dst: *u8, src: *u8, cap: i64) -> i64 called by 1: cp_extract |
| 40 | func cp_count_term(t: *u8, n: i64, term: *u8) -> i64 |
| 61 | func cp_extract(text: *u8, lex: *u8, lexn: i64, out: *u8, cap: i64) -> i64 |
| 113 | func cp_selftest() -> i64 |
| 165 | func main(argc: i64, argv: *i64) -> i64 |