Blueprint · careervector.blueprint-graph/v5

Graph explorer

Twenty composable top-level diagrams plus recursively nested 21×21 semantic layers. Nodes descend; boundary arrows cross to neighbours.

Nested layer 2 · data · evidence · feedback

Evidence aging and drift

Freshness is a field-specific inference over observations and contradictions, not a destructive timestamp update on canonical facts.

  • Immutable observation to Typed assertion: extract
  • Field aging policy to Typed assertion: age
  • Typed assertion to Current support: corroborate
  • Typed assertion to Contradiction + drift: compare
  • Field aging policy to Refresh priority: due
  • Current support to Refresh priority: lower urgency
  • Contradiction + drift to Refresh priority: raise urgency
extractagecorroboratecompareduelower urgencyraise urgency
storeas-built

Immutable observation

Source, capture time, content fingerprint, extractor recipe, and causal receipt.

JobCache ingestion
storemixed

Typed assertion

A normalized value with provenance, confidence, and an explicit validity interval.

JobCache Core
policytarget

Field aging policy

Expected turnover and source behavior determine decay; absence is not fabricated change.

JobCache Core
processtarget

Current support

Recent corroborating observations strengthen an assertion without overwriting history.

JobCache Core
processtarget

Contradiction + drift

Material disagreement closes validity, splits a role hypothesis, or requests new evidence.

JobCache Core
processtarget

Refresh priority

Uncertainty, age, product demand, and acquisition cost feed the ingestion work field.

JobCache orchestrator
  1. 01 · store · as-built Immutable observation

    Source, capture time, content fingerprint, extractor recipe, and causal receipt.

    JobCache ingestion
  2. 02 · store · mixed Typed assertion

    A normalized value with provenance, confidence, and an explicit validity interval.

    JobCache Core
  3. 03 · policy · target Field aging policy

    Expected turnover and source behavior determine decay; absence is not fabricated change.

    JobCache Core
  4. 04 · process · target Current support

    Recent corroborating observations strengthen an assertion without overwriting history.

    JobCache Core
  5. 05 · process · target Contradiction + drift

    Material disagreement closes validity, splits a role hypothesis, or requests new evidence.

    JobCache Core
  6. 06 · process · target Refresh priority

    Uncertainty, age, product demand, and acquisition cost feed the ingestion work field.

    JobCache orchestrator

Flows

  • Immutable observation Typed assertion extract
  • Field aging policy Typed assertion age
  • Typed assertion Current support corroborate
  • Typed assertion Contradiction + drift compare
  • Field aging policy Refresh priority due
  • Current support Refresh priority lower urgency
  • Contradiction + drift Refresh priority raise urgency

Canonical architecture note

Open note ↗

Internals

Purpose

Hold and serve the current public model of the job market. Internals is a blueprint label for JobCache Core and its immediate processing boundary; it is not a third product.

Canonical model

role → ad → workspace job

Core owns the role and ad rungs. CareerVector owns private workspace job state. Role facts aggregate evidence across ads without erasing disagreement or analyzing identical text twice.

CrateDB authority

  • Canonical current roles and ads.
  • Structured facts with evidence and temporal validity.
  • Embeddings and search projections.
  • Role/ad reconciliation and revision lineage.
  • Shared reusable enrichment results and public aggregate outputs.

Raw observations remain in object storage. Unfinished pipeline work remains in rebuildable operational state. Product-local session and workspace state remains in product D1/Yjs.

Invariants

  • CrateDB is the only canonical public-corpus database.
  • Publication is idempotent, revisioned, and traceable to immutable observations.
  • A role aggregate never hides conflicting ad evidence.
  • Product-local identifiers do not enter Core.
  • One-node CrateDB is an explicit resource constraint, not an excuse for a second truth store.
  • Customer reads take precedence over asynchronous publication pressure.

Completion evidence

Schema and query budgets for 100,000 ads; temporal role/ad reconstruction; vector and hybrid search benchmarks; publication atomicity; lineage queries; and privacy-boundary tests.

Source: architecture/modules/internals.md