nx_career.nx
buildroot/runtime/nx_career.nx
about
nx_career.nx -- CAREER / OPPORTUNITIES (the jobs ring of the Nishi Relationship OS). Operator 2026-07-09:
"help people find jobs with their recruiters ... get real opportunities at where they are and where they want
to go". Composes the existing substrate (nx_vizsla_jobs skill profiles + nx_vizsla_recruiter warm-channel
routing doctrine + nx_relate recruiter edges + nx_send outreach + nx_crm stage model) and adds the four missing
capabilities, integer-deterministic:
MATCH-SCORE : candidate skills x job requirements -> 0..100 fit (have>=need = full credit; partial = have/need;
missing = 0; mean over requirements). Ranking jobs by fit = "REAL opportunities where they ARE".
SKILL-GAP : target role requirements minus profile -> the missing/underleveled list = the concrete plan for
"where they want to GO".
APP-STAGE : the application pipeline Saved(10)>Applied(25)>Screen(40)>Interview(60)>Offer(85)>Accepted(100)
(+Rejected 0) -- the OpportunityStage model applied to job search; funnel dashboard.
CAREER-PATH : gap + next-skill recommendation + ROUTE-VIA-RELATIONSHIP (never the cold portal: hand the top
match to the strongest recruiter/referral channel, per the nx_vizsla_recruiter doctrine).
Pure logic + selftest gate (argless). Persistence rides seg_store next (same canon_cid pattern).
Commands: match <have-csv> <need-csv> | gap <have-csv> <target-csv> | stage <name> | selftest
skill csv form: name:level[,name:level...] levels 1..5
expect_exit: 0 license_tier: ORIGINAL
dependencies 1 imports · 5 importers
imports: nx_syscalls.nx
imported by: nx_career_fair.nxnx_career_gate.nxnx_career_parse.nxnx_share.nxnx_share_rec.nx
structs
| none |
consts
| none |
functions
| 20 | func slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } |
| 21 | func p(s: *u8) -> i64 { sys_write(1, s, slen(s)); return 0 } |
| 22 | func pn(v: i64) -> i64 |
| 28 | func seq(a: *u8, b: *u8) -> i64 |
| 36 | func skills_parse(csv: *u8, names: *i64, lvls: *i64, maxn: i64, namebuf: *u8) -> i64 |
| 67 | func skill_find(names: *i64, n: i64, want: *u8) -> i64 |
| 74 | func match_score(hn: *i64, hl: *i64, hc: i64, rn: *i64, rl: *i64, rc: i64) -> i64 |
| 92 | func skill_gap(hn: *i64, hl: *i64, hc: i64, rn: *i64, rl: *i64, rc: i64) -> i64 |
| 109 | func stage_pct(s: *u8) -> i64 |
| 119 | func cmd_stage(name: *u8) -> i64 |
| 126 | func cmd_selftest() -> i64 |
| 185 | func cr_cli(argc: i64, argv: *i64) -> i64 |