ontoref/domains/personal/domain.ncl

36 lines
2.7 KiB
Text
Raw Normal View History

feat: domain extension system, VCS abstraction, personal/provisioning domains, web subpages Domain extension system (ADR-012): bash-layer dispatch activates repo_kind-conditional CLI domains. install.nu copies domains/ tree; short_alias wrappers generated (personal, prov). ore help and describe capabilities domain-aware. personal domain (PersonalOntology): career skills/talks/publications/positioning, CFP pipeline (Watching→Delivered), opportunities lifecycle, content pipeline, Sessionize integration. Daemon pages: /career, /personal. provisioning domain (DevWorkspace/Mixed): FSM state, next transitions, connections graph, gates, workspace card, capabilities, backlog. Daemon page: /provisioning. VCS abstraction layer (ADR-013): reflection/modules/vcs.nu — uniform jj/git API via filesystem detection (.jj/ vs .git/). opmode.nu and git-event.nu migrated off ^git. reflection/bin/jjw.nu — jj + ontoref + Radicle agent workspace lifecycle. jjw-ncl-merge.nu registered as jj merge tool for .ontology/ NCL conflicts. init-repo.nu for new_project mode. jj/rad not in ontoref requirements — belong in orchestration project manifests. 'Framework RepoKind: ontology/schemas/manifest.ncl gains 'Framework variant; ontoref self-identifies as framework — no domain activates for the protocol itself. Web presence: personal.html and provisioning.html domain subpages. index.html gains "Project Types — Domain Extensions" section with type cards and subpage links. Nav compacted (Arch/Prov labels, solid backdrop-filter background). on+re: vcs-abstraction (adrs: adr-013) and agent-workspace-orchestration Practice nodes; 21 manifest capabilities; state.ncl catalysts updated.
2026-04-07 23:08:29 +01:00
let s = import "../schema.ncl" in
s.Domain & {
id = "personal",
name = "Personal Ontology",
repo_kinds = ["PersonalOntology"],
description = "Career history, CFP pipeline, opportunities, and content tracking for PersonalOntology projects.",
required_extensions = ["career", "personal"],
short_alias = "personal",
commands = [
{ id = "projects", description = "Project portfolio — Project-level nodes from core.ncl" },
{ id = "projects show <id|idx>", description = "Full detail of a project node" },
{ id = "state", description = "Current FSM position across all dimensions" },
{ id = "next", description = "Next valid transition per dimension with blocker/catalyst" },
{ id = "validate <decision>", description = "Check a decision against ontological invariants" },
{ id = "audit", description = "Coherence audit: tensions without practices, axioms without project links" },
{ id = "career skills [--tier]", description = "Skills sorted by proficiency, filtered by Expert|Advanced|Intermediate|Foundational" },
{ id = "career talks [--status]", description = "Talks filtered by Idea|Proposed|Accepted|Delivered|Archived" },
{ id = "career publications", description = "Publication cards sorted by order, --featured for featured only" },
{ id = "career positioning", description = "Positioning strategies with core message" },
{ id = "content [--status]", description = "Content pipeline filtered by Idea|Draft|Review|Published|Archived" },
{ id = "opportunities [--status]", description = "Opportunities filtered by Watching|Evaluating|Active|Submitted|Closed" },
{ id = "opportunities show <id>", description = "Full detail of a single opportunity" },
{ id = "opportunities update <id>", description = "Update opportunity status in .ontology/personal.ncl" },
{ id = "cfp [--stage]", description = "CFP pipeline filtered by Watching|Evaluating|Drafting|Submitted|Accepted|Declined|Delivered" },
{ id = "cfp show <id>", description = "Full detail of a single CFP item" },
{ id = "cfp update <id> --stage <s>", description = "Update CFP stage in reflection/backlog.ncl" },
],
pages = [
{ id = "personal", route = "/<slug>/personal", title = "Personal (Content · Opportunities · CFP)", template = "personal", nav_label = "Personal" },
{ id = "career", route = "/<slug>/career", title = "Career (Skills · Experience · Talks)", template = "career", nav_label = "Career" },
],
}