Skip to main content

Career-transition & reskilling domain plugin for the OakQuant timber substrate.

Project description

oak-domain-career

A career-transition & reskilling domain for the OakQuant platform — the third domain built on Timber's plugin system, and the platform's counter-cyclical pillar.

License: Apache 2.0 Python 3.11+ Status: Live in production PyPI

Career DNA is LIVE in production, across all three layers. A person can discover their Career DNA — a short, evidence-grounded read of their interests, work style, values, and readiness for a career move, with a personalized narrative — two ways:

  • As a launchable assessment from the Account page (/flows/career_dna_evaluation), a grove HITL flow driven by the same engine as Financial DNA (context → four dimension screens → deterministic scoring → an AI-written, anti-Barnum read).
  • Through the career coach in chat ("What's my Career DNA?"), an acorn assistant profile.

It ships as a discoverable plugin that registers into timber/grove/acorn at startup with zero edits to any sibling repo (ADR-0003), and it is fully ring-fenced by capability: grove serves a generic home/nav and this domain contributes its own, gated to the career capability, and every /api/v3/career endpoint is reachable only by a career-provisioned tenant (grove's default router guard). The other three R1 flows (layoff-triage, land-a-role, reskill) are next. See docs/STATUS.md.

What it is

oak-domain-career is a discoverable Timber domain plugin. Installing it will add a career-transition capability to an OakQuant deployment; leaving it out is a no-op. Like the other two domains it is fully additive and opt-in — it ships its own models, services, and integration points and wires them into the platform's shared registries at startup, with no edits to the core Timber, Grove, or Acorn libraries.

Why career transition — the counter-cyclical pillar

OakQuant's portfolio thesis is one engine across the whole economic cycle:

Domain Cycle role Seat
investments boom — grows when markets do B2C advice
legal-intake altruistic foundation — access to justice B2B2C workflow
career (this) bust — demand rises when people lose work B2C self-serve

Career transition is counter-cyclical: layoffs are the demand signal. It is the domain "everyone needs in a bust," and it runs on the same seams as the other two — assessment → goal → workflow → outcome, with a continuous-learning loop closing on real placement data.

See docs/00-ambition.md for the full thesis, and research/ for the market, competitive, funding, and monetization analysis that this plan is built on.

The first release (R1) — four flows, one arc

R1 is deliberately a full arc rather than a single feature, because the flows chain off a shared spine (Career DNA feeds the other three):

  1. Career DNA — a HITL behavioral + skills assessment → persona, skill-gap map, and a readiness/risk score. The root the other three consume. (Mirrors Financial DNA.)
  2. Layoff triage (first 72 hrs) — the counter-cyclical entry point: just-laid-off intake → benefits/runway math → an immediate, routed action plan with SLAs.
  3. Land your next role — a CareerGoal with a deadline-driven application pipeline, résumé/brand imagery, and interview-prep video.
  4. Reskill pathway — an adaptive learning path with mastery tracking — the tightest continuous-learning loop.

Start with the product narrative: docs/application-flows-and-benefits.md — every flow as Who / How / Benefit, with a visual SVG process diagram each. Internal flow detail: docs/02-flows.md.

The plugin shape

This package plugs into all three OakQuant layers through one entry point per layer. Each layer discovers only its own entry-point group and imports only that entry point's module — so the Timber layer never pulls in Grove/FastAPI or Acorn.

Layer Entry-point group Object Contributes
Timber timber.domains oak_domain_career:CareerDomain ORM models + assessment / pathway / job-search / triage / outcome services
Grove grove.domains oak_domain_career.grove_plugin:CareerGroveDomain FastAPI router under /api/v3/career
Acorn acorn.domains oak_domain_career.acorn_plugin:CareerAcornDomain career-coach assistant profile + agent tools

Repository layout

oak-domain-career/
├── README.md · LICENSE · pyproject.toml · CHANGELOG.md · .gitignore
├── .github/workflows/release.yml     # PyPI Trusted-Publishing on version bump (parity w/ siblings)
├── docs/                             # product narrative + SVG diagrams, ambition, plan, architecture, ADRs
│   ├── application-flows-and-benefits.md   # ← flagship user-facing doc (Who/How/Benefit + diagrams)
│   ├── funded-training-and-benefits-resources.md
│   └── diagrams/                     # generated SVG process diagrams (generate.mjs)
├── research/                         # competitive / funding / market / monetization / regulatory
├── oak_domain_career/                # the package skeleton (contracts + TODOs, no behavior yet)
│   ├── domain.py  models.py  grove_plugin.py  acorn_plugin.py
│   ├── calendar_taxonomy.py  routing_seed.py
│   └── services/                     # assessment / pathway / job_search / triage / outcome / calendar / routing
├── tests/                            # discovery test skeleton
└── config/                           # future Tier-1 config dir (grove.feature_packages)

Relationship to the other domain repos

Stored on GitHub exactly like its siblings under the oakquant-ai org (github.com/oakquant-ai/oak-domain-career), same main default branch, same root files, same .github/workflows/release.yml, same package/tests layout. See docs/03-architecture.md for what it reuses from oak-domain-investments (Financial DNA, the adaptive engine, Plaid, calendar generators) versus what is net-new.

Status & next steps

This is a planning repository. The build sequence, open questions, and the (future) integration checkpoints that will require touching other repos are tracked in docs/STATUS.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oak_domain_career-0.6.0.tar.gz (223.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oak_domain_career-0.6.0-py3-none-any.whl (184.6 kB view details)

Uploaded Python 3

File details

Details for the file oak_domain_career-0.6.0.tar.gz.

File metadata

  • Download URL: oak_domain_career-0.6.0.tar.gz
  • Upload date:
  • Size: 223.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for oak_domain_career-0.6.0.tar.gz
Algorithm Hash digest
SHA256 2474c4cad1560f8921497a423655ed5fbe71aef48e563e4eb8c639136cd5d214
MD5 d3521e9285ab0f3bec966c75d3c8053a
BLAKE2b-256 5b422f29597b3aa93fce245311c0bdf401f02f9b2f4f98149f6e6dfc5e4a5e0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for oak_domain_career-0.6.0.tar.gz:

Publisher: release.yml on oakquant-ai/oak-domain-career

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oak_domain_career-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for oak_domain_career-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c47d26ffec8c41d6a54595b703b0effdd72edf4b1a880685477fa27f4dae8398
MD5 f05f7b194141726dae955b91f15916fe
BLAKE2b-256 c3b804107d322bd2213c2d2de4942c5f6dee5d3c8242b87235033cdcfcfac7ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for oak_domain_career-0.6.0-py3-none-any.whl:

Publisher: release.yml on oakquant-ai/oak-domain-career

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page