Open Decisions

Current JobCache coordination page: JobCache Implementation Checkpoint.

Settled for the current slice: shared payload vocabulary, the role -> ad -> workspace job read tree, Observation as the submitted boundary, submitObservation as the Cockroach write gate, and D1 jobcache_commands.submit_observation as the CareerVector handoff. Do not reopen those unless a critical-section owner records a concrete failing case.

Blocking

Op/Sub-Doc Alignment

Question: which files still disagree with the final job.* ops and jobs workspace sub-doc?

Current recommendation: make the op catalog, workspace-client, web routes, MCP, and dashboard agree before broad UI rewiring.

Important

Tailored CV/CL Placement

Current v9 apply path stores tailored documents under:

workspace.jobs[job_id].attributes.tailored_cv
workspace.jobs[job_id].attributes.tailored_cl

Decision needed: keep nested under workspace.jobs[job_id].attributes for uniform sparse reads, or lift to top-level siblings on the workspace job entry.

Cells Without Origin Metadata

Originless workspace cells default to the private D1 workspace rung.

Do not infer that missing origin metadata means a value may move to Cockroach. Upward movement requires a field definition and reducer/exporter.

Indexed Jobcache Columns

The shared role/ad store may need dedicated indexed columns such as place_key, org_id, and language.

Decision needed only if someone wants to remove them for schema purity. Current recommendation: keep them for query practicality.

Data Boundary Details

The database ownership decision is settled:

CareerVector splits by privacy boundary, not by whether a value is in the fact tree.

D1/Y.Doc owns the private workspace rung:
  workspace jobs, workspace facts/overrides, CVL/CL, local summaries.

Cockroach owns the shared upper tree:
  roles, ads, jobcache, shared work cache, embeddings, matching, shared evidence,
  and reducer-approved aggregate outputs.

Still open: exact outbox protocol, projection hash format, reducer approval rules, aggregate thresholds, and the product policy for any CVL-derived candidate output that becomes discoverable outside its workspace.

Source: wiki/content/working-memory/open-decisions.md