← BackArchitecture
Domain Extension · PersonalOntology

Personal Ontology

Your career history, CFP pipeline, opportunities, and content lifecycle become first-class queryable graph artifacts. Skill tiers, talk stages, publication records, and positioning strategies are modeled as ontology nodes — version-controlled, machine-queryable, and surfaced in the daemon UI.

# Activate the personal domain in your repo
ontoref setup --kind PersonalOntology

# Alias is now available
personal state

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
ExpertAdvancedIntermediateFoundational
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.

WatchingEvaluatingDraftingSubmittedAccepted/DeclinedDelivered
CommandWhat it does
personal cfpList all CFP records, most recent first
personal cfp --stage DraftingFilter 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 AcceptedTransition 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.

WatchingEvaluatingActiveSubmittedClosed
# 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.

IdeaDraftReviewPublishedArchived
# 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
Skills
Experience
Talks
Publications
Positioning
/careerSkillsSkill matrix grouped by tier — Expert down to Foundational
/career#experienceExperienceWork history with dates, roles, and linked skill nodes
/career#talksTalksPipeline view — accepted, delivered, and archived talks
/personal
localhost:7421/personal
Content
Opportunities
CFP
/personalContentContent pipeline — Idea through Published, filtered by status
/personal#opportunitiesOpportunitiesActive opportunity pipeline with stage and notes
/personal#cfpCFPCFP 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