← Back Architecture

## Career Layer

Skills are stored as ontology nodes with a tier classification. Talks, publications, and positioning strategies extend the career graph. All of this lives in `ontology/career.ncl` — queryable via the CLI or the daemon API.

Skills

- Four tiers: Expert · Advanced · Intermediate · Foundational
- Filter by tier to generate positioning materials or résumé sections
- Skills link to talks and publications via ontology edges

Expert Advanced Intermediate Foundational
personal career skills
personal career skills --tier Expert
Talks

- Full lifecycle: Idea → Proposed → Accepted → Delivered → Archived
- Each talk carries title, abstract, event, date, recording URL, slides URL
- Filter by status to see the active pipeline vs. archive

personal career talks
personal career talks --status Accepted
Publications & Positioning

- Publications sorted by order field — articles, books, papers
- Positioning strategies: core message, target audience, differentiators
- Both feed into the /career daemon page and CV generation modes

personal career publications
personal career positioning

## CFP Pipeline

Call-for-proposals tracked as graph nodes with a typed stage FSM. Each CFP record carries the event, deadline, talk abstract, submission URL, and Sessionize ID. Stage transitions are written back to `reflection/backlog.ncl` so they survive as version-controlled history.

Watching → Evaluating → Drafting → Submitted → Accepted / Declined → Delivered

Command | What it does
--- | ---
personal cfp | List all CFP records, most recent first
personal cfp --stage Drafting | Filter to records currently in the Drafting stage
personal cfp show <id> | Full detail for one CFP: event, abstract, deadline, URLs, history
personal cfp update <id> --stage Accepted | Transition the CFP stage; writes transition to reflection/backlog.ncl

# See all CFPs waiting for a decision
personal cfp --stage Submitted
# Inspect a specific CFP before updating
personal cfp show cfp-rustconf-2025
# Mark it as accepted — stage written to backlog.ncl
personal cfp update cfp-rustconf-2025 --stage Accepted
# ore alias works identically
ore personal cfp --stage Drafting

## Opportunities

Job opportunities, consulting engagements, and collaboration requests tracked as typed nodes. Each record carries a company, role, contact, compensation range, and notes. Stage transitions are explicit — no hidden pipeline state.

Watching → Evaluating → Active → Submitted → Closed
# List opportunities currently under active evaluation
personal opportunities --status Evaluating
# Full detail — compensation range, contact, notes, history
personal opportunities show opp-acme-sre-2025
# Move to Active (started interviewing)
personal opportunities update opp-acme-sre-2025 --status Active

## Content Pipeline

Blog posts, technical articles, video scripts, and newsletter issues tracked as content nodes in `ontology/personal.ncl`. Each node carries a title, format, target platform, tags, and a publication URL. Status drives the pipeline view in the daemon UI.

Idea → Draft → Review → Published → Archived
# View everything currently in draft
personal content --status Draft
# View what's pending review before publish
personal content --status Review
# All statuses (no filter)
personal content

## Daemon UI

The personal domain activates two additional pages in the daemon UI. Both are live-reloading and reflect the current state of your ontology files without restart.

/career
localhost:7421/career
/career Skills Skill matrix grouped by tier — Expert down to Foundational
/career#experience Experience Work history with dates, roles, and linked skill nodes
/career#talks Talks Pipeline view — accepted, delivered, and archived talks
/personal
localhost:7421/personal
/personal Content Content pipeline — Idea through Published, filtered by status
/personal#opportunities Opportunities Active opportunity pipeline with stage and notes
/personal#cfp CFP CFP board — grouped by stage, deadline-sorted

## Activation & CLI Reference

Setup writes `repo_kind = PersonalOntology` to your manifest and installs `ontology/career.ncl` and `ontology/personal.ncl` extension schemas. The `personal` alias is registered in your shell profile (or invokable as `ore personal`).

# ── Activation ──────────────────────────────────────────
ontoref setup --kind PersonalOntology
# ── FSM state ────────────────────────────────────────────
personal state # FSM position across all dimensions
personal next # next valid transitions + blockers/catalysts
personal validate <decision> # check against ontological invariants
personal audit # full coherence audit
# ── Career ───────────────────────────────────────────────
personal career skills [--tier Expert|Advanced|Intermediate|Foundational]
personal career talks [--status Idea|Proposed|Accepted|Delivered|Archived]
personal career publications
personal career positioning
# ── CFP pipeline ─────────────────────────────────────────
personal cfp [--stage Watching|Evaluating|Drafting|Submitted|Accepted|Declined|Delivered]
personal cfp show <id>
personal cfp update <id> --stage <stage>
# ── Opportunities ────────────────────────────────────────
personal opportunities [--status Watching|Evaluating|Active|Submitted|Closed]
personal opportunities show <id>
personal opportunities update <id>
# ── Content ──────────────────────────────────────────────
personal content [--status Idea|Draft|Review|Published|Archived]
# All of the above also work via the ore alias:
ore personal cfp --stage Drafting