{"schema":"careervector.blueprint-graph/v5","title":"CareerVector and JobCache whole-system blueprint","description":"A compound 5×4 architecture graph. Region fragments remain independently readable; named boundary ports compose them into one navigable system.","designLanguage":{"schema":"careervector.blueprint-design-language/v1","routing":{"geometry":"orthogonal-half-cell","priorities":["avoid-node-boxes","minimize-bends","preserve-source-axis","minimize-length"],"sharedSeamLane":"endpoint-owned-coordinate-for-both-neighbours","manualMidpointFallback":false},"flows":{"control":{"label":"Control","color":"#b45309"},"work":{"label":"Work","color":"#b45309"},"data":{"label":"Data","color":"#0756d8"},"query":{"label":"Query","color":"#0756d8"},"feedback":{"label":"Feedback","color":"#6d28d9"},"evidence":{"label":"Evidence","color":"#6d28d9"},"governance":{"label":"Governance","color":"#be123c"}},"nodes":{"actor":{"label":"Actor","color":"#0756d8"},"perspective":{"label":"Perspective","color":"#0756d8"},"service":{"label":"Service","color":"#087f73"},"process":{"label":"Process","color":"#087f73"},"store":{"label":"Store","color":"#6d28d9"},"obligation":{"label":"Obligation","color":"#c2410c"},"policy":{"label":"Policy","color":"#be123c"},"boundary":{"label":"Boundary","color":"#b45309"}},"regions":{"jobcache":{"label":"JobCache","color":"#0756d8","fill":"#eff6ff"},"careervector":{"label":"CareerVector","color":"#6d28d9","fill":"#f5f3ff"},"ingestion":{"label":"Ingestion","color":"#087f73","fill":"#f0fdfa"},"internals":{"label":"Internals","color":"#0891b2","fill":"#ecfeff"},"management":{"label":"Management","color":"#b45309","fill":"#fffbeb"},"relationship":{"label":"Relationship","color":"#667085","fill":"#f8fafc"},"operating-model":{"label":"Operating model","color":"#be123c","fill":"#fff1f2"}},"states":{"as-built":{"label":"As built","line":"solid"},"mixed":{"label":"Mixed","line":"solid"},"target":{"label":"Target","line":"dashed"},"open":{"label":"Open","line":"dashed"}},"lineWeights":{"detail":2,"boundary":2.5,"supergraph":1.75,"seam":2.25,"exterior":2.5,"marker":5}},"coordinateSystem":{"rows":5,"columns":4,"tileInterior":{"rows":21,"columns":21},"apron":1,"tilePitch":23,"routeResolution":0.5,"supergraphCore":{"rows":105,"columns":84},"supergraphRouted":{"rows":115,"columns":92}},"regions":[{"id":"jobcache-experience","title":"JobCache experience","description":"Mechanism, interaction model, and visual language across the public product.","kind":"product-band","tone":"jobcache","semanticNodeId":"idea:blueprint-jobcache-experience","row":1,"column":1,"rowSpan":1,"columnSpan":3,"state":"mixed","noteHref":"/blueprint/modules/jobcache-experience"},{"id":"jobcache-operating-model","title":"JobCache obligations","description":"Commercial, corpus, customer, and product-specific operating obligations.","kind":"operating-model","tone":"operating-model","semanticNodeId":"idea:blueprint-jobcache-operating-model","row":1,"column":4,"rowSpan":1,"columnSpan":1,"state":"open","noteHref":"/blueprint/modules/jobcache-operating-model"},{"id":"ingestion-jobcache","title":"Ingestion × JobCache","description":"User-triggered ingest, public fast paths, and reusable acquisition mechanisms.","kind":"relationship","tone":"relationship","semanticNodeId":"idea:blueprint-ingestion-jobcache","row":2,"column":1,"rowSpan":1,"columnSpan":1,"state":"mixed","noteHref":"/blueprint/modules/ingestion-jobcache"},{"id":"jobcache","title":"JobCache","description":"The commercial product over a current, evidence-backed public job corpus.","kind":"domain","tone":"jobcache","semanticNodeId":"idea:blueprint-jobcache-product","row":2,"column":2,"rowSpan":1,"columnSpan":1,"state":"mixed","noteHref":"/blueprint/modules/jobcache"},{"id":"jobcache-management","title":"JobCache × Management","description":"Commercial operation, support, quality, status, and declared product controls.","kind":"relationship","tone":"relationship","semanticNodeId":"idea:blueprint-jobcache-management","row":2,"column":3,"rowSpan":1,"columnSpan":1,"state":"open","noteHref":"/blueprint/modules/jobcache-management"},{"id":"ingestion","title":"Ingestion","description":"Acquire, preserve, schedule, extract, enrich, and publish public observations.","kind":"domain","tone":"ingestion","semanticNodeId":"idea:blueprint-ingestion","row":3,"column":1,"rowSpan":1,"columnSpan":1,"state":"mixed","noteHref":"/blueprint/modules/ingestion"},{"id":"internals","title":"Internals","description":"JobCache Core around CrateDB: canonical public truth, evidence, ads, and roles.","kind":"domain","tone":"internals","semanticNodeId":"idea:blueprint-internals","row":3,"column":2,"rowSpan":1,"columnSpan":1,"state":"mixed","noteHref":"/blueprint/modules/internals"},{"id":"management","title":"Management","description":"Operator action, observability, QA, status, cost, and the shared knowledge mesh.","kind":"domain","tone":"management","semanticNodeId":"idea:blueprint-management","row":3,"column":3,"rowSpan":1,"columnSpan":1,"state":"open","noteHref":"/blueprint/modules/management"},{"id":"operating-stack","title":"Operating stack","description":"Legal, GDPR, AI governance, security, retention, audit, cost, and accountability.","kind":"operating-model","tone":"operating-model","semanticNodeId":"idea:blueprint-operating-stack","row":2,"column":4,"rowSpan":3,"columnSpan":1,"state":"open","noteHref":"/blueprint/modules/operating-stack"},{"id":"ingestion-careervector","title":"Ingestion × CareerVector","description":"Consented contribution, browser and desktop execution, and privacy-safe reduction.","kind":"relationship","tone":"relationship","semanticNodeId":"idea:blueprint-ingestion-careervector","row":4,"column":1,"rowSpan":1,"columnSpan":1,"state":"mixed","noteHref":"/blueprint/modules/ingestion-careervector"},{"id":"careervector","title":"CareerVector","description":"The permanently free, private, collaborative career-intelligence workspace.","kind":"domain","tone":"careervector","semanticNodeId":"idea:blueprint-careervector-product","row":4,"column":2,"rowSpan":1,"columnSpan":1,"state":"mixed","noteHref":"/blueprint/modules/careervector"},{"id":"careervector-management","title":"CareerVector × Management","description":"Privacy-safe operation, support, quality, status, and bounded operator authority.","kind":"relationship","tone":"relationship","semanticNodeId":"idea:blueprint-careervector-management","row":4,"column":3,"rowSpan":1,"columnSpan":1,"state":"open","noteHref":"/blueprint/modules/careervector-management"},{"id":"careervector-experience","title":"CareerVector experience","description":"Mechanism, interaction model, and visual language across web, desktop, and agents.","kind":"product-band","tone":"careervector","semanticNodeId":"idea:blueprint-careervector-experience","row":5,"column":1,"rowSpan":1,"columnSpan":3,"state":"mixed","noteHref":"/blueprint/modules/careervector-experience"},{"id":"careervector-operating-model","title":"CareerVector commitments","description":"Privacy, consent, accessibility, and the permanently-free product promise.","kind":"operating-model","tone":"operating-model","semanticNodeId":"idea:blueprint-careervector-operating-model","row":5,"column":4,"rowSpan":1,"columnSpan":1,"state":"open","noteHref":"/blueprint/modules/careervector-operating-model"}],"views":[{"id":"jc-exp-acquisition","title":"Discover and request","summary":"How a JobCache user asks for current market truth and sees acquisition state without confusing queued work with evidence.","lenses":["product","data","evidence"],"sources":["architecture/modules/jobcache-experience.md","architecture/modules/ingestion-jobcache.md"],"noteRef":"architecture/modules/jobcache-experience.md","noteHref":"/blueprint/modules/jobcache-experience","nodes":[{"id":"intent","label":"Search intent","detail":"A human or agent describes roles, places, filters, or a source URL.","kind":"actor","state":"mixed","authority":"JobCache user","artifacts":[],"grid":{"column":2,"row":8,"columnSpan":4,"rowSpan":3},"position":{"x":5,"y":36,"width":22,"height":18}},{"id":"request","label":"Search / refresh request","detail":"Stateless search when possible; explicit acquisition request when evidence is missing.","kind":"perspective","state":"mixed","authority":"JobCache App","artifacts":[],"grid":{"column":8,"row":8,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":34,"width":25,"height":22}},{"id":"state","label":"Truthful acquisition state","detail":"Current, stale, refreshing, unavailable, or failed are distinct product states.","kind":"process","state":"target","authority":"JobCache App","artifacts":[],"grid":{"column":16,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":72,"y":34,"width":23,"height":22}}],"edges":[{"id":"intent-request","from":"intent","to":"request","label":"search or add source","kind":"query","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":8.5},{"x":6.5,"y":8.5},{"x":6.5,"y":9},{"x":7,"y":9}]},{"id":"request-state","from":"request","to":"state","label":"verified response","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9},{"x":15,"y":9}]}],"ports":[{"id":"jc-exp-acquisition-to-product:from","connectionId":"jc-exp-acquisition-to-product","label":"request becomes result","side":"east","offset":42.857142857142854,"direction":"out","contract":"JobCacheSearchIntent","contractRef":{"kind":"conceptual","ref":"JobCacheSearchIntent","state":"target"},"kind":"query","state":"target","nodeId":"state","nodeSide":"east","gridOffset":9,"route":[{"x":19,"y":9},{"x":21,"y":9}]},{"id":"jc-exp-acquisition-to-fast-path:from","connectionId":"jc-exp-acquisition-to-fast-path","label":"search / refresh intent","side":"south","offset":45.23809523809524,"direction":"out","contract":"AcquisitionRequest","contractRef":{"kind":"conceptual","ref":"AcquisitionRequest","state":"mixed"},"kind":"work","state":"mixed","nodeId":"request","nodeSide":"south","gridOffset":9.5,"route":[{"x":9.5,"y":11},{"x":9.5,"y":21}]}],"regionId":"jobcache-experience","unit":{"row":1,"column":1}},{"id":"jc-exp-product","title":"Search, roles, and evidence","summary":"The product view is role-first: results remain traceable to ads, observations, freshness, and disagreement.","lenses":["product","data","evidence"],"sources":["architecture/modules/jobcache-experience.md","architecture/modules/jobcache.md"],"noteRef":"architecture/modules/jobcache-experience.md","noteHref":"/blueprint/modules/jobcache-experience","nodes":[{"id":"search","label":"Role search","detail":"Filters and ranking operate on current role projections rather than disconnected URLs.","kind":"perspective","state":"target","authority":"JobCache App","artifacts":[],"grid":{"column":2,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":5,"y":34,"width":20,"height":20}},{"id":"role","label":"Role result","detail":"One role may aggregate several source ads while retaining disagreement.","kind":"process","state":"mixed","authority":"JobCache Core","artifacts":[],"grid":{"column":7,"row":7,"columnSpan":4,"rowSpan":5},"position":{"x":31,"y":30,"width":22,"height":28}},{"id":"evidence","label":"Evidence timeline","detail":"Ads, observations, validity intervals, provenance, and corrections.","kind":"perspective","state":"target","authority":"JobCache App","artifacts":[],"grid":{"column":13,"row":7,"columnSpan":4,"rowSpan":5},"position":{"x":59,"y":30,"width":20,"height":28}},{"id":"saved","label":"Saved view / snapshot","detail":"Session-local immutable result references and collaboration.","kind":"store","state":"as-built","authority":"JobCache App D1","artifacts":[],"grid":{"column":18,"row":8,"columnSpan":2,"rowSpan":4},"position":{"x":84,"y":34,"width":12,"height":20}}],"edges":[{"id":"search-role","from":"search","to":"role","label":"ranked query","kind":"query","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":9},{"x":5.5,"y":9},{"x":5.5,"y":8.5},{"x":6,"y":8.5}]},{"id":"role-evidence","from":"role","to":"evidence","label":"supported by","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":10,"y":8.5},{"x":12,"y":8.5}]},{"id":"evidence-saved","from":"evidence","to":"saved","label":"pin result","kind":"data","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":16,"y":8.5},{"x":16.5,"y":8.5},{"x":16.5,"y":9},{"x":17,"y":9}]}],"ports":[{"id":"jc-exp-acquisition-to-product:to","connectionId":"jc-exp-acquisition-to-product","label":"request becomes result","side":"west","offset":42.857142857142854,"direction":"in","contract":"JobCacheSearchIntent","contractRef":{"kind":"conceptual","ref":"JobCacheSearchIntent","state":"target"},"kind":"query","state":"target","nodeId":"search","nodeSide":"west","gridOffset":9,"route":[{"x":1,"y":9},{"x":0,"y":9}]},{"id":"jc-exp-product-to-trust:from","connectionId":"jc-exp-product-to-trust","label":"evidence becomes trusted work","side":"east","offset":40.476190476190474,"direction":"out","contract":"JobCacheResultSnapshot","contractRef":{"kind":"conceptual","ref":"JobCacheResultSnapshot","state":"target"},"kind":"evidence","state":"target","nodeId":"evidence","nodeSide":"north","gridOffset":8.5,"route":[{"x":14,"y":6},{"x":14,"y":5.5},{"x":20.5,"y":5.5},{"x":20.5,"y":8.5},{"x":21,"y":8.5}]},{"id":"jc-exp-product-to-product:from","connectionId":"jc-exp-product-to-product","label":"product interaction","side":"south","offset":14.285714285714285,"direction":"out","contract":"JobCachePublicApi","contractRef":{"kind":"conceptual","ref":"JobCachePublicApi","state":"mixed"},"kind":"query","state":"mixed","nodeId":"search","nodeSide":"south","gridOffset":3,"route":[{"x":3,"y":11},{"x":3,"y":21}]}],"regionId":"jobcache-experience","unit":{"row":1,"column":2}},{"id":"jc-exp-trust","title":"Trust, sessions, and service state","summary":"Sharing, freshness, failure, paid placement, and support remain legible instead of being hidden behind a polished result.","lenses":["product","operations","evidence"],"sources":["architecture/modules/jobcache-experience.md","architecture/modules/jobcache-management.md"],"noteRef":"architecture/modules/jobcache-experience.md","noteHref":"/blueprint/modules/jobcache-experience","nodes":[{"id":"session","label":"Opaque shared session","detail":"Link capability owns saved work and collaboration without exposing Core identity.","kind":"store","state":"as-built","authority":"JobCache App D1","artifacts":[],"grid":{"column":2,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":6,"y":34,"width":23,"height":22}},{"id":"trust","label":"Trust explanation","detail":"Freshness, provenance, uncertainty, degraded service, and paid placement.","kind":"perspective","state":"target","authority":"JobCache UI/API/MCP","artifacts":[],"grid":{"column":8,"row":7,"columnSpan":5,"rowSpan":6},"position":{"x":38,"y":30,"width":24,"height":30}},{"id":"support","label":"Status and support","detail":"Public service truth plus scoped correction, export, and support entry points.","kind":"perspective","state":"target","authority":"Status and Management","artifacts":[],"grid":{"column":16,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":72,"y":34,"width":23,"height":22}}],"edges":[{"id":"session-trust","from":"session","to":"trust","label":"context","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":9},{"x":7,"y":9}]},{"id":"trust-support","from":"trust","to":"support","label":"explain or escalate","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9},{"x":15,"y":9}]}],"ports":[{"id":"jc-exp-product-to-trust:to","connectionId":"jc-exp-product-to-trust","label":"evidence becomes trusted work","side":"west","offset":40.476190476190474,"direction":"in","contract":"JobCacheResultSnapshot","contractRef":{"kind":"conceptual","ref":"JobCacheResultSnapshot","state":"target"},"kind":"evidence","state":"target","nodeId":"trust","nodeSide":"north","gridOffset":8.5,"route":[{"x":9.5,"y":6},{"x":9.5,"y":5.5},{"x":0.5,"y":5.5},{"x":0.5,"y":8.5},{"x":0,"y":8.5}]},{"id":"jc-exp-trust-to-obligations:from","connectionId":"jc-exp-trust-to-obligations","label":"claims create obligations","side":"east","offset":42.857142857142854,"direction":"out","contract":"ProductClaim","contractRef":{"kind":"conceptual","ref":"ProductClaim","state":"open"},"kind":"governance","state":"open","nodeId":"support","nodeSide":"east","gridOffset":9,"route":[{"x":19,"y":9},{"x":21,"y":9}]},{"id":"jc-exp-trust-to-management:from","connectionId":"jc-exp-trust-to-management","label":"status and support","side":"south","offset":80.95238095238095,"direction":"out","contract":"JobCacheServiceState","contractRef":{"kind":"conceptual","ref":"JobCacheServiceState","state":"target"},"kind":"evidence","state":"target","nodeId":"support","nodeSide":"south","gridOffset":17,"route":[{"x":17,"y":11},{"x":17,"y":21}]}],"regionId":"jobcache-experience","unit":{"row":1,"column":3}},{"id":"jc-obligations","title":"JobCache obligations","summary":"Commercial promises are translated into enforceable corpus, provenance, publication, and customer obligations.","lenses":["governance","operations","evidence"],"sources":["architecture/modules/jobcache-operating-model.md"],"noteRef":"architecture/modules/jobcache-operating-model.md","noteHref":"/blueprint/modules/jobcache-operating-model","nodes":[{"id":"claims","label":"Corpus claims","detail":"Definitions for current, complete, verified, and evidence-backed.","kind":"obligation","state":"open","authority":"Product owner","artifacts":[],"grid":{"column":2,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":14,"width":38,"height":22}},{"id":"publication","label":"Publication duties","detail":"Attribution, correction, takedown, suppression, and appeal.","kind":"obligation","state":"open","authority":"Product and legal","artifacts":[],"grid":{"column":12,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":14,"width":38,"height":22}},{"id":"customer","label":"Customer contract","detail":"Availability, export, retention, support, and service commitments.","kind":"obligation","state":"open","authority":"Product owner","artifacts":[],"grid":{"column":2,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":58,"width":38,"height":22}},{"id":"commerce","label":"Commercial separation","detail":"Paid placement cannot silently rewrite organic relevance or evidence.","kind":"boundary","state":"open","authority":"Product owner","artifacts":[],"grid":{"column":12,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":58,"width":38,"height":22}}],"edges":[{"id":"claims-publication","from":"claims","to":"publication","label":"constrains","kind":"governance","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":4},{"x":11,"y":4}]},{"id":"customer-commerce","from":"customer","to":"commerce","label":"separates","kind":"governance","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":14},{"x":11,"y":14}]},{"id":"claims-customer","from":"claims","to":"customer","label":"promises require proof","kind":"evidence","state":"open","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":4.5,"y":6},{"x":4.5,"y":12}]}],"ports":[{"id":"jc-exp-trust-to-obligations:to","connectionId":"jc-exp-trust-to-obligations","label":"claims create obligations","side":"west","offset":42.857142857142854,"direction":"in","contract":"ProductClaim","contractRef":{"kind":"conceptual","ref":"ProductClaim","state":"open"},"kind":"governance","state":"open","nodeId":"claims","nodeSide":"south","gridOffset":9,"route":[{"x":4.5,"y":6},{"x":4.5,"y":9},{"x":0,"y":9}]},{"id":"jc-obligations-to-operating:from","connectionId":"jc-obligations-to-operating","label":"product duties","side":"south","offset":21.428571428571427,"direction":"out","contract":"JobCacheObligation","contractRef":{"kind":"conceptual","ref":"JobCacheObligation","state":"open"},"kind":"governance","state":"open","nodeId":"publication","nodeSide":"west","gridOffset":4.5,"route":[{"x":11,"y":4},{"x":8.5,"y":4},{"x":8.5,"y":20.5},{"x":4.5,"y":20.5},{"x":4.5,"y":21}]}],"regionId":"jobcache-operating-model","unit":{"row":1,"column":4}},{"id":"jc-ingest-fast-path","title":"Interactive acquisition seam","summary":"A user-triggered miss acknowledges acquisition immediately, preserves the observation, and delivers an immutable result later.","lenses":["runtime","data","evidence"],"sources":["architecture/modules/ingestion-jobcache.md"],"noteRef":"architecture/modules/ingestion-jobcache.md","noteHref":"/blueprint/modules/ingestion-jobcache","nodes":[{"id":"request","label":"Lookup or refresh","detail":"One public request with no session identity in scraper evidence.","kind":"perspective","state":"mixed","authority":"JobCache App","artifacts":[],"grid":{"column":1,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":4,"y":34,"width":21,"height":22}},{"id":"current","label":"Current truth?","detail":"Return verified Core truth directly when it exists.","kind":"process","state":"mixed","authority":"JobCache App","artifacts":[],"grid":{"column":7,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":31,"y":34,"width":20,"height":22}},{"id":"schedule","label":"Preserve + schedule","detail":"Acknowledge missing work without claiming that queued data is fresh.","kind":"process","state":"mixed","authority":"Ingestion","artifacts":[],"grid":{"column":12,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":57,"y":34,"width":20,"height":22}},{"id":"delivery","label":"Immutable delivery","detail":"Result snapshot or honest terminal failure reaches the requesting session.","kind":"process","state":"target","authority":"JobCache App","artifacts":[],"grid":{"column":18,"row":8,"columnSpan":2,"rowSpan":4},"position":{"x":83,"y":34,"width":13,"height":22}}],"edges":[{"id":"request-current","from":"request","to":"current","label":"check","kind":"query","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":4,"y":9},{"x":6,"y":9}]},{"id":"current-schedule","from":"current","to":"schedule","label":"miss","kind":"work","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":10,"y":9},{"x":11,"y":9}]},{"id":"schedule-delivery","from":"schedule","to":"delivery","label":"eventual result","kind":"data","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":15,"y":9},{"x":17,"y":9}]}],"ports":[{"id":"jc-exp-acquisition-to-fast-path:to","connectionId":"jc-exp-acquisition-to-fast-path","label":"search / refresh intent","side":"north","offset":45.23809523809524,"direction":"in","contract":"AcquisitionRequest","contractRef":{"kind":"conceptual","ref":"AcquisitionRequest","state":"mixed"},"kind":"work","state":"mixed","nodeId":"request","nodeSide":"north","gridOffset":9.5,"route":[{"x":2,"y":7},{"x":2,"y":0.5},{"x":9.5,"y":0.5},{"x":9.5,"y":0}]},{"id":"fast-path-to-product:from","connectionId":"fast-path-to-product","label":"verified result / pending state","side":"east","offset":42.857142857142854,"direction":"both","contract":"JobCacheAcquisitionOutcome","contractRef":{"kind":"conceptual","ref":"JobCacheAcquisitionOutcome","state":"target"},"kind":"data","state":"target","nodeId":"delivery","nodeSide":"east","gridOffset":9,"route":[{"x":19,"y":9},{"x":21,"y":9}]},{"id":"fast-path-to-ingestion:from","connectionId":"fast-path-to-ingestion","label":"bounded acquisition work","side":"south","offset":61.904761904761905,"direction":"out","contract":"AcquisitionRequest","contractRef":{"kind":"conceptual","ref":"AcquisitionRequest","state":"mixed"},"kind":"work","state":"mixed","nodeId":"schedule","nodeSide":"south","gridOffset":13,"route":[{"x":13,"y":11},{"x":13,"y":21}]}],"regionId":"ingestion-jobcache","unit":{"row":2,"column":1}},{"id":"jc-product","title":"JobCache App and Core seam","summary":"The product edge owns opaque session state; the shared Core owns public role and ad truth.","lenses":["product","runtime","privacy","data"],"sources":["architecture/modules/jobcache.md","wiki/content/architecture/SYSTEM-ARCHITECTURE.md"],"noteRef":"architecture/modules/jobcache.md","noteHref":"/blueprint/modules/jobcache","nodes":[{"id":"perspectives","label":"UI · API · MCP","detail":"Distinct human and agent perspectives over one App contract.","kind":"perspective","state":"mixed","authority":"JobCache App","artifacts":[],"grid":{"column":2,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":12,"width":38,"height":20}},{"id":"app","label":"JobCache App API","detail":"Stateless reads or exactly one opaque session per capability request.","kind":"service","state":"as-built","authority":"JobCache App","artifacts":[],"grid":{"column":12,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":12,"width":38,"height":20}},{"id":"session","label":"D1 session state","detail":"Views, grants, immutable snapshots, reductions, and erasure outbox.","kind":"store","state":"as-built","authority":"JobCache App D1","artifacts":[],"grid":{"column":2,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":58,"width":38,"height":20}},{"id":"seam","label":"Authenticated Core seam","detail":"Product-local session identifiers stop here.","kind":"boundary","state":"as-built","authority":"JobCache App and Core","artifacts":[],"grid":{"column":12,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":58,"width":38,"height":20}}],"edges":[{"id":"perspectives-app","from":"perspectives","to":"app","label":"public contract","kind":"query","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":4},{"x":11,"y":4}]},{"id":"app-session","from":"app","to":"session","label":"session-local","kind":"data","state":"as-built","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":11,"y":4},{"x":8.5,"y":4},{"x":8.5,"y":14},{"x":8,"y":14}]},{"id":"app-seam","from":"app","to":"seam","label":"stateless or reduced","kind":"query","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":14.5,"y":6},{"x":14.5,"y":12}]}],"ports":[{"id":"jc-exp-product-to-product:to","connectionId":"jc-exp-product-to-product","label":"product interaction","side":"north","offset":14.285714285714285,"direction":"in","contract":"JobCachePublicApi","contractRef":{"kind":"conceptual","ref":"JobCachePublicApi","state":"mixed"},"kind":"query","state":"mixed","nodeId":"perspectives","nodeSide":"north","gridOffset":3,"route":[{"x":4.5,"y":2},{"x":4.5,"y":0.5},{"x":3,"y":0.5},{"x":3,"y":0}]},{"id":"fast-path-to-product:to","connectionId":"fast-path-to-product","label":"verified result / pending state","side":"west","offset":42.857142857142854,"direction":"both","contract":"JobCacheAcquisitionOutcome","contractRef":{"kind":"conceptual","ref":"JobCacheAcquisitionOutcome","state":"target"},"kind":"data","state":"target","nodeId":"app","nodeSide":"south","gridOffset":9,"route":[{"x":14.5,"y":6},{"x":14.5,"y":9},{"x":0,"y":9}]},{"id":"product-to-management:from","connectionId":"product-to-management","label":"health and named controls","side":"east","offset":19.047619047619047,"direction":"both","contract":"JobCacheManagementEnvelope","contractRef":{"kind":"conceptual","ref":"JobCacheManagementEnvelope","state":"open"},"kind":"control","state":"open","nodeId":"app","nodeSide":"east","gridOffset":4,"route":[{"x":18,"y":4},{"x":21,"y":4}]},{"id":"product-to-core:from","connectionId":"product-to-core","label":"search and immutable delivery","side":"south","offset":69.04761904761905,"direction":"both","contract":"JobCacheCoreProtocol","contractRef":{"kind":"schema","ref":"lib/corpus-shared/src/protocol.ts#CorpusSearchRequestSchema","state":"as-built"},"kind":"query","state":"as-built","nodeId":"seam","nodeSide":"south","gridOffset":14.5,"route":[{"x":14.5,"y":16},{"x":14.5,"y":21}]}],"regionId":"jobcache","unit":{"row":2,"column":2}},{"id":"jc-management","title":"Operate JobCache deliberately","summary":"Read-only observability and named commands are separated so dashboards never become shadow writers.","lenses":["operations","control","evidence"],"sources":["architecture/modules/jobcache-management.md"],"noteRef":"architecture/modules/jobcache-management.md","noteHref":"/blueprint/modules/jobcache-management","nodes":[{"id":"signals","label":"Health · queues · drift","detail":"Service, source, corpus, delivery, and customer signals.","kind":"perspective","state":"target","authority":"Ops/Status","artifacts":[],"grid":{"column":2,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":6,"y":14,"width":38,"height":22}},{"id":"investigate","label":"Lineage investigation","detail":"Traverse result → role → ad → evidence → publication.","kind":"process","state":"target","authority":"Ops/QA","artifacts":[],"grid":{"column":12,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":56,"y":14,"width":38,"height":22}},{"id":"command","label":"Named command gate","detail":"Authenticated command with scope, preconditions, preview, and authority.","kind":"boundary","state":"open","authority":"Management","artifacts":[],"grid":{"column":2,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":6,"y":58,"width":38,"height":22}},{"id":"receipt","label":"Audit + recovery evidence","detail":"Immutable receipt plus rollback or compensation and verification.","kind":"store","state":"open","authority":"Management","artifacts":[],"grid":{"column":12,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":56,"y":58,"width":38,"height":22}}],"edges":[{"id":"signals-investigate","from":"signals","to":"investigate","label":"correlate","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":4},{"x":11,"y":4}]},{"id":"investigate-command","from":"investigate","to":"command","label":"declare intent","kind":"control","state":"open","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":11,"y":4},{"x":8.5,"y":4},{"x":8.5,"y":14},{"x":8,"y":14}]},{"id":"command-receipt","from":"command","to":"receipt","label":"execute and prove","kind":"evidence","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":14},{"x":11,"y":14}]}],"ports":[{"id":"jc-exp-trust-to-management:to","connectionId":"jc-exp-trust-to-management","label":"status and support","side":"north","offset":80.95238095238095,"direction":"in","contract":"JobCacheServiceState","contractRef":{"kind":"conceptual","ref":"JobCacheServiceState","state":"target"},"kind":"evidence","state":"target","nodeId":"signals","nodeSide":"north","gridOffset":17,"route":[{"x":4.5,"y":2},{"x":4.5,"y":0.5},{"x":17,"y":0.5},{"x":17,"y":0}]},{"id":"product-to-management:to","connectionId":"product-to-management","label":"health and named controls","side":"west","offset":19.047619047619047,"direction":"both","contract":"JobCacheManagementEnvelope","contractRef":{"kind":"conceptual","ref":"JobCacheManagementEnvelope","state":"open"},"kind":"control","state":"open","nodeId":"signals","nodeSide":"west","gridOffset":4,"route":[{"x":1,"y":4},{"x":0,"y":4}]},{"id":"management-to-operating-jc:from","connectionId":"management-to-operating-jc","label":"controls implement obligations","side":"east","offset":66.66666666666666,"direction":"both","contract":"JobCacheControlEvidence","contractRef":{"kind":"conceptual","ref":"JobCacheControlEvidence","state":"open"},"kind":"governance","state":"open","nodeId":"receipt","nodeSide":"east","gridOffset":14,"route":[{"x":18,"y":14},{"x":21,"y":14}]},{"id":"jc-management-to-management:from","connectionId":"jc-management-to-management","label":"telemetry and commands","side":"south","offset":69.04761904761905,"direction":"both","contract":"ManagementCommandReceipt","contractRef":{"kind":"conceptual","ref":"ManagementCommandReceipt","state":"open"},"kind":"control","state":"open","nodeId":"receipt","nodeSide":"south","gridOffset":14.5,"route":[{"x":14.5,"y":16},{"x":14.5,"y":21}]}],"regionId":"jobcache-management","unit":{"row":2,"column":3}},{"id":"operating-jobcache","title":"JobCache-facing operating stack","summary":"Source rights, corpus provenance, customer promises, and commercial separation constrain JobCache operation.","lenses":["operations","governance","evidence"],"sources":["architecture/modules/operating-stack.md","architecture/modules/jobcache-operating-model.md"],"noteRef":"architecture/modules/operating-stack.md","noteHref":"/blueprint/modules/operating-stack","nodes":[{"id":"rights","label":"Source and content rights","detail":"Acquire, retain, transform, publish, correct, and remove by declared policy.","kind":"obligation","state":"open","authority":"Legal and product","artifacts":[],"grid":{"column":2,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":8,"y":12,"width":36,"height":23}},{"id":"provenance","label":"Corpus provenance","detail":"Every claim remains attributable and contestable.","kind":"obligation","state":"open","authority":"Product and data","artifacts":[],"grid":{"column":12,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":56,"y":12,"width":36,"height":23}},{"id":"service","label":"Service commitments","detail":"Freshness, availability, support, export, and retention.","kind":"obligation","state":"open","authority":"Product owner","artifacts":[],"grid":{"column":2,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":8,"y":58,"width":36,"height":23}},{"id":"placement","label":"Paid-placement boundary","detail":"Advertising and organic relevance remain distinguishable.","kind":"boundary","state":"open","authority":"Product owner","artifacts":[],"grid":{"column":12,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":56,"y":58,"width":36,"height":23}}],"edges":[{"id":"rights-provenance","from":"rights","to":"provenance","label":"requires","kind":"governance","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":4},{"x":11,"y":4}]},{"id":"service-placement","from":"service","to":"placement","label":"constrains","kind":"governance","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":14},{"x":11,"y":14}]}],"ports":[{"id":"jc-obligations-to-operating:to","connectionId":"jc-obligations-to-operating","label":"product duties","side":"north","offset":21.428571428571427,"direction":"in","contract":"JobCacheObligation","contractRef":{"kind":"conceptual","ref":"JobCacheObligation","state":"open"},"kind":"governance","state":"open","nodeId":"rights","nodeSide":"north","gridOffset":4.5,"route":[{"x":4.5,"y":2},{"x":4.5,"y":0}]},{"id":"management-to-operating-jc:to","connectionId":"management-to-operating-jc","label":"controls implement obligations","side":"west","offset":66.66666666666666,"direction":"both","contract":"JobCacheControlEvidence","contractRef":{"kind":"conceptual","ref":"JobCacheControlEvidence","state":"open"},"kind":"governance","state":"open","nodeId":"service","nodeSide":"west","gridOffset":14,"route":[{"x":1,"y":14},{"x":0,"y":14}]},{"id":"operating-jc-to-shared:from","connectionId":"operating-jc-to-shared","label":"shared controls and evidence","side":"south","offset":21.428571428571427,"direction":"both","contract":"OperatingRequirement","contractRef":{"kind":"conceptual","ref":"OperatingRequirement","state":"open"},"kind":"governance","state":"open","nodeId":"service","nodeSide":"south","gridOffset":4.5,"route":[{"x":4.5,"y":16},{"x":4.5,"y":21}]}],"regionId":"operating-stack","unit":{"row":2,"column":4}},{"id":"public-ingestion","title":"Public corpus ingestion","summary":"Resilient pull-based work distribution over unreliable actors, with raw evidence preserved before canonical publication.","lenses":["runtime","data","control","evidence"],"sources":["architecture/modules/ingestion.md","wiki/content/architecture/INGESTION-AND-CONSUMER-AI.md"],"noteRef":"architecture/modules/ingestion.md","noteHref":"/blueprint/modules/ingestion","nodes":[{"id":"policy","label":"Operator policy","detail":"Weights, budgets, source catalogue, and curiosity shape the routing field.","kind":"policy","state":"mixed","authority":"JobCache operator","artifacts":[],"grid":{"column":1,"row":2,"columnSpan":4,"rowSpan":3},"position":{"x":3,"y":8,"width":22,"height":16}},{"id":"router","label":"Sporewright router","detail":"Ranks due work and actor class; mints lease and causal receipt.","kind":"process","state":"as-built","authority":"JobCache orchestrator","artifacts":[],"expandsTo":"jobcache-routing-field","grid":{"column":7,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":31,"y":8,"width":25,"height":16}},{"id":"queue","label":"Private RabbitMQ","detail":"Priority lanes carry work, never participant credentials.","kind":"service","state":"as-built","authority":"JobCache orchestrator","artifacts":[],"grid":{"column":14,"row":2,"columnSpan":4,"rowSpan":3},"position":{"x":63,"y":8,"width":22,"height":16}},{"id":"sources","label":"Public job sources","detail":"Portals, feeds, APIs, discovery, and refresh signals.","kind":"actor","state":"mixed","authority":"Public web","artifacts":[],"grid":{"column":1,"row":10,"columnSpan":4,"rowSpan":3},"position":{"x":3,"y":43,"width":22,"height":18}},{"id":"pool","label":"Execution pool","detail":"Browser, Tauri, and container actors parse locally and return feedback.","kind":"process","state":"mixed","authority":"JobCache participants","artifacts":[],"grid":{"column":7,"row":10,"columnSpan":5,"rowSpan":3},"position":{"x":31,"y":43,"width":25,"height":18}},{"id":"s3","label":"Corbet S3 mailbox","detail":"Scoped transient deposits, immutable raw archive, and B2 overflow.","kind":"store","state":"as-built","authority":"JobCache ingestion","artifacts":[],"grid":{"column":14,"row":10,"columnSpan":4,"rowSpan":3},"position":{"x":63,"y":43,"width":22,"height":18}},{"id":"enrich","label":"Content-addressed enrichment","detail":"Fingerprint, extract, embed, validate, and reconcile once per input and recipe.","kind":"process","state":"target","authority":"JobCache pipeline","artifacts":[],"grid":{"column":7,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":31,"y":76,"width":25,"height":16}},{"id":"fold","label":"Canonical COPY fold","detail":"Receipt validation and idempotent batch publication into Core.","kind":"boundary","state":"as-built","authority":"JobCache Core","artifacts":[],"grid":{"column":14,"row":16,"columnSpan":4,"rowSpan":3},"position":{"x":63,"y":76,"width":22,"height":16}}],"edges":[{"id":"policy-router","from":"policy","to":"router","label":"shape","kind":"control","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":4,"y":2.5},{"x":6,"y":2.5}]},{"id":"router-queue","from":"router","to":"queue","label":"rank + lease","kind":"work","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":11,"y":2.5},{"x":13,"y":2.5}],"contract":"ScrapeLease + RoutingReceipt"},{"id":"queue-pool","from":"queue","to":"pool","label":"pull","kind":"work","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":15,"y":4},{"x":15,"y":8.5},{"x":8.5,"y":8.5},{"x":8.5,"y":9}]},{"id":"sources-pool","from":"sources","to":"pool","label":"fetch + parse","kind":"data","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":4,"y":10.5},{"x":6,"y":10.5}]},{"id":"pool-s3","from":"pool","to":"s3","label":"deposit","kind":"data","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":11,"y":10.5},{"x":13,"y":10.5}],"contract":"ScrapeDeposit + RoutingReceipt"},{"id":"s3-enrich","from":"s3","to":"enrich","label":"pull immutable input","kind":"work","state":"target","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":13,"y":10.5},{"x":11.5,"y":10.5},{"x":11.5,"y":16.5},{"x":11,"y":16.5}]},{"id":"enrich-fold","from":"enrich","to":"fold","label":"validated result","kind":"data","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":11,"y":16.5},{"x":13,"y":16.5}]}],"ports":[{"id":"fast-path-to-ingestion:to","connectionId":"fast-path-to-ingestion","label":"bounded acquisition work","side":"north","offset":61.904761904761905,"direction":"in","contract":"AcquisitionRequest","contractRef":{"kind":"conceptual","ref":"AcquisitionRequest","state":"mixed"},"kind":"work","state":"mixed","nodeId":"router","nodeSide":"north","gridOffset":13,"route":[{"x":8.5,"y":1},{"x":8.5,"y":0.5},{"x":13,"y":0.5},{"x":13,"y":0}]},{"id":"ingestion-to-core:from","connectionId":"ingestion-to-core","label":"validated canonical deposit","side":"east","offset":45.23809523809524,"direction":"out","contract":"ScrapeDeposit + RoutingReceipt","contractRef":{"kind":"api","ref":"lib/jobcache-participant/src/participant.ts#deposit","state":"as-built"},"kind":"data","state":"as-built","nodeId":"fold","nodeSide":"east","gridOffset":9.5,"route":[{"x":17,"y":16.5},{"x":20.5,"y":16.5},{"x":20.5,"y":9.5},{"x":21,"y":9.5}]},{"id":"ingestion-to-cv-contribution:from","connectionId":"ingestion-to-cv-contribution","label":"public leases and feedback","side":"south","offset":64.28571428571429,"direction":"both","contract":"ParticipantLeaseProtocol","contractRef":{"kind":"schema","ref":"jobcache/shared/src/device-contract.ts#JobcacheLeaseSchema","state":"as-built"},"kind":"work","state":"as-built","nodeId":"pool","nodeSide":"east","gridOffset":13.5,"route":[{"x":11,"y":10.5},{"x":12.5,"y":10.5},{"x":12.5,"y":20.5},{"x":13.5,"y":20.5},{"x":13.5,"y":21}]}],"regionId":"ingestion","unit":{"row":3,"column":1}},{"id":"jobcache-core","title":"JobCache Core and privacy seams","summary":"CrateDB owns public corpus truth while JobCache App and CareerVector retain their unrelated local identities.","lenses":["runtime","data","privacy","evidence"],"sources":["architecture/modules/internals.md","wiki/content/architecture/SYSTEM-ARCHITECTURE.md"],"noteRef":"architecture/modules/internals.md","noteHref":"/blueprint/modules/internals","nodes":[{"id":"jc-app","label":"JobCache App","detail":"Observer-facing sessions, views, grants, snapshots, and product delivery.","kind":"service","state":"as-built","authority":"JobCache App","artifacts":[],"grid":{"column":1,"row":2,"columnSpan":7,"rowSpan":3},"position":{"x":4,"y":7,"width":38,"height":18}},{"id":"jc-seam","label":"Observer privacy seam","detail":"session_id stays in App; only declared reductions cross.","kind":"boundary","state":"as-built","authority":"JobCache App/Core","artifacts":[],"grid":{"column":11,"row":2,"columnSpan":9,"rowSpan":3},"position":{"x":49,"y":7,"width":47,"height":18}},{"id":"core-api","label":"Protected Core API","detail":"Authenticated search, deposit, delivery, and lifecycle boundary.","kind":"service","state":"as-built","authority":"JobCache Core","artifacts":[],"grid":{"column":1,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":40,"width":26,"height":18}},{"id":"crate","label":"CrateDB","detail":"Roles, ads, facts, evidence, vectors, lineage, tasks, and outcomes.","kind":"store","state":"as-built","authority":"JobCache Core","artifacts":[],"expandsTo":"core-corpus-model","grid":{"column":8,"row":8,"columnSpan":5,"rowSpan":5},"position":{"x":37,"y":37,"width":27,"height":24}},{"id":"corpus","label":"Corpus pipeline","detail":"Reconcile ad→role, retain disagreement, age evidence, and publish projections.","kind":"process","state":"mixed","authority":"JobCache Core","artifacts":[],"grid":{"column":15,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":71,"y":40,"width":25,"height":18}},{"id":"cv-seam","label":"Workspace privacy seam","detail":"workspace_id, documents, prompts, and activity stay in CareerVector.","kind":"boundary","state":"as-built","authority":"CareerVector/Core","artifacts":[],"grid":{"column":1,"row":16,"columnSpan":9,"rowSpan":3},"position":{"x":4,"y":75,"width":47,"height":18}},{"id":"cv","label":"CareerVector","detail":"Private workspace receives public projections and keeps private truth locally.","kind":"service","state":"mixed","authority":"CareerVector","artifacts":[],"grid":{"column":13,"row":16,"columnSpan":7,"rowSpan":3},"position":{"x":58,"y":75,"width":38,"height":18}}],"edges":[{"id":"jc-app-seam","from":"jc-app","to":"jc-seam","label":"reduced request","kind":"data","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":7,"y":2.5},{"x":10,"y":2.5}]},{"id":"jc-seam-api","from":"jc-seam","to":"core-api","label":"authenticated","kind":"query","state":"as-built","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":10,"y":2.5},{"x":7.5,"y":2.5},{"x":7.5,"y":6.5},{"x":5.5,"y":6.5},{"x":5.5,"y":9.5},{"x":5,"y":9.5}]},{"id":"api-crate","from":"core-api","to":"crate","label":"search / lifecycle","kind":"query","state":"as-built","direction":"two-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":9.5},{"x":7,"y":9.5}]},{"id":"crate-corpus","from":"crate","to":"corpus","label":"reconcile + project","kind":"data","state":"mixed","direction":"two-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9.5},{"x":14,"y":9.5}]},{"id":"crate-cv-seam","from":"crate","to":"cv-seam","label":"public projection","kind":"query","state":"as-built","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":7,"y":9.5},{"x":6.5,"y":9.5},{"x":6.5,"y":14.5},{"x":9.5,"y":14.5},{"x":9.5,"y":16.5},{"x":9,"y":16.5}]},{"id":"cv-seam-cv","from":"cv-seam","to":"cv","label":"workspace-local delivery","kind":"data","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":9,"y":16.5},{"x":12,"y":16.5}]}],"ports":[{"id":"product-to-core:to","connectionId":"product-to-core","label":"search and immutable delivery","side":"north","offset":69.04761904761905,"direction":"both","contract":"JobCacheCoreProtocol","contractRef":{"kind":"schema","ref":"lib/corpus-shared/src/protocol.ts#CorpusSearchRequestSchema","state":"as-built"},"kind":"query","state":"as-built","nodeId":"core-api","nodeSide":"north","gridOffset":14.5,"route":[{"x":2.5,"y":8},{"x":2.5,"y":4.5},{"x":9.5,"y":4.5},{"x":9.5,"y":0.5},{"x":14.5,"y":0.5},{"x":14.5,"y":0}]},{"id":"ingestion-to-core:to","connectionId":"ingestion-to-core","label":"validated canonical deposit","side":"west","offset":45.23809523809524,"direction":"in","contract":"ScrapeDeposit + RoutingReceipt","contractRef":{"kind":"api","ref":"lib/jobcache-participant/src/participant.ts#deposit","state":"as-built"},"kind":"data","state":"as-built","nodeId":"core-api","nodeSide":"west","gridOffset":9.5,"route":[{"x":0,"y":9.5}]},{"id":"core-to-management:from","connectionId":"core-to-management","label":"telemetry / declared control","side":"east","offset":45.23809523809524,"direction":"both","contract":"CoreManagementEnvelope","contractRef":{"kind":"conceptual","ref":"CoreManagementEnvelope","state":"open"},"kind":"control","state":"open","nodeId":"corpus","nodeSide":"east","gridOffset":9.5,"route":[{"x":19,"y":9.5},{"x":21,"y":9.5}]},{"id":"core-to-cv-product:from","connectionId":"core-to-cv-product","label":"public facts / private request","side":"south","offset":21.428571428571427,"direction":"both","contract":"CareerVectorCoreProtocol","contractRef":{"kind":"schema","ref":"lib/corpus-shared/src/protocol.ts#CorpusSearchResponseSchema","state":"as-built"},"kind":"query","state":"as-built","nodeId":"cv-seam","nodeSide":"south","gridOffset":4.5,"route":[{"x":4.5,"y":18},{"x":4.5,"y":21}]}],"regionId":"internals","unit":{"row":3,"column":2}},{"id":"management-plane","title":"Management and observability","summary":"Humans and agents inspect one evidence mesh; only named, scoped commands may change product or system state.","lenses":["operations","control","evidence"],"sources":["architecture/modules/management.md"],"noteRef":"architecture/modules/management.md","noteHref":"/blueprint/modules/management","nodes":[{"id":"telemetry","label":"Metrics · logs · traces","detail":"Health, costs, freshness, drift, audit, and runtime evidence.","kind":"store","state":"target","authority":"Owning product","artifacts":[],"grid":{"column":2,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":5,"y":34,"width":21,"height":22}},{"id":"perspectives","label":"Ops · QA · Status · Wiki","detail":"Federated perspectives over product-owned observations, shared semantics, and bounded authority.","kind":"perspective","state":"mixed","authority":"Management","artifacts":[],"expandsTo":"management-federation","grid":{"column":7,"row":7,"columnSpan":5,"rowSpan":6},"position":{"x":32,"y":29,"width":24,"height":32}},{"id":"operator","label":"Human / agent operator","detail":"Reads the same architecture, evidence, authority, and recovery contract.","kind":"actor","state":"target","authority":"Authorized operator","artifacts":[],"grid":{"column":14,"row":8,"columnSpan":3,"rowSpan":4},"position":{"x":62,"y":34,"width":18,"height":22}},{"id":"gate","label":"Typed command gate","detail":"Scope, authority, preconditions, expected evidence, and idempotency.","kind":"boundary","state":"open","authority":"Management","artifacts":[],"grid":{"column":18,"row":7,"columnSpan":2,"rowSpan":6},"position":{"x":85,"y":29,"width":12,"height":32}}],"edges":[{"id":"telemetry-perspectives","from":"telemetry","to":"perspectives","label":"project","kind":"evidence","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":9},{"x":6,"y":9}]},{"id":"perspectives-operator","from":"perspectives","to":"operator","label":"explain","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":11,"y":9},{"x":13,"y":9}]},{"id":"operator-gate","from":"operator","to":"gate","label":"declared intent","kind":"control","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":16,"y":9},{"x":17,"y":9}]}],"ports":[{"id":"jc-management-to-management:to","connectionId":"jc-management-to-management","label":"telemetry and commands","side":"north","offset":69.04761904761905,"direction":"both","contract":"ManagementCommandReceipt","contractRef":{"kind":"conceptual","ref":"ManagementCommandReceipt","state":"open"},"kind":"control","state":"open","nodeId":"gate","nodeSide":"north","gridOffset":14.5,"route":[{"x":18,"y":6},{"x":18,"y":0.5},{"x":14.5,"y":0.5},{"x":14.5,"y":0}]},{"id":"core-to-management:to","connectionId":"core-to-management","label":"telemetry / declared control","side":"west","offset":45.23809523809524,"direction":"both","contract":"CoreManagementEnvelope","contractRef":{"kind":"conceptual","ref":"CoreManagementEnvelope","state":"open"},"kind":"control","state":"open","nodeId":"telemetry","nodeSide":"west","gridOffset":9.5,"route":[{"x":1,"y":9},{"x":0.5,"y":9},{"x":0.5,"y":9.5},{"x":0,"y":9.5}]},{"id":"management-to-operating-shared:from","connectionId":"management-to-operating-shared","label":"controls and observable proof","side":"east","offset":42.857142857142854,"direction":"both","contract":"OperatingControlEvidence","contractRef":{"kind":"conceptual","ref":"OperatingControlEvidence","state":"open"},"kind":"governance","state":"open","nodeId":"gate","nodeSide":"east","gridOffset":9,"route":[{"x":19,"y":9},{"x":21,"y":9}]},{"id":"management-to-cv-management:from","connectionId":"management-to-cv-management","label":"privacy-safe operation","side":"south","offset":40.476190476190474,"direction":"both","contract":"CareerVectorManagementEnvelope","contractRef":{"kind":"conceptual","ref":"CareerVectorManagementEnvelope","state":"open"},"kind":"control","state":"open","nodeId":"perspectives","nodeSide":"south","gridOffset":8.5,"route":[{"x":8.5,"y":12},{"x":8.5,"y":21}]}],"regionId":"management","unit":{"row":3,"column":3}},{"id":"operating-shared","title":"Shared operating spine","summary":"Source-backed obligations become versioned controls, assurance, accountability, and recovery rather than labels attached to a diagram.","lenses":["operations","governance","evidence"],"sources":["architecture/modules/operating-stack.md","architecture/modules/management.md"],"noteRef":"architecture/modules/operating-stack.md","noteHref":"/blueprint/modules/operating-stack","nodes":[{"id":"obligations","label":"Obligation register","detail":"Source, applicability, interpretation, requirements, ownership, and review.","kind":"obligation","state":"target","authority":"Accountable owner","artifacts":[],"expandsTo":"operating-obligation-model","grid":{"column":2,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":10,"width":38,"height":23}},{"id":"controls","label":"Control catalogue","detail":"Privacy, security, records, resilience, cost, accessibility, and product gates.","kind":"service","state":"target","authority":"Owning products","artifacts":[],"grid":{"column":12,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":10,"width":38,"height":23}},{"id":"assurance","label":"Assurance + recovery","detail":"Tests, runtime evidence, incidents, compensation, and user-visible recovery.","kind":"store","state":"target","authority":"QA and product owners","artifacts":[],"grid":{"column":2,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":58,"width":38,"height":23}},{"id":"change","label":"Change + accountability","detail":"Decision, owner, approval, implementation, release, migration, rollback, and proof.","kind":"process","state":"target","authority":"Management","artifacts":[],"grid":{"column":12,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":58,"width":38,"height":23}}],"edges":[{"id":"obligations-controls","from":"obligations","to":"controls","label":"require","kind":"governance","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":4},{"x":11,"y":4}]},{"id":"controls-assurance","from":"controls","to":"assurance","label":"verify and recover","kind":"evidence","state":"target","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":11,"y":4},{"x":8.5,"y":4},{"x":8.5,"y":14},{"x":8,"y":14}]},{"id":"assurance-change","from":"assurance","to":"change","label":"gate change","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":14},{"x":11,"y":14}]},{"id":"change-obligations","from":"change","to":"obligations","label":"review and revise","kind":"feedback","state":"target","direction":"one-way","fromSide":"north","toSide":"south","route":[{"x":14.5,"y":12},{"x":14.5,"y":6.5},{"x":4.5,"y":6.5},{"x":4.5,"y":6}]}],"ports":[{"id":"operating-jc-to-shared:to","connectionId":"operating-jc-to-shared","label":"shared controls and evidence","side":"north","offset":21.428571428571427,"direction":"both","contract":"OperatingRequirement","contractRef":{"kind":"conceptual","ref":"OperatingRequirement","state":"open"},"kind":"governance","state":"open","nodeId":"controls","nodeSide":"north","gridOffset":4.5,"route":[{"x":14.5,"y":2},{"x":14.5,"y":0.5},{"x":4.5,"y":0.5},{"x":4.5,"y":0}]},{"id":"management-to-operating-shared:to","connectionId":"management-to-operating-shared","label":"controls and observable proof","side":"west","offset":42.857142857142854,"direction":"both","contract":"OperatingControlEvidence","contractRef":{"kind":"conceptual","ref":"OperatingControlEvidence","state":"open"},"kind":"governance","state":"open","nodeId":"change","nodeSide":"north","gridOffset":9,"route":[{"x":14.5,"y":12},{"x":14.5,"y":9},{"x":0,"y":9}]},{"id":"operating-shared-to-cv:from","connectionId":"operating-shared-to-cv","label":"shared controls and product duties","side":"south","offset":21.428571428571427,"direction":"both","contract":"OperatingRequirement","contractRef":{"kind":"conceptual","ref":"OperatingRequirement","state":"open"},"kind":"governance","state":"open","nodeId":"obligations","nodeSide":"east","gridOffset":4.5,"route":[{"x":8,"y":4},{"x":8.5,"y":4},{"x":8.5,"y":20.5},{"x":4.5,"y":20.5},{"x":4.5,"y":21}]}],"regionId":"operating-stack","unit":{"row":3,"column":4}},{"id":"cv-contribution","title":"Consented contribution seam","summary":"A CareerVector device may perform public acquisition work without exporting workspace identity or private career data.","lenses":["runtime","privacy","data","feedback"],"sources":["architecture/modules/ingestion-careervector.md"],"noteRef":"architecture/modules/ingestion-careervector.md","noteHref":"/blueprint/modules/ingestion-careervector","nodes":[{"id":"consent","label":"Scraping participation","detail":"Explicit consent and truthful foreground/background capability.","kind":"policy","state":"mixed","authority":"CareerVector participant","artifacts":[],"grid":{"column":1,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":4,"y":34,"width":21,"height":22}},{"id":"bridge","label":"Browser / Tauri bridge","detail":"Negotiates native or browser execution without exposing workspace state.","kind":"service","state":"as-built","authority":"CareerVector device","artifacts":[],"grid":{"column":7,"row":7,"columnSpan":4,"rowSpan":6},"position":{"x":31,"y":29,"width":22,"height":32}},{"id":"lease","label":"Public scrape lease","detail":"Adapter task plus causal routing receipt; no workspace identifier.","kind":"process","state":"as-built","authority":"JobCache orchestrator","artifacts":[],"grid":{"column":13,"row":8,"columnSpan":3,"rowSpan":4},"position":{"x":59,"y":34,"width":18,"height":22}},{"id":"deposit","label":"Deposit + feedback","detail":"Public observation and execution outcome follow the receipt path.","kind":"store","state":"as-built","authority":"JobCache ingestion","artifacts":[],"grid":{"column":18,"row":7,"columnSpan":2,"rowSpan":6},"position":{"x":83,"y":29,"width":13,"height":32}}],"edges":[{"id":"consent-bridge","from":"consent","to":"bridge","label":"enable / withdraw","kind":"control","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":4,"y":9},{"x":6,"y":9}]},{"id":"bridge-lease","from":"bridge","to":"lease","label":"pull","kind":"work","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":10,"y":9},{"x":12,"y":9}]},{"id":"lease-deposit","from":"lease","to":"deposit","label":"execute","kind":"data","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":15,"y":9},{"x":17,"y":9}],"contract":"ScrapeDeposit + RoutingReceipt"},{"id":"deposit-lease","from":"deposit","to":"lease","label":"learn","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":17,"y":9},{"x":15,"y":9}]}],"ports":[{"id":"ingestion-to-cv-contribution:to","connectionId":"ingestion-to-cv-contribution","label":"public leases and feedback","side":"north","offset":64.28571428571429,"direction":"both","contract":"ParticipantLeaseProtocol","contractRef":{"kind":"schema","ref":"jobcache/shared/src/device-contract.ts#JobcacheLeaseSchema","state":"as-built"},"kind":"work","state":"as-built","nodeId":"lease","nodeSide":"north","gridOffset":13.5,"route":[{"x":13.5,"y":7},{"x":13.5,"y":0}]},{"id":"cv-contribution-to-product:from","connectionId":"cv-contribution-to-product","label":"public result, private projection","side":"east","offset":42.857142857142854,"direction":"out","contract":"WorkspaceJobProjection","contractRef":{"kind":"conceptual","ref":"WorkspaceJobProjection","state":"mixed"},"kind":"data","state":"mixed","nodeId":"deposit","nodeSide":"east","gridOffset":9,"route":[{"x":19,"y":9},{"x":21,"y":9}]},{"id":"cv-contribution-to-experience:from","connectionId":"cv-contribution-to-experience","label":"participation state","side":"south","offset":9.523809523809524,"direction":"out","contract":"ParticipantCapabilityState","contractRef":{"kind":"conceptual","ref":"ParticipantCapabilityState","state":"mixed"},"kind":"evidence","state":"mixed","nodeId":"consent","nodeSide":"south","gridOffset":2,"route":[{"x":2,"y":11},{"x":2,"y":21}]}],"regionId":"ingestion-careervector","unit":{"row":4,"column":1}},{"id":"cv-product","title":"Private workspace and Smart Routing","summary":"Workspace policy, feasibility, cost, and bounded learning select AI execution without leaking private content into routing evidence.","lenses":["product","runtime","privacy","control","feedback"],"sources":["architecture/modules/careervector.md","wiki/content/architecture/LLM-TENSOR-ROUTING.md"],"noteRef":"architecture/modules/careervector.md","noteHref":"/blueprint/modules/careervector","nodes":[{"id":"operator-policy","label":"Platform policy","detail":"Zero-spend gate, allowlist, quality floor, shared quotas.","kind":"policy","state":"as-built","authority":"CareerVector operator","artifacts":[],"grid":{"column":1,"row":2,"columnSpan":4,"rowSpan":3},"position":{"x":3,"y":7,"width":22,"height":16}},{"id":"workspace-policy","label":"Workspace policy","detail":"Fixed, preferred, never, BYOK, consent, curiosity, and user budget.","kind":"policy","state":"as-built","authority":"Workspace","artifacts":[],"grid":{"column":7,"row":2,"columnSpan":4,"rowSpan":3},"position":{"x":30,"y":7,"width":22,"height":16}},{"id":"d1","label":"Private D1 tensor state","detail":"Declared policy, bounded learned evidence, budget reservations; no prompts or keys.","kind":"store","state":"as-built","authority":"CareerVector D1","artifacts":[],"grid":{"column":12,"row":2,"columnSpan":4,"rowSpan":3},"position":{"x":57,"y":7,"width":20,"height":16}},{"id":"field","label":"Sporewright addressed field","detail":"root → workspace → capability → stage → consumer → instance?","kind":"process","state":"as-built","authority":"CareerVector router","artifacts":[],"expandsTo":"llm-routing-field","grid":{"column":5,"row":8,"columnSpan":12,"rowSpan":3},"position":{"x":21,"y":36,"width":58,"height":18}},{"id":"decision","label":"Ranked route + receipt","detail":"Selected provider/model route, fallbacks, hard gates, and short explanation.","kind":"process","state":"as-built","authority":"CareerVector router","artifacts":[],"grid":{"column":8,"row":14,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":62,"width":26,"height":16}},{"id":"executors","label":"Local · peer · BYOK · included","detail":"Feasible executors realize options under key and privacy boundaries.","kind":"service","state":"mixed","authority":"Device or server","artifacts":[],"grid":{"column":1,"row":18,"columnSpan":9,"rowSpan":2},"position":{"x":3,"y":84,"width":44,"height":13}},{"id":"pipeline","label":"Task pipeline","detail":"Extract, evaluate, salary, tailor, and explain return only to the workspace.","kind":"process","state":"mixed","authority":"CareerVector workspace","artifacts":[],"grid":{"column":12,"row":18,"columnSpan":5,"rowSpan":2},"position":{"x":53,"y":84,"width":28,"height":13}},{"id":"outcome","label":"Outcome projector","detail":"Failure, honest quality loss, latency, tokens, aging, and bounded upward messages.","kind":"process","state":"as-built","authority":"CareerVector router","artifacts":[],"grid":{"column":18,"row":14,"columnSpan":2,"rowSpan":5},"position":{"x":84,"y":62,"width":13,"height":25}}],"edges":[{"id":"operator-field","from":"operator-policy","to":"field","label":"shape root","kind":"control","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":2,"y":4},{"x":2,"y":6.5},{"x":10,"y":6.5},{"x":10,"y":7}]},{"id":"workspace-field","from":"workspace-policy","to":"field","label":"shape branch","kind":"control","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":8,"y":4},{"x":8,"y":6.5},{"x":10,"y":6.5},{"x":10,"y":7}]},{"id":"d1-field","from":"d1","to":"field","label":"read bounded state","kind":"data","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":13,"y":4},{"x":13,"y":6.5},{"x":10,"y":6.5},{"x":10,"y":7}]},{"id":"field-decision","from":"field","to":"decision","label":"rank","kind":"control","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":10,"y":10},{"x":10,"y":12.5},{"x":9.5,"y":12.5},{"x":9.5,"y":13}]},{"id":"decision-executors","from":"decision","to":"executors","label":"dispatch within gates","kind":"work","state":"mixed","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":9.5,"y":16},{"x":9.5,"y":16.5},{"x":4.5,"y":16.5},{"x":4.5,"y":17}]},{"id":"executors-pipeline","from":"executors","to":"pipeline","label":"result","kind":"data","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":9,"y":18},{"x":11,"y":18}]},{"id":"pipeline-outcome","from":"pipeline","to":"outcome","label":"normalized signal","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":16,"y":18},{"x":16.5,"y":18},{"x":16.5,"y":15.5},{"x":17,"y":15.5}]},{"id":"outcome-d1","from":"outcome","to":"d1","label":"age + project","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"north","toSide":"east","route":[{"x":18,"y":13},{"x":18,"y":2.5},{"x":15,"y":2.5}]}],"ports":[{"id":"core-to-cv-product:to","connectionId":"core-to-cv-product","label":"public facts / private request","side":"north","offset":21.428571428571427,"direction":"both","contract":"CareerVectorCoreProtocol","contractRef":{"kind":"schema","ref":"lib/corpus-shared/src/protocol.ts#CorpusSearchResponseSchema","state":"as-built"},"kind":"query","state":"as-built","nodeId":"d1","nodeSide":"north","gridOffset":4.5,"route":[{"x":13,"y":1},{"x":13,"y":0.5},{"x":4.5,"y":0.5},{"x":4.5,"y":0}]},{"id":"cv-contribution-to-product:to","connectionId":"cv-contribution-to-product","label":"public result, private projection","side":"west","offset":42.857142857142854,"direction":"in","contract":"WorkspaceJobProjection","contractRef":{"kind":"conceptual","ref":"WorkspaceJobProjection","state":"mixed"},"kind":"data","state":"mixed","nodeId":"d1","nodeSide":"south","gridOffset":9,"route":[{"x":13,"y":4},{"x":13,"y":6.5},{"x":0.5,"y":6.5},{"x":0.5,"y":9},{"x":0,"y":9}]},{"id":"cv-product-to-management:from","connectionId":"cv-product-to-management","label":"aggregate evidence / scoped support","side":"east","offset":73.80952380952381,"direction":"out","contract":"PrivacySafeTelemetry","contractRef":{"kind":"conceptual","ref":"PrivacySafeTelemetry","state":"open"},"kind":"evidence","state":"open","nodeId":"outcome","nodeSide":"east","gridOffset":15.5,"route":[{"x":19,"y":15.5},{"x":21,"y":15.5}]},{"id":"cv-product-to-experience:from","connectionId":"cv-product-to-experience","label":"workspace truth","side":"south","offset":64.28571428571429,"direction":"out","contract":"WorkspaceProjection","contractRef":{"kind":"conceptual","ref":"WorkspaceProjection","state":"mixed"},"kind":"data","state":"mixed","nodeId":"pipeline","nodeSide":"south","gridOffset":13.5,"route":[{"x":13.5,"y":19},{"x":13.5,"y":21}]}],"regionId":"careervector","unit":{"row":4,"column":2}},{"id":"cv-management","title":"Privacy-safe CareerVector operation","summary":"Operators see aggregate health and explicitly supplied diagnostics, never a general browser over private workspaces.","lenses":["operations","privacy","control","evidence"],"sources":["architecture/modules/careervector-management.md"],"noteRef":"architecture/modules/careervector-management.md","noteHref":"/blueprint/modules/careervector-management","nodes":[{"id":"aggregate","label":"Aggregate signals","detail":"Service health, queues, models, token use, local adoption, and error classes.","kind":"store","state":"target","authority":"CareerVector","artifacts":[],"grid":{"column":2,"row":3,"columnSpan":8,"rowSpan":4},"position":{"x":5,"y":14,"width":39,"height":22}},{"id":"evidence","label":"User-supplied evidence","detail":"Explicitly scoped diagnostics for one support case.","kind":"boundary","state":"open","authority":"Workspace participant","artifacts":[],"grid":{"column":12,"row":3,"columnSpan":8,"rowSpan":4},"position":{"x":56,"y":14,"width":39,"height":22}},{"id":"operator","label":"Ops · QA · Status","detail":"Investigate releases, incidents, AI supply, and participant lifecycle.","kind":"perspective","state":"target","authority":"Management","artifacts":[],"grid":{"column":2,"row":13,"columnSpan":8,"rowSpan":4},"position":{"x":5,"y":58,"width":39,"height":22}},{"id":"capability","label":"Scoped command capability","detail":"Revocable support authority, typed workspace op, or erasure request.","kind":"boundary","state":"open","authority":"Management and participant","artifacts":[],"grid":{"column":12,"row":13,"columnSpan":8,"rowSpan":4},"position":{"x":56,"y":58,"width":39,"height":22}}],"edges":[{"id":"aggregate-operator","from":"aggregate","to":"operator","label":"observe","kind":"evidence","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":5,"y":6},{"x":5,"y":12}]},{"id":"evidence-operator","from":"evidence","to":"operator","label":"consented diagnostic","kind":"evidence","state":"open","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":15,"y":6},{"x":15,"y":11.5},{"x":5,"y":11.5},{"x":5,"y":12}]},{"id":"operator-capability","from":"operator","to":"capability","label":"request action","kind":"control","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":9,"y":14},{"x":11,"y":14}]}],"ports":[{"id":"management-to-cv-management:to","connectionId":"management-to-cv-management","label":"privacy-safe operation","side":"north","offset":40.476190476190474,"direction":"both","contract":"CareerVectorManagementEnvelope","contractRef":{"kind":"conceptual","ref":"CareerVectorManagementEnvelope","state":"open"},"kind":"control","state":"open","nodeId":"aggregate","nodeSide":"north","gridOffset":8.5,"route":[{"x":5,"y":2},{"x":5,"y":0.5},{"x":8.5,"y":0.5},{"x":8.5,"y":0}]},{"id":"cv-product-to-management:to","connectionId":"cv-product-to-management","label":"aggregate evidence / scoped support","side":"west","offset":73.80952380952381,"direction":"in","contract":"PrivacySafeTelemetry","contractRef":{"kind":"conceptual","ref":"PrivacySafeTelemetry","state":"open"},"kind":"evidence","state":"open","nodeId":"evidence","nodeSide":"south","gridOffset":15.5,"route":[{"x":15,"y":6},{"x":15,"y":11.5},{"x":0.5,"y":11.5},{"x":0.5,"y":15.5},{"x":0,"y":15.5}]},{"id":"cv-management-to-operating:from","connectionId":"cv-management-to-operating","label":"support implements commitments","side":"east","offset":66.66666666666666,"direction":"both","contract":"CareerVectorControlEvidence","contractRef":{"kind":"conceptual","ref":"CareerVectorControlEvidence","state":"open"},"kind":"governance","state":"open","nodeId":"capability","nodeSide":"east","gridOffset":14,"route":[{"x":19,"y":14},{"x":21,"y":14}]},{"id":"cv-management-to-experience:from","connectionId":"cv-management-to-experience","label":"status and recovery","side":"south","offset":78.57142857142857,"direction":"out","contract":"CareerVectorServiceState","contractRef":{"kind":"conceptual","ref":"CareerVectorServiceState","state":"target"},"kind":"evidence","state":"target","nodeId":"evidence","nodeSide":"east","gridOffset":16.5,"route":[{"x":19,"y":4},{"x":19.5,"y":4},{"x":19.5,"y":20.5},{"x":16.5,"y":20.5},{"x":16.5,"y":21}]}],"regionId":"careervector-management","unit":{"row":4,"column":3}},{"id":"operating-careervector","title":"CareerVector-facing operating stack","summary":"Privacy, AI governance, accessibility, and zero-user-cost commitments become explicit product gates and evidence.","lenses":["operations","governance","privacy","evidence"],"sources":["architecture/modules/operating-stack.md","architecture/modules/careervector-operating-model.md"],"noteRef":"architecture/modules/operating-stack.md","noteHref":"/blueprint/modules/operating-stack","nodes":[{"id":"privacy","label":"Private workspace","detail":"Purpose, minimization, consent, isolation, retention, export, and erasure.","kind":"obligation","state":"open","authority":"Product and legal","artifacts":[],"grid":{"column":2,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":10,"width":38,"height":23}},{"id":"ai","label":"AI governance","detail":"Purpose, provider, risk, explanation, override, BYOK, Local AI, and outcome evidence.","kind":"obligation","state":"open","authority":"Product and AI owner","artifacts":[],"grid":{"column":12,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":10,"width":38,"height":23}},{"id":"access","label":"Accessibility","detail":"Core work cannot require a particular ability, device, GPU, or provider.","kind":"obligation","state":"open","authority":"Product owner","artifacts":[],"grid":{"column":2,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":58,"width":38,"height":23}},{"id":"free","label":"Zero user cost","detail":"No paywall, surprise charge, inference margin, or inaccessible fallback.","kind":"obligation","state":"target","authority":"Product owner","artifacts":[{"kind":"decision","ref":"architecture/modules/careervector-operating-model.md#commitments","role":"normative"}],"grid":{"column":12,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":58,"width":38,"height":23}}],"edges":[{"id":"privacy-ai","from":"privacy","to":"ai","label":"constrains","kind":"governance","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":4},{"x":11,"y":4}]},{"id":"access-free","from":"access","to":"free","label":"guarantees viable path","kind":"governance","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":14},{"x":11,"y":14}]}],"ports":[{"id":"operating-shared-to-cv:to","connectionId":"operating-shared-to-cv","label":"shared controls and product duties","side":"north","offset":21.428571428571427,"direction":"both","contract":"OperatingRequirement","contractRef":{"kind":"conceptual","ref":"OperatingRequirement","state":"open"},"kind":"governance","state":"open","nodeId":"privacy","nodeSide":"north","gridOffset":4.5,"route":[{"x":4.5,"y":2},{"x":4.5,"y":0}]},{"id":"cv-management-to-operating:to","connectionId":"cv-management-to-operating","label":"support implements commitments","side":"west","offset":66.66666666666666,"direction":"both","contract":"CareerVectorControlEvidence","contractRef":{"kind":"conceptual","ref":"CareerVectorControlEvidence","state":"open"},"kind":"governance","state":"open","nodeId":"ai","nodeSide":"south","gridOffset":14,"route":[{"x":14.5,"y":6},{"x":14.5,"y":11.5},{"x":0.5,"y":11.5},{"x":0.5,"y":14},{"x":0,"y":14}]},{"id":"operating-to-commitments:from","connectionId":"operating-to-commitments","label":"enforceable commitments","side":"south","offset":69.04761904761905,"direction":"out","contract":"CareerVectorCommitment","contractRef":{"kind":"conceptual","ref":"CareerVectorCommitment","state":"open"},"kind":"governance","state":"open","nodeId":"free","nodeSide":"south","gridOffset":14.5,"route":[{"x":14.5,"y":16},{"x":14.5,"y":21}]}],"regionId":"operating-stack","unit":{"row":4,"column":4}},{"id":"cv-exp-contribution","title":"Participation controls","summary":"Scraping and Local AI are explicit, truthful controls: readiness, consent, background limits, and withdrawal stay visible.","lenses":["product","privacy","runtime"],"sources":["architecture/modules/careervector-experience.md","architecture/modules/ingestion-careervector.md"],"noteRef":"architecture/modules/careervector-experience.md","noteHref":"/blueprint/modules/careervector-experience","nodes":[{"id":"pills","label":"Scraping · Local AI pills","detail":"Persistent participation state in the product band.","kind":"perspective","state":"mixed","authority":"CareerVector UI","artifacts":[],"grid":{"column":2,"row":8,"columnSpan":5,"rowSpan":4},"position":{"x":5,"y":34,"width":26,"height":22}},{"id":"consent","label":"Consent + readiness","detail":"Explain download, hardware, browser, foreground/background, and withdrawal.","kind":"policy","state":"target","authority":"Workspace participant","artifacts":[],"grid":{"column":8,"row":7,"columnSpan":5,"rowSpan":6},"position":{"x":38,"y":29,"width":26,"height":32}},{"id":"state","label":"Truthful device state","detail":"Disabled, preparing, ready, active, limited, failed, or unavailable.","kind":"process","state":"target","authority":"CareerVector device","artifacts":[],"grid":{"column":15,"row":8,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":34,"width":24,"height":22}}],"edges":[{"id":"pills-consent","from":"pills","to":"consent","label":"open explanation","kind":"control","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":6,"y":9},{"x":7,"y":9}]},{"id":"consent-state","from":"consent","to":"state","label":"observe capability","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9},{"x":14,"y":9}]}],"ports":[{"id":"cv-contribution-to-experience:to","connectionId":"cv-contribution-to-experience","label":"participation state","side":"north","offset":9.523809523809524,"direction":"in","contract":"ParticipantCapabilityState","contractRef":{"kind":"conceptual","ref":"ParticipantCapabilityState","state":"mixed"},"kind":"evidence","state":"mixed","nodeId":"pills","nodeSide":"north","gridOffset":2,"route":[{"x":3.5,"y":7},{"x":3.5,"y":0.5},{"x":2,"y":0.5},{"x":2,"y":0}]},{"id":"cv-exp-contribution-to-workspace:from","connectionId":"cv-exp-contribution-to-workspace","label":"capability supports work","side":"east","offset":42.857142857142854,"direction":"out","contract":"ParticipantExperienceState","contractRef":{"kind":"conceptual","ref":"ParticipantExperienceState","state":"target"},"kind":"data","state":"target","nodeId":"state","nodeSide":"east","gridOffset":9,"route":[{"x":19,"y":9},{"x":21,"y":9}]}],"regionId":"careervector-experience","unit":{"row":5,"column":1}},{"id":"cv-exp-workspace","title":"Career-intelligence workspace","summary":"The job-market matrix unifies opportunity tracking, evidence, decisions, documents, collaboration, and agent work.","lenses":["product","data","evidence"],"sources":["architecture/modules/careervector-experience.md","architecture/modules/careervector.md"],"noteRef":"architecture/modules/careervector-experience.md","noteHref":"/blueprint/modules/careervector-experience","nodes":[{"id":"radar","label":"Radar and imports","detail":"Discover and attach public opportunities to private workspace jobs.","kind":"process","state":"mixed","authority":"CareerVector","artifacts":[],"grid":{"column":1,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":4,"y":34,"width":20,"height":22}},{"id":"matrix","label":"Workspace matrix","detail":"Jobs as rows; facts, judgments, state, scores, and outputs as columns.","kind":"perspective","state":"as-built","authority":"CareerVector D1/Yjs","artifacts":[],"grid":{"column":7,"row":7,"columnSpan":5,"rowSpan":6},"position":{"x":30,"y":29,"width":25,"height":32}},{"id":"documents","label":"CV · CL · application work","detail":"Quarry, tailoring, PDF, notes, and application history.","kind":"process","state":"mixed","authority":"CareerVector workspace","artifacts":[],"grid":{"column":13,"row":8,"columnSpan":4,"rowSpan":4},"position":{"x":61,"y":34,"width":20,"height":22}},{"id":"collab","label":"Humans and agents","detail":"Link-based collaborators operate on the same typed workspace truth.","kind":"actor","state":"as-built","authority":"Workspace participants","artifacts":[],"grid":{"column":19,"row":7,"columnSpan":2,"rowSpan":6},"position":{"x":86,"y":29,"width":11,"height":32}}],"edges":[{"id":"radar-matrix","from":"radar","to":"matrix","label":"add public projection","kind":"data","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":4,"y":9},{"x":6,"y":9}]},{"id":"matrix-documents","from":"matrix","to":"documents","label":"evaluate + tailor","kind":"work","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":11,"y":9},{"x":12,"y":9}]},{"id":"documents-collab","from":"documents","to":"collab","label":"review + edit","kind":"feedback","state":"as-built","direction":"two-way","fromSide":"east","toSide":"west","route":[{"x":16,"y":9},{"x":18,"y":9}]}],"ports":[{"id":"cv-product-to-experience:to","connectionId":"cv-product-to-experience","label":"workspace truth","side":"north","offset":64.28571428571429,"direction":"in","contract":"WorkspaceProjection","contractRef":{"kind":"conceptual","ref":"WorkspaceProjection","state":"mixed"},"kind":"data","state":"mixed","nodeId":"matrix","nodeSide":"north","gridOffset":13.5,"route":[{"x":8.5,"y":6},{"x":8.5,"y":0.5},{"x":13.5,"y":0.5},{"x":13.5,"y":0}]},{"id":"cv-exp-contribution-to-workspace:to","connectionId":"cv-exp-contribution-to-workspace","label":"capability supports work","side":"west","offset":42.857142857142854,"direction":"in","contract":"ParticipantExperienceState","contractRef":{"kind":"conceptual","ref":"ParticipantExperienceState","state":"target"},"kind":"data","state":"target","nodeId":"radar","nodeSide":"west","gridOffset":9,"route":[{"x":0,"y":9}]},{"id":"cv-exp-workspace-to-trust:from","connectionId":"cv-exp-workspace-to-trust","label":"activity becomes explanation","side":"east","offset":42.857142857142854,"direction":"out","contract":"WorkspaceActivityEvidence","contractRef":{"kind":"conceptual","ref":"WorkspaceActivityEvidence","state":"target"},"kind":"evidence","state":"target","nodeId":"collab","nodeSide":"east","gridOffset":9,"route":[{"x":20,"y":9},{"x":21,"y":9}]}],"regionId":"careervector-experience","unit":{"row":5,"column":2}},{"id":"cv-exp-trust","title":"Explain, collaborate, and recover","summary":"Origin, uncertainty, route choice, offline state, failure, fallback, and recovery stay legible across web, desktop, API, and MCP.","lenses":["product","operations","evidence","privacy"],"sources":["architecture/modules/careervector-experience.md","architecture/modules/careervector-management.md"],"noteRef":"architecture/modules/careervector-experience.md","noteHref":"/blueprint/modules/careervector-experience","nodes":[{"id":"origin","label":"Origin and activity","detail":"Human, system, agent, provider, freshness, and work-state signals.","kind":"perspective","state":"mixed","authority":"CareerVector UI/API/MCP","artifacts":[],"grid":{"column":2,"row":8,"columnSpan":5,"rowSpan":4},"position":{"x":5,"y":34,"width":24,"height":22}},{"id":"explain","label":"Smart Routing explanation","detail":"Short reason, fallback, exhaustion, consent, and explicit override.","kind":"perspective","state":"target","authority":"CareerVector UI/API/MCP","artifacts":[],"grid":{"column":8,"row":7,"columnSpan":5,"rowSpan":6},"position":{"x":38,"y":29,"width":24,"height":32}},{"id":"recovery","label":"Offline and recovery","detail":"Local queue, realtime convergence, server fallback, and honest failure.","kind":"process","state":"mixed","authority":"CareerVector runtime","artifacts":[],"grid":{"column":15,"row":8,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":34,"width":24,"height":22}}],"edges":[{"id":"origin-explain","from":"origin","to":"explain","label":"why this happened","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":6,"y":9},{"x":7,"y":9}]},{"id":"explain-recovery","from":"explain","to":"recovery","label":"override or retry","kind":"control","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9},{"x":14,"y":9}]}],"ports":[{"id":"cv-management-to-experience:to","connectionId":"cv-management-to-experience","label":"status and recovery","side":"north","offset":78.57142857142857,"direction":"in","contract":"CareerVectorServiceState","contractRef":{"kind":"conceptual","ref":"CareerVectorServiceState","state":"target"},"kind":"evidence","state":"target","nodeId":"recovery","nodeSide":"north","gridOffset":16.5,"route":[{"x":16.5,"y":7},{"x":16.5,"y":0}]},{"id":"cv-exp-workspace-to-trust:to","connectionId":"cv-exp-workspace-to-trust","label":"activity becomes explanation","side":"west","offset":42.857142857142854,"direction":"in","contract":"WorkspaceActivityEvidence","contractRef":{"kind":"conceptual","ref":"WorkspaceActivityEvidence","state":"target"},"kind":"evidence","state":"target","nodeId":"origin","nodeSide":"west","gridOffset":9,"route":[{"x":1,"y":9},{"x":0,"y":9}]},{"id":"cv-exp-trust-to-commitments:from","connectionId":"cv-exp-trust-to-commitments","label":"experience proves promise","side":"east","offset":42.857142857142854,"direction":"out","contract":"CareerVectorCommitmentEvidence","contractRef":{"kind":"conceptual","ref":"CareerVectorCommitmentEvidence","state":"open"},"kind":"evidence","state":"open","nodeId":"explain","nodeSide":"north","gridOffset":9,"route":[{"x":9.5,"y":6},{"x":9.5,"y":5.5},{"x":20.5,"y":5.5},{"x":20.5,"y":9},{"x":21,"y":9}]}],"regionId":"careervector-experience","unit":{"row":5,"column":3}},{"id":"cv-commitments","title":"CareerVector commitments","summary":"The permanently-free, private, human-controlled promise is represented as enforceable gates and observable product evidence.","lenses":["product","governance","privacy","evidence"],"sources":["architecture/modules/careervector-operating-model.md"],"noteRef":"architecture/modules/careervector-operating-model.md","noteHref":"/blueprint/modules/careervector-operating-model","nodes":[{"id":"promise","label":"Free · private · collaborative","detail":"The social contract is product architecture, not marketing decoration.","kind":"obligation","state":"target","authority":"Product owner","artifacts":[{"kind":"decision","ref":"architecture/modules/careervector-operating-model.md#commitments","role":"normative"}],"grid":{"column":2,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":14,"width":38,"height":22}},{"id":"agency","label":"Consent · override · revocation","detail":"Explicit human policy remains authoritative over optimization.","kind":"obligation","state":"mixed","authority":"Workspace participant","artifacts":[],"grid":{"column":12,"row":3,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":14,"width":38,"height":22}},{"id":"gates","label":"Enforceable product gates","detail":"No paywall, private-data monetization, hidden charge, or silent AI choice.","kind":"boundary","state":"open","authority":"CareerVector","artifacts":[],"grid":{"column":2,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":7,"y":58,"width":38,"height":22}},{"id":"proof","label":"Product tests + explanations","detail":"Each commitment has failure behavior, operator signal, and plain language.","kind":"store","state":"open","authority":"QA and product","artifacts":[],"grid":{"column":12,"row":13,"columnSpan":7,"rowSpan":4},"position":{"x":55,"y":58,"width":38,"height":22}}],"edges":[{"id":"promise-gates","from":"promise","to":"gates","label":"enforce","kind":"governance","state":"open","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":4.5,"y":6},{"x":4.5,"y":12}]},{"id":"agency-proof","from":"agency","to":"proof","label":"verify","kind":"evidence","state":"open","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":14.5,"y":6},{"x":14.5,"y":12}]},{"id":"gates-proof","from":"gates","to":"proof","label":"observable consequence","kind":"evidence","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":8,"y":14},{"x":11,"y":14}]}],"ports":[{"id":"operating-to-commitments:to","connectionId":"operating-to-commitments","label":"enforceable commitments","side":"north","offset":69.04761904761905,"direction":"in","contract":"CareerVectorCommitment","contractRef":{"kind":"conceptual","ref":"CareerVectorCommitment","state":"open"},"kind":"governance","state":"open","nodeId":"gates","nodeSide":"east","gridOffset":14.5,"route":[{"x":8,"y":14},{"x":10.5,"y":14},{"x":10.5,"y":0.5},{"x":14.5,"y":0.5},{"x":14.5,"y":0}]},{"id":"cv-exp-trust-to-commitments:to","connectionId":"cv-exp-trust-to-commitments","label":"experience proves promise","side":"west","offset":42.857142857142854,"direction":"in","contract":"CareerVectorCommitmentEvidence","contractRef":{"kind":"conceptual","ref":"CareerVectorCommitmentEvidence","state":"open"},"kind":"evidence","state":"open","nodeId":"proof","nodeSide":"north","gridOffset":9,"route":[{"x":14.5,"y":12},{"x":14.5,"y":9},{"x":0,"y":9}]}],"regionId":"careervector-operating-model","unit":{"row":5,"column":4}}],"nestedViews":[{"id":"management-federation","title":"Federated Management authorities","summary":"JobCache, Internals, and CareerVector retain execution and data authority while Management correlates typed observations into shared human and agent perspectives.","lenses":["operations","control","privacy","evidence"],"sources":["architecture/modules/management-federation.md","architecture/modules/management.md"],"noteRef":"architecture/modules/management-federation.md","noteHref":"/blueprint/modules/management-federation","nodes":[{"id":"jobcache","label":"JobCache Management","detail":"Owns customer/session operation, product support, and its bounded observations.","kind":"service","state":"target","authority":"JobCache","artifacts":[],"grid":{"column":1,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":8,"width":25,"height":17}},{"id":"internals","label":"Internals Management","detail":"Owns corpus, ingestion, routing, freshness, and CrateDB operation.","kind":"service","state":"target","authority":"JobCache Core","artifacts":[],"grid":{"column":8,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":8,"width":25,"height":17}},{"id":"careervector","label":"CareerVector Management","detail":"Owns aggregate product operation and explicitly supplied case diagnostics.","kind":"service","state":"target","authority":"CareerVector","artifacts":[],"grid":{"column":15,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":70,"y":8,"width":25,"height":17}},{"id":"envelope","label":"Observation envelope","detail":"Producer, scope, classification, evidence, freshness, correlation, and semantic references.","kind":"boundary","state":"open","authority":"Owning product","artifacts":[],"grid":{"column":1,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":42,"width":25,"height":19}},{"id":"semantics","label":"Nine-hub knowledge mesh","detail":"Idea, Implementation, Journal, Behaviour, Suite, Test, Anomaly, Infra, and Event remain the shared vocabulary.","kind":"store","state":"target","authority":"Git-backed knowledge graph","artifacts":[],"grid":{"column":8,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":42,"width":25,"height":19}},{"id":"views","label":"Ops · QA · Status · Wiki","detail":"Purpose-specific projections over the same source-backed objects.","kind":"perspective","state":"target","authority":"Management","artifacts":[],"grid":{"column":15,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":70,"y":42,"width":25,"height":19}},{"id":"operator","label":"Human / agent investigation","detail":"Trace symptoms to authority, architecture, code, tests, runtime evidence, and recovery.","kind":"actor","state":"target","authority":"Authorized operator","artifacts":[],"grid":{"column":5,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":21,"y":76,"width":25,"height":17}},{"id":"command","label":"Declared command intent","detail":"A state change returns to its owner through a named, scoped, auditable capability.","kind":"boundary","state":"open","authority":"Target product","artifacts":[],"expandsTo":"management-command-contract","grid":{"column":12,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":54,"y":76,"width":25,"height":17}}],"edges":[{"id":"jobcache-envelope","from":"jobcache","to":"envelope","label":"publish bounded observation","kind":"evidence","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":2.5,"y":4},{"x":2.5,"y":8}]},{"id":"internals-envelope","from":"internals","to":"envelope","label":"publish bounded observation","kind":"evidence","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":9.5,"y":4},{"x":9.5,"y":7.5},{"x":2.5,"y":7.5},{"x":2.5,"y":8}]},{"id":"careervector-envelope","from":"careervector","to":"envelope","label":"publish privacy-safe observation","kind":"evidence","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":4},{"x":16.5,"y":7.5},{"x":2.5,"y":7.5},{"x":2.5,"y":8}]},{"id":"envelope-semantics","from":"envelope","to":"semantics","label":"normalize and link","kind":"data","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":9.5},{"x":7,"y":9.5}]},{"id":"semantics-views","from":"semantics","to":"views","label":"project","kind":"evidence","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9.5},{"x":14,"y":9.5}]},{"id":"views-operator","from":"views","to":"operator","label":"explain","kind":"evidence","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":11},{"x":16.5,"y":14.5},{"x":6.5,"y":14.5},{"x":6.5,"y":15}]},{"id":"operator-command","from":"operator","to":"command","label":"request declared change","kind":"control","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":9,"y":16.5},{"x":11,"y":16.5}]}],"ports":[],"parent":{"viewId":"management-plane","nodeId":"perspectives"}},{"id":"management-command-contract","title":"Typed Management command","summary":"A command is an explicit capability request to the owning domain, with authorization, preview, idempotent execution, evidence, receipt, and recovery.","lenses":["control","privacy","operations","evidence"],"sources":["architecture/modules/management-command-contract.md","architecture/modules/management.md"],"noteRef":"architecture/modules/management-command-contract.md","noteHref":"/blueprint/modules/management-command-contract","nodes":[{"id":"intent","label":"Named intent","detail":"Versioned command type, target authority, scope, reason, and prohibited effects.","kind":"process","state":"target","authority":"Authorized operator","artifacts":[],"grid":{"column":1,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":10,"width":25,"height":20}},{"id":"capability","label":"Actor capability","detail":"Identity, delegated permission, expiry, data classification, and approval class.","kind":"boundary","state":"open","authority":"Target product","artifacts":[],"grid":{"column":8,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":10,"width":25,"height":20}},{"id":"preflight","label":"Preflight + preview","detail":"State/version predicates and the expected effects are checked before mutation.","kind":"process","state":"target","authority":"Target product","artifacts":[],"grid":{"column":15,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":10,"width":25,"height":20}},{"id":"execute","label":"Idempotent execution","detail":"The owning runtime validates and performs exactly the allowlisted effect.","kind":"service","state":"target","authority":"Target product","artifacts":[],"grid":{"column":1,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":56,"width":25,"height":20}},{"id":"receipt","label":"Immutable receipt","detail":"Actor, capability, accepted preconditions, result, evidence, and recovery state.","kind":"store","state":"target","authority":"Target product","artifacts":[],"grid":{"column":8,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":56,"width":25,"height":20}},{"id":"verify","label":"Verify or compensate","detail":"Expected evidence closes the command; partial or failed work invokes named recovery.","kind":"process","state":"target","authority":"Management and target product","artifacts":[],"grid":{"column":15,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":56,"width":25,"height":20}}],"edges":[{"id":"intent-capability","from":"intent","to":"capability","label":"authorize","kind":"control","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":4},{"x":7,"y":4}]},{"id":"capability-preflight","from":"capability","to":"preflight","label":"admit","kind":"control","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":4},{"x":14,"y":4}]},{"id":"preflight-execute","from":"preflight","to":"execute","label":"commit","kind":"control","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":6},{"x":16.5,"y":10.5},{"x":2.5,"y":10.5},{"x":2.5,"y":11}]},{"id":"execute-receipt","from":"execute","to":"receipt","label":"record","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":13},{"x":7,"y":13}]},{"id":"receipt-verify","from":"receipt","to":"verify","label":"prove outcome","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":13},{"x":14,"y":13}]},{"id":"verify-intent","from":"verify","to":"intent","label":"close or compensate","kind":"feedback","state":"target","direction":"one-way","fromSide":"north","toSide":"south","route":[{"x":16.5,"y":11},{"x":16.5,"y":6.5},{"x":2.5,"y":6.5},{"x":2.5,"y":6}]}],"ports":[],"parent":{"viewId":"management-federation","nodeId":"command"}},{"id":"operating-obligation-model","title":"Source-backed operating obligations","summary":"External constraints and product commitments become applicability decisions and typed records that constrain the existing nine-hub implementation and assurance chain.","lenses":["governance","control","evidence","operations"],"sources":["architecture/modules/operating-obligation-model.md","architecture/operating-obligations.ts"],"noteRef":"architecture/modules/operating-obligation-model.md","noteHref":"/blueprint/modules/operating-obligation-model","nodes":[{"id":"external","label":"External source","detail":"Law, regulation, contract, standard, norm, or user expectation with verifiable citation.","kind":"obligation","state":"open","authority":"Legal and product authority","artifacts":[],"grid":{"column":1,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":10,"width":25,"height":20}},{"id":"commitment","label":"Product commitment","detail":"An explicit public or architectural promise made by the accountable product owner.","kind":"obligation","state":"target","authority":"Product owner","artifacts":[],"grid":{"column":8,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":10,"width":25,"height":20}},{"id":"applicability","label":"Applicability decision","detail":"Applicable, not applicable, or honestly open by product, module, actor, data, interface, and jurisdiction.","kind":"process","state":"open","authority":"Named decision authority","artifacts":[],"grid":{"column":15,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":10,"width":25,"height":20}},{"id":"record","label":"Typed obligation record","detail":"Source, force, applicability, interpretation, requirements, controls, assurance, and accountability.","kind":"store","state":"target","authority":"Accountable owner","artifacts":[],"expandsTo":"operating-obligation-record","grid":{"column":1,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":56,"width":25,"height":20}},{"id":"controls","label":"Behaviour + controls","detail":"Idea interpretation becomes required Behaviour and Implementation or Infra controls.","kind":"service","state":"target","authority":"Owning product","artifacts":[],"grid":{"column":8,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":56,"width":25,"height":20}},{"id":"assurance","label":"Assurance + review","detail":"Suite, Test, runtime evidence, anomaly, event, journal, recovery, and accountable review.","kind":"store","state":"target","authority":"QA and accountable owner","artifacts":[],"grid":{"column":15,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":56,"width":25,"height":20}}],"edges":[{"id":"external-applicability","from":"external","to":"applicability","label":"assess","kind":"governance","state":"open","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":4},{"x":6.5,"y":4},{"x":6.5,"y":1.5},{"x":13.5,"y":1.5},{"x":13.5,"y":4},{"x":14,"y":4}]},{"id":"commitment-applicability","from":"commitment","to":"applicability","label":"declare scope","kind":"governance","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":4},{"x":14,"y":4}]},{"id":"applicability-record","from":"applicability","to":"record","label":"record decision","kind":"data","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":6},{"x":16.5,"y":10.5},{"x":2.5,"y":10.5},{"x":2.5,"y":11}]},{"id":"record-controls","from":"record","to":"controls","label":"require","kind":"governance","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":13},{"x":7,"y":13}]},{"id":"controls-assurance","from":"controls","to":"assurance","label":"verify","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":13},{"x":14,"y":13}]},{"id":"assurance-record","from":"assurance","to":"record","label":"review and revise","kind":"feedback","state":"target","direction":"one-way","fromSide":"north","toSide":"south","route":[{"x":16.5,"y":11},{"x":16.5,"y":10.5},{"x":5.5,"y":10.5},{"x":5.5,"y":15.5},{"x":2.5,"y":15.5},{"x":2.5,"y":15}]}],"ports":[],"parent":{"viewId":"operating-shared","nodeId":"obligations"}},{"id":"operating-obligation-record","title":"Operating obligation record fields","summary":"The record preserves the whole justification and proof chain without confusing an obligation ID with one of the nine semantic hub IDs.","lenses":["governance","control","evidence","operations"],"sources":["architecture/modules/operating-obligation-record.md","architecture/operating-obligations.ts"],"noteRef":"architecture/modules/operating-obligation-record.md","noteHref":"/blueprint/modules/operating-obligation-record","nodes":[{"id":"source","label":"Source + force","detail":"Citation, revision, effective dates, jurisdiction, and binding/contractual/normative/committed force.","kind":"obligation","state":"target","authority":"Source owner","artifacts":[],"grid":{"column":1,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":8,"width":25,"height":17}},{"id":"scope","label":"Applicability + scope","detail":"Decision, authority, products, modules, actors, data classes, interfaces, and rationale.","kind":"boundary","state":"target","authority":"Decision authority","artifacts":[],"grid":{"column":8,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":8,"width":25,"height":17}},{"id":"idea","label":"Idea interpretation","detail":"Approved product/system meaning linked into the Idea hub.","kind":"perspective","state":"target","authority":"Product owner","artifacts":[],"grid":{"column":15,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":70,"y":8,"width":25,"height":17}},{"id":"behaviour","label":"Required Behaviour","detail":"Atomic statement, acceptance criteria, prohibited outcomes, and state.","kind":"process","state":"target","authority":"Product and QA","artifacts":[],"grid":{"column":1,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":42,"width":25,"height":19}},{"id":"control","label":"Implementation / Infra","detail":"Enforceable control, failure behaviour, recovery, and named command path.","kind":"service","state":"target","authority":"Owning product","artifacts":[],"grid":{"column":8,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":42,"width":25,"height":19}},{"id":"assurance","label":"Suite / Test / evidence","detail":"Verification links and runtime evidence prove the current claim.","kind":"store","state":"target","authority":"QA and owning product","artifacts":[],"grid":{"column":15,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":70,"y":42,"width":25,"height":19}},{"id":"response","label":"Anomaly · Event · Journal","detail":"Violation, incident, explanation, compensation, and recovery remain traceable.","kind":"process","state":"target","authority":"Ops and product","artifacts":[],"grid":{"column":5,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":21,"y":76,"width":25,"height":17}},{"id":"review","label":"Owner + review","detail":"Approver, escalation, cadence, and source or product change close the loop.","kind":"actor","state":"target","authority":"Accountable owner","artifacts":[],"grid":{"column":12,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":54,"y":76,"width":25,"height":17}}],"edges":[{"id":"source-scope","from":"source","to":"scope","label":"assess","kind":"governance","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":2.5},{"x":7,"y":2.5}]},{"id":"scope-idea","from":"scope","to":"idea","label":"interpret","kind":"governance","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":2.5},{"x":14,"y":2.5}]},{"id":"idea-behaviour","from":"idea","to":"behaviour","label":"require","kind":"governance","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":4},{"x":16.5,"y":7.5},{"x":2.5,"y":7.5},{"x":2.5,"y":8}]},{"id":"behaviour-control","from":"behaviour","to":"control","label":"realize","kind":"control","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":9.5},{"x":7,"y":9.5}]},{"id":"control-assurance","from":"control","to":"assurance","label":"verify","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9.5},{"x":14,"y":9.5}]},{"id":"assurance-response","from":"assurance","to":"response","label":"detect or prove","kind":"feedback","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":11},{"x":16.5,"y":14.5},{"x":6.5,"y":14.5},{"x":6.5,"y":15}]},{"id":"response-review","from":"response","to":"review","label":"account","kind":"evidence","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":9,"y":16.5},{"x":11,"y":16.5}]},{"id":"review-source","from":"review","to":"source","label":"reassess","kind":"feedback","state":"target","direction":"one-way","fromSide":"north","toSide":"south","route":[{"x":13.5,"y":15},{"x":13.5,"y":4.5},{"x":2.5,"y":4.5},{"x":2.5,"y":4}]}],"ports":[],"parent":{"viewId":"operating-obligation-model","nodeId":"record"}},{"id":"jobcache-routing-field","title":"Adaptive JobCache work routing","summary":"The orchestrator combines declared policy, observed feasibility, curiosity, and causal outcomes to distribute pull-based work across unreliable actor classes.","lenses":["runtime","control","feedback","evidence"],"sources":["architecture/modules/ingestion.md","wiki/content/architecture/FLEET-ROUTING.md"],"noteRef":"architecture/modules/ingestion.md","noteHref":"/blueprint/modules/ingestion","nodes":[{"id":"policy","label":"Declared policy","detail":"Budgets, source rules, quality floors, urgency, and curiosity enter at broad addresses.","kind":"policy","state":"as-built","authority":"JobCache operator","artifacts":[],"grid":{"column":1,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":8,"width":25,"height":17}},{"id":"demand","label":"Due work","detail":"Freshness, source turnover, user-triggered misses, and retries define current demand.","kind":"process","state":"as-built","authority":"JobCache orchestrator","artifacts":[],"grid":{"column":8,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":8,"width":25,"height":17}},{"id":"field","label":"Addressed tensor field","detail":"Each address prefix contributes preference and learned evidence for an actor-class option.","kind":"process","state":"as-built","authority":"Sporewright","artifacts":[],"grid":{"column":15,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":70,"y":8,"width":25,"height":17}},{"id":"eligible","label":"Live eligibility","detail":"Actors pull only work they can currently attempt; reachability remains empirical and changeable.","kind":"boundary","state":"as-built","authority":"Participant and orchestrator","artifacts":[],"grid":{"column":1,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":42,"width":25,"height":19}},{"id":"rank","label":"Rank + curiosity","detail":"Expected utility, uncertainty, load, and exploration select an actor class without pinning one device.","kind":"process","state":"as-built","authority":"Sporewright","artifacts":[],"grid":{"column":8,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":42,"width":25,"height":19}},{"id":"lease","label":"Lease + receipt","detail":"A bounded task carries the exact causal address and revision used to choose it.","kind":"process","state":"as-built","authority":"JobCache orchestrator","artifacts":[],"grid":{"column":15,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":70,"y":42,"width":25,"height":19}},{"id":"outcome","label":"Normalized outcome","detail":"Reachability, parse quality, latency, failure class, and cost become bounded signals.","kind":"store","state":"as-built","authority":"JobCache ingestion","artifacts":[],"grid":{"column":5,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":21,"y":76,"width":25,"height":17}},{"id":"learn","label":"Pathwise learning","detail":"Feedback changes the leaf and bounded ancestors; aging keeps the network responsive to drift.","kind":"process","state":"as-built","authority":"Sporewright","artifacts":[],"grid":{"column":12,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":54,"y":76,"width":25,"height":17}}],"edges":[{"id":"policy-field","from":"policy","to":"field","label":"shape","kind":"control","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":2.5},{"x":6.5,"y":2.5},{"x":6.5,"y":0.5},{"x":13.5,"y":0.5},{"x":13.5,"y":2.5},{"x":14,"y":2.5}]},{"id":"demand-rank","from":"demand","to":"rank","label":"prioritize","kind":"work","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":9.5,"y":4},{"x":9.5,"y":8}]},{"id":"field-rank","from":"field","to":"rank","label":"score options","kind":"control","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":4},{"x":16.5,"y":7.5},{"x":9.5,"y":7.5},{"x":9.5,"y":8}]},{"id":"eligible-rank","from":"eligible","to":"rank","label":"current capability","kind":"evidence","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":9.5},{"x":7,"y":9.5}]},{"id":"rank-lease","from":"rank","to":"lease","label":"select","kind":"work","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9.5},{"x":14,"y":9.5}]},{"id":"lease-outcome","from":"lease","to":"outcome","label":"attempt","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":11},{"x":16.5,"y":14.5},{"x":6.5,"y":14.5},{"x":6.5,"y":15}]},{"id":"outcome-learn","from":"outcome","to":"learn","label":"project","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":9,"y":16.5},{"x":11,"y":16.5}]},{"id":"learn-field","from":"learn","to":"field","label":"update path","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"north","toSide":"south","route":[{"x":13.5,"y":15},{"x":13.5,"y":4.5},{"x":16.5,"y":4.5},{"x":16.5,"y":4}]}],"ports":[],"parent":{"viewId":"public-ingestion","nodeId":"router"}},{"id":"core-corpus-model","title":"Role, ad, fact, and evidence corpus","summary":"CrateDB keeps canonical public knowledge compact while preserving source disagreement, provenance, temporal validity, and retrieval structures.","lenses":["data","evidence","runtime"],"sources":["architecture/modules/internals.md","wiki/content/architecture/CRATEDB-MIGRATION.md"],"noteRef":"architecture/modules/internals.md","noteHref":"/blueprint/modules/internals","nodes":[{"id":"role","label":"Role aggregate","detail":"A stable public role hypothesis groups listings that describe the same opportunity.","kind":"process","state":"mixed","authority":"JobCache Core","artifacts":[],"grid":{"column":1,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":10,"width":25,"height":20}},{"id":"ads","label":"Source ads","detail":"Canonical listing records retain source identity, fingerprints, and role membership.","kind":"store","state":"as-built","authority":"CrateDB","artifacts":[],"grid":{"column":8,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":10,"width":25,"height":20}},{"id":"evidence","label":"Facts + evidence timeline","detail":"Field assertions remain attributable, time-bounded, and able to disagree.","kind":"store","state":"mixed","authority":"CrateDB","artifacts":[],"expandsTo":"evidence-aging-drift","grid":{"column":15,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":10,"width":25,"height":20}},{"id":"projection","label":"Role projection","detail":"Reducers choose a useful current answer without erasing alternate observations.","kind":"process","state":"mixed","authority":"JobCache Core","artifacts":[],"grid":{"column":1,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":56,"width":25,"height":20}},{"id":"vectors","label":"Vector + lexical retrieval","detail":"One content-addressed embedding per recipe complements indexed structured search.","kind":"store","state":"target","authority":"CrateDB","artifacts":[],"grid":{"column":8,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":56,"width":25,"height":20}},{"id":"publish","label":"Product-safe result","detail":"Search and evidence APIs publish bounded public truth without App or workspace identity.","kind":"boundary","state":"mixed","authority":"JobCache Core","artifacts":[],"grid":{"column":15,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":56,"width":25,"height":20}}],"edges":[{"id":"ads-role","from":"ads","to":"role","label":"cluster","kind":"data","state":"mixed","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":7,"y":4},{"x":5,"y":4}]},{"id":"ads-evidence","from":"ads","to":"evidence","label":"supports","kind":"evidence","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":4},{"x":14,"y":4}]},{"id":"evidence-projection","from":"evidence","to":"projection","label":"reduce without erasing","kind":"data","state":"mixed","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":6},{"x":16.5,"y":10.5},{"x":2.5,"y":10.5},{"x":2.5,"y":11}]},{"id":"role-projection","from":"role","to":"projection","label":"aggregate","kind":"data","state":"mixed","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":2.5,"y":6},{"x":2.5,"y":11}]},{"id":"projection-vectors","from":"projection","to":"vectors","label":"index","kind":"data","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":13},{"x":7,"y":13}]},{"id":"vectors-publish","from":"vectors","to":"publish","label":"retrieve","kind":"query","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":13},{"x":14,"y":13}]},{"id":"projection-publish","from":"projection","to":"publish","label":"serve","kind":"data","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":13},{"x":6.5,"y":13},{"x":6.5,"y":10.5},{"x":13.5,"y":10.5},{"x":13.5,"y":13},{"x":14,"y":13}]}],"ports":[],"parent":{"viewId":"jobcache-core","nodeId":"crate"}},{"id":"evidence-aging-drift","title":"Evidence aging and drift","summary":"Freshness is a field-specific inference over observations and contradictions, not a destructive timestamp update on canonical facts.","lenses":["data","evidence","feedback"],"sources":["architecture/modules/internals.md","wiki/content/architecture/ANALYTICS-LAYERS.md"],"noteRef":"architecture/modules/internals.md","noteHref":"/blueprint/modules/internals","nodes":[{"id":"observation","label":"Immutable observation","detail":"Source, capture time, content fingerprint, extractor recipe, and causal receipt.","kind":"store","state":"as-built","authority":"JobCache ingestion","artifacts":[],"grid":{"column":1,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":10,"width":25,"height":20}},{"id":"assertion","label":"Typed assertion","detail":"A normalized value with provenance, confidence, and an explicit validity interval.","kind":"store","state":"mixed","authority":"JobCache Core","artifacts":[],"grid":{"column":8,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":10,"width":25,"height":20}},{"id":"clock","label":"Field aging policy","detail":"Expected turnover and source behavior determine decay; absence is not fabricated change.","kind":"policy","state":"target","authority":"JobCache Core","artifacts":[],"grid":{"column":15,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":10,"width":25,"height":20}},{"id":"support","label":"Current support","detail":"Recent corroborating observations strengthen an assertion without overwriting history.","kind":"process","state":"target","authority":"JobCache Core","artifacts":[],"grid":{"column":1,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":56,"width":25,"height":20}},{"id":"drift","label":"Contradiction + drift","detail":"Material disagreement closes validity, splits a role hypothesis, or requests new evidence.","kind":"process","state":"target","authority":"JobCache Core","artifacts":[],"grid":{"column":8,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":56,"width":25,"height":20}},{"id":"refresh","label":"Refresh priority","detail":"Uncertainty, age, product demand, and acquisition cost feed the ingestion work field.","kind":"process","state":"target","authority":"JobCache orchestrator","artifacts":[],"grid":{"column":15,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":56,"width":25,"height":20}}],"edges":[{"id":"observation-assertion","from":"observation","to":"assertion","label":"extract","kind":"evidence","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":4},{"x":7,"y":4}]},{"id":"clock-assertion","from":"clock","to":"assertion","label":"age","kind":"control","state":"target","direction":"one-way","fromSide":"west","toSide":"east","route":[{"x":14,"y":4},{"x":12,"y":4}]},{"id":"assertion-support","from":"assertion","to":"support","label":"corroborate","kind":"evidence","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":9.5,"y":6},{"x":9.5,"y":10.5},{"x":2.5,"y":10.5},{"x":2.5,"y":11}]},{"id":"assertion-drift","from":"assertion","to":"drift","label":"compare","kind":"feedback","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":9.5,"y":6},{"x":9.5,"y":11}]},{"id":"clock-refresh","from":"clock","to":"refresh","label":"due","kind":"control","state":"target","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":6},{"x":16.5,"y":11}]},{"id":"support-refresh","from":"support","to":"refresh","label":"lower urgency","kind":"feedback","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":13},{"x":6.5,"y":13},{"x":6.5,"y":10.5},{"x":13.5,"y":10.5},{"x":13.5,"y":13},{"x":14,"y":13}]},{"id":"drift-refresh","from":"drift","to":"refresh","label":"raise urgency","kind":"feedback","state":"target","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":13},{"x":14,"y":13}]}],"ports":[],"parent":{"viewId":"core-corpus-model","nodeId":"evidence"}},{"id":"llm-routing-field","title":"Private adaptive LLM routing","summary":"Human policy gates the feasible routes; additive addressed preferences rank them; private bounded feedback updates the same path without retaining prompts or keys.","lenses":["runtime","privacy","control","feedback"],"sources":["architecture/modules/careervector.md","wiki/content/architecture/LLM-TENSOR-ROUTING.md"],"noteRef":"architecture/modules/careervector.md","noteHref":"/blueprint/modules/careervector","nodes":[{"id":"policy","label":"Human + platform policy","detail":"Fixed, preferred, forbidden, consent, quality floor, and zero-spend constraints.","kind":"policy","state":"as-built","authority":"Workspace and operator","artifacts":[],"grid":{"column":1,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":8,"width":25,"height":17}},{"id":"address","label":"Semantic address path","detail":"root → workspace → capability → stage → consumer → instance?","kind":"process","state":"as-built","authority":"CareerVector router","artifacts":[],"expandsTo":"llm-address-layers","grid":{"column":8,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":8,"width":25,"height":17}},{"id":"field","label":"Additive option field","detail":"Every prefix adds signed preference, belief, uncertainty, and aging to each route option.","kind":"process","state":"as-built","authority":"Sporewright","artifacts":[],"grid":{"column":15,"row":2,"columnSpan":5,"rowSpan":3},"position":{"x":70,"y":8,"width":25,"height":17}},{"id":"feasible","label":"Feasible executors","detail":"Local, peer, BYOK, and included routes pass availability, privacy, and entitlement gates.","kind":"boundary","state":"mixed","authority":"CareerVector runtime","artifacts":[],"grid":{"column":1,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":4,"y":42,"width":25,"height":19}},{"id":"budget","label":"Reservation authority","detail":"Tokens or currency micros are reserved before curiosity can spend them.","kind":"store","state":"as-built","authority":"CareerVector D1","artifacts":[],"grid":{"column":8,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":37,"y":42,"width":25,"height":19}},{"id":"choice","label":"Route + explanation","detail":"Ranked primary and fallbacks include a causal receipt and short user-facing reason.","kind":"process","state":"as-built","authority":"CareerVector router","artifacts":[],"grid":{"column":15,"row":9,"columnSpan":5,"rowSpan":3},"position":{"x":70,"y":42,"width":25,"height":19}},{"id":"outcome","label":"Bounded outcome","detail":"Success, quality loss, latency, tokens, exhaustion, and failure class become numeric evidence.","kind":"store","state":"as-built","authority":"CareerVector D1","artifacts":[],"grid":{"column":5,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":21,"y":76,"width":25,"height":17}},{"id":"project","label":"Path projection","detail":"Leaf evidence updates bounded ancestors and decays exactly on read.","kind":"process","state":"as-built","authority":"Sporewright","artifacts":[],"grid":{"column":12,"row":16,"columnSpan":5,"rowSpan":3},"position":{"x":54,"y":76,"width":25,"height":17}}],"edges":[{"id":"policy-field","from":"policy","to":"field","label":"gate + shape","kind":"control","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":2.5},{"x":6.5,"y":2.5},{"x":6.5,"y":0.5},{"x":13.5,"y":0.5},{"x":13.5,"y":2.5},{"x":14,"y":2.5}]},{"id":"address-field","from":"address","to":"field","label":"select prefixes","kind":"data","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":2.5},{"x":14,"y":2.5}]},{"id":"field-choice","from":"field","to":"choice","label":"rank","kind":"control","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":4},{"x":16.5,"y":8}]},{"id":"feasible-choice","from":"feasible","to":"choice","label":"eligible set","kind":"evidence","state":"mixed","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":9.5},{"x":6.5,"y":9.5},{"x":6.5,"y":7.5},{"x":13.5,"y":7.5},{"x":13.5,"y":9.5},{"x":14,"y":9.5}]},{"id":"budget-choice","from":"budget","to":"choice","label":"reserve","kind":"control","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":9.5},{"x":14,"y":9.5}]},{"id":"choice-outcome","from":"choice","to":"outcome","label":"execute","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":11},{"x":16.5,"y":14.5},{"x":6.5,"y":14.5},{"x":6.5,"y":15}]},{"id":"outcome-project","from":"outcome","to":"project","label":"normalize","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":9,"y":16.5},{"x":11,"y":16.5}]},{"id":"project-field","from":"project","to":"field","label":"learn","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"north","toSide":"south","route":[{"x":13.5,"y":15},{"x":13.5,"y":4.5},{"x":16.5,"y":4.5},{"x":16.5,"y":4}]}],"ports":[],"parent":{"viewId":"cv-product","nodeId":"field"}},{"id":"llm-address-layers","title":"LLM routing address layers","summary":"An address names interacting scopes. Each prefix contributes to the result; narrowing the address specializes rather than replacing broader policy.","lenses":["control","feedback","privacy"],"sources":["architecture/modules/careervector.md","wiki/content/architecture/LLM-TENSOR-ROUTING.md"],"noteRef":"architecture/modules/careervector.md","noteHref":"/blueprint/modules/careervector","nodes":[{"id":"root","label":"Implicit root","detail":"Global route priors, operator gates, shared availability, and collective evidence.","kind":"policy","state":"as-built","authority":"CareerVector operator","artifacts":[],"grid":{"column":1,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":10,"width":25,"height":20}},{"id":"workspace","label":"Workspace","detail":"One person’s declared preferences, keys, consent, budget, and learned fit.","kind":"boundary","state":"as-built","authority":"Private workspace","artifacts":[],"grid":{"column":8,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":10,"width":25,"height":20}},{"id":"capability","label":"Capability","detail":"Extraction, evaluation, salary, tailoring, or explanation behavior.","kind":"process","state":"as-built","authority":"CareerVector router","artifacts":[],"grid":{"column":15,"row":3,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":10,"width":25,"height":20}},{"id":"stage","label":"Stage","detail":"A stable step within the capability pipeline and its quality/latency trade-off.","kind":"process","state":"as-built","authority":"CareerVector router","artifacts":[],"grid":{"column":1,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":4,"y":56,"width":25,"height":20}},{"id":"consumer","label":"Consumer","detail":"The semantic caller whose output contract and tolerance shape route utility.","kind":"perspective","state":"as-built","authority":"CareerVector","artifacts":[],"grid":{"column":8,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":38,"y":56,"width":25,"height":20}},{"id":"instance","label":"Instance?","detail":"Only a stable recurring configured object, such as one evaluation column; never an attempt.","kind":"boundary","state":"as-built","authority":"Workspace","artifacts":[],"grid":{"column":15,"row":12,"columnSpan":5,"rowSpan":4},"position":{"x":71,"y":56,"width":25,"height":20}}],"edges":[{"id":"root-workspace","from":"root","to":"workspace","label":"add","kind":"control","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":4},{"x":7,"y":4}]},{"id":"workspace-capability","from":"workspace","to":"capability","label":"add","kind":"control","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":4},{"x":14,"y":4}]},{"id":"capability-stage","from":"capability","to":"stage","label":"add","kind":"control","state":"as-built","direction":"one-way","fromSide":"south","toSide":"north","route":[{"x":16.5,"y":6},{"x":16.5,"y":10.5},{"x":2.5,"y":10.5},{"x":2.5,"y":11}]},{"id":"stage-consumer","from":"stage","to":"consumer","label":"add","kind":"control","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":5,"y":13},{"x":7,"y":13}]},{"id":"consumer-instance","from":"consumer","to":"instance","label":"optionally add","kind":"control","state":"as-built","direction":"one-way","fromSide":"east","toSide":"west","route":[{"x":12,"y":13},{"x":14,"y":13}]},{"id":"instance-root","from":"instance","to":"root","label":"bounded upward projection","kind":"feedback","state":"as-built","direction":"one-way","fromSide":"north","toSide":"south","route":[{"x":16.5,"y":11},{"x":16.5,"y":6.5},{"x":2.5,"y":6.5},{"x":2.5,"y":6}]}],"ports":[],"parent":{"viewId":"llm-routing-field","nodeId":"address"}}],"connections":[{"id":"jc-exp-acquisition-to-product","label":"request becomes result","contract":"JobCacheSearchIntent","contractRef":{"kind":"conceptual","ref":"JobCacheSearchIntent","state":"target"},"kind":"query","state":"target","direction":"one-way","from":{"viewId":"jc-exp-acquisition","portId":"jc-exp-acquisition-to-product:from"},"to":{"viewId":"jc-exp-product","portId":"jc-exp-acquisition-to-product:to"}},{"id":"jc-exp-product-to-trust","label":"evidence becomes trusted work","contract":"JobCacheResultSnapshot","contractRef":{"kind":"conceptual","ref":"JobCacheResultSnapshot","state":"target"},"kind":"evidence","state":"target","direction":"one-way","from":{"viewId":"jc-exp-product","portId":"jc-exp-product-to-trust:from"},"to":{"viewId":"jc-exp-trust","portId":"jc-exp-product-to-trust:to"}},{"id":"jc-exp-trust-to-obligations","label":"claims create obligations","contract":"ProductClaim","contractRef":{"kind":"conceptual","ref":"ProductClaim","state":"open"},"kind":"governance","state":"open","direction":"one-way","from":{"viewId":"jc-exp-trust","portId":"jc-exp-trust-to-obligations:from"},"to":{"viewId":"jc-obligations","portId":"jc-exp-trust-to-obligations:to"}},{"id":"jc-exp-acquisition-to-fast-path","label":"search / refresh intent","contract":"AcquisitionRequest","contractRef":{"kind":"conceptual","ref":"AcquisitionRequest","state":"mixed"},"kind":"work","state":"mixed","direction":"one-way","from":{"viewId":"jc-exp-acquisition","portId":"jc-exp-acquisition-to-fast-path:from"},"to":{"viewId":"jc-ingest-fast-path","portId":"jc-exp-acquisition-to-fast-path:to"}},{"id":"jc-exp-product-to-product","label":"product interaction","contract":"JobCachePublicApi","contractRef":{"kind":"conceptual","ref":"JobCachePublicApi","state":"mixed"},"kind":"query","state":"mixed","direction":"one-way","from":{"viewId":"jc-exp-product","portId":"jc-exp-product-to-product:from"},"to":{"viewId":"jc-product","portId":"jc-exp-product-to-product:to"}},{"id":"jc-exp-trust-to-management","label":"status and support","contract":"JobCacheServiceState","contractRef":{"kind":"conceptual","ref":"JobCacheServiceState","state":"target"},"kind":"evidence","state":"target","direction":"one-way","from":{"viewId":"jc-exp-trust","portId":"jc-exp-trust-to-management:from"},"to":{"viewId":"jc-management","portId":"jc-exp-trust-to-management:to"}},{"id":"jc-obligations-to-operating","label":"product duties","contract":"JobCacheObligation","contractRef":{"kind":"conceptual","ref":"JobCacheObligation","state":"open"},"kind":"governance","state":"open","direction":"one-way","from":{"viewId":"jc-obligations","portId":"jc-obligations-to-operating:from"},"to":{"viewId":"operating-jobcache","portId":"jc-obligations-to-operating:to"}},{"id":"fast-path-to-product","label":"verified result / pending state","contract":"JobCacheAcquisitionOutcome","contractRef":{"kind":"conceptual","ref":"JobCacheAcquisitionOutcome","state":"target"},"kind":"data","state":"target","direction":"two-way","from":{"viewId":"jc-ingest-fast-path","portId":"fast-path-to-product:from"},"to":{"viewId":"jc-product","portId":"fast-path-to-product:to"}},{"id":"product-to-management","label":"health and named controls","contract":"JobCacheManagementEnvelope","contractRef":{"kind":"conceptual","ref":"JobCacheManagementEnvelope","state":"open"},"kind":"control","state":"open","direction":"two-way","from":{"viewId":"jc-product","portId":"product-to-management:from"},"to":{"viewId":"jc-management","portId":"product-to-management:to"}},{"id":"management-to-operating-jc","label":"controls implement obligations","contract":"JobCacheControlEvidence","contractRef":{"kind":"conceptual","ref":"JobCacheControlEvidence","state":"open"},"kind":"governance","state":"open","direction":"two-way","from":{"viewId":"jc-management","portId":"management-to-operating-jc:from"},"to":{"viewId":"operating-jobcache","portId":"management-to-operating-jc:to"}},{"id":"fast-path-to-ingestion","label":"bounded acquisition work","contract":"AcquisitionRequest","contractRef":{"kind":"conceptual","ref":"AcquisitionRequest","state":"mixed"},"kind":"work","state":"mixed","direction":"one-way","from":{"viewId":"jc-ingest-fast-path","portId":"fast-path-to-ingestion:from"},"to":{"viewId":"public-ingestion","portId":"fast-path-to-ingestion:to"}},{"id":"product-to-core","label":"search and immutable delivery","contract":"JobCacheCoreProtocol","contractRef":{"kind":"schema","ref":"lib/corpus-shared/src/protocol.ts#CorpusSearchRequestSchema","state":"as-built"},"kind":"query","state":"as-built","direction":"two-way","from":{"viewId":"jc-product","portId":"product-to-core:from"},"to":{"viewId":"jobcache-core","portId":"product-to-core:to"}},{"id":"jc-management-to-management","label":"telemetry and commands","contract":"ManagementCommandReceipt","contractRef":{"kind":"conceptual","ref":"ManagementCommandReceipt","state":"open"},"kind":"control","state":"open","direction":"two-way","from":{"viewId":"jc-management","portId":"jc-management-to-management:from"},"to":{"viewId":"management-plane","portId":"jc-management-to-management:to"}},{"id":"operating-jc-to-shared","label":"shared controls and evidence","contract":"OperatingRequirement","contractRef":{"kind":"conceptual","ref":"OperatingRequirement","state":"open"},"kind":"governance","state":"open","direction":"two-way","from":{"viewId":"operating-jobcache","portId":"operating-jc-to-shared:from"},"to":{"viewId":"operating-shared","portId":"operating-jc-to-shared:to"}},{"id":"ingestion-to-core","label":"validated canonical deposit","contract":"ScrapeDeposit + RoutingReceipt","contractRef":{"kind":"api","ref":"lib/jobcache-participant/src/participant.ts#deposit","state":"as-built"},"kind":"data","state":"as-built","direction":"one-way","from":{"viewId":"public-ingestion","portId":"ingestion-to-core:from"},"to":{"viewId":"jobcache-core","portId":"ingestion-to-core:to"}},{"id":"core-to-management","label":"telemetry / declared control","contract":"CoreManagementEnvelope","contractRef":{"kind":"conceptual","ref":"CoreManagementEnvelope","state":"open"},"kind":"control","state":"open","direction":"two-way","from":{"viewId":"jobcache-core","portId":"core-to-management:from"},"to":{"viewId":"management-plane","portId":"core-to-management:to"}},{"id":"management-to-operating-shared","label":"controls and observable proof","contract":"OperatingControlEvidence","contractRef":{"kind":"conceptual","ref":"OperatingControlEvidence","state":"open"},"kind":"governance","state":"open","direction":"two-way","from":{"viewId":"management-plane","portId":"management-to-operating-shared:from"},"to":{"viewId":"operating-shared","portId":"management-to-operating-shared:to"}},{"id":"ingestion-to-cv-contribution","label":"public leases and feedback","contract":"ParticipantLeaseProtocol","contractRef":{"kind":"schema","ref":"jobcache/shared/src/device-contract.ts#JobcacheLeaseSchema","state":"as-built"},"kind":"work","state":"as-built","direction":"two-way","from":{"viewId":"public-ingestion","portId":"ingestion-to-cv-contribution:from"},"to":{"viewId":"cv-contribution","portId":"ingestion-to-cv-contribution:to"}},{"id":"core-to-cv-product","label":"public facts / private request","contract":"CareerVectorCoreProtocol","contractRef":{"kind":"schema","ref":"lib/corpus-shared/src/protocol.ts#CorpusSearchResponseSchema","state":"as-built"},"kind":"query","state":"as-built","direction":"two-way","from":{"viewId":"jobcache-core","portId":"core-to-cv-product:from"},"to":{"viewId":"cv-product","portId":"core-to-cv-product:to"}},{"id":"management-to-cv-management","label":"privacy-safe operation","contract":"CareerVectorManagementEnvelope","contractRef":{"kind":"conceptual","ref":"CareerVectorManagementEnvelope","state":"open"},"kind":"control","state":"open","direction":"two-way","from":{"viewId":"management-plane","portId":"management-to-cv-management:from"},"to":{"viewId":"cv-management","portId":"management-to-cv-management:to"}},{"id":"operating-shared-to-cv","label":"shared controls and product duties","contract":"OperatingRequirement","contractRef":{"kind":"conceptual","ref":"OperatingRequirement","state":"open"},"kind":"governance","state":"open","direction":"two-way","from":{"viewId":"operating-shared","portId":"operating-shared-to-cv:from"},"to":{"viewId":"operating-careervector","portId":"operating-shared-to-cv:to"}},{"id":"cv-contribution-to-product","label":"public result, private projection","contract":"WorkspaceJobProjection","contractRef":{"kind":"conceptual","ref":"WorkspaceJobProjection","state":"mixed"},"kind":"data","state":"mixed","direction":"one-way","from":{"viewId":"cv-contribution","portId":"cv-contribution-to-product:from"},"to":{"viewId":"cv-product","portId":"cv-contribution-to-product:to"}},{"id":"cv-product-to-management","label":"aggregate evidence / scoped support","contract":"PrivacySafeTelemetry","contractRef":{"kind":"conceptual","ref":"PrivacySafeTelemetry","state":"open"},"kind":"evidence","state":"open","direction":"one-way","from":{"viewId":"cv-product","portId":"cv-product-to-management:from"},"to":{"viewId":"cv-management","portId":"cv-product-to-management:to"}},{"id":"cv-management-to-operating","label":"support implements commitments","contract":"CareerVectorControlEvidence","contractRef":{"kind":"conceptual","ref":"CareerVectorControlEvidence","state":"open"},"kind":"governance","state":"open","direction":"two-way","from":{"viewId":"cv-management","portId":"cv-management-to-operating:from"},"to":{"viewId":"operating-careervector","portId":"cv-management-to-operating:to"}},{"id":"cv-contribution-to-experience","label":"participation state","contract":"ParticipantCapabilityState","contractRef":{"kind":"conceptual","ref":"ParticipantCapabilityState","state":"mixed"},"kind":"evidence","state":"mixed","direction":"one-way","from":{"viewId":"cv-contribution","portId":"cv-contribution-to-experience:from"},"to":{"viewId":"cv-exp-contribution","portId":"cv-contribution-to-experience:to"}},{"id":"cv-product-to-experience","label":"workspace truth","contract":"WorkspaceProjection","contractRef":{"kind":"conceptual","ref":"WorkspaceProjection","state":"mixed"},"kind":"data","state":"mixed","direction":"one-way","from":{"viewId":"cv-product","portId":"cv-product-to-experience:from"},"to":{"viewId":"cv-exp-workspace","portId":"cv-product-to-experience:to"}},{"id":"cv-management-to-experience","label":"status and recovery","contract":"CareerVectorServiceState","contractRef":{"kind":"conceptual","ref":"CareerVectorServiceState","state":"target"},"kind":"evidence","state":"target","direction":"one-way","from":{"viewId":"cv-management","portId":"cv-management-to-experience:from"},"to":{"viewId":"cv-exp-trust","portId":"cv-management-to-experience:to"}},{"id":"operating-to-commitments","label":"enforceable commitments","contract":"CareerVectorCommitment","contractRef":{"kind":"conceptual","ref":"CareerVectorCommitment","state":"open"},"kind":"governance","state":"open","direction":"one-way","from":{"viewId":"operating-careervector","portId":"operating-to-commitments:from"},"to":{"viewId":"cv-commitments","portId":"operating-to-commitments:to"}},{"id":"cv-exp-contribution-to-workspace","label":"capability supports work","contract":"ParticipantExperienceState","contractRef":{"kind":"conceptual","ref":"ParticipantExperienceState","state":"target"},"kind":"data","state":"target","direction":"one-way","from":{"viewId":"cv-exp-contribution","portId":"cv-exp-contribution-to-workspace:from"},"to":{"viewId":"cv-exp-workspace","portId":"cv-exp-contribution-to-workspace:to"}},{"id":"cv-exp-workspace-to-trust","label":"activity becomes explanation","contract":"WorkspaceActivityEvidence","contractRef":{"kind":"conceptual","ref":"WorkspaceActivityEvidence","state":"target"},"kind":"evidence","state":"target","direction":"one-way","from":{"viewId":"cv-exp-workspace","portId":"cv-exp-workspace-to-trust:from"},"to":{"viewId":"cv-exp-trust","portId":"cv-exp-workspace-to-trust:to"}},{"id":"cv-exp-trust-to-commitments","label":"experience proves promise","contract":"CareerVectorCommitmentEvidence","contractRef":{"kind":"conceptual","ref":"CareerVectorCommitmentEvidence","state":"open"},"kind":"evidence","state":"open","direction":"one-way","from":{"viewId":"cv-exp-trust","portId":"cv-exp-trust-to-commitments:from"},"to":{"viewId":"cv-commitments","portId":"cv-exp-trust-to-commitments:to"}}]}