Readable HTML version. View the Markdown source.

OCF Implementer Quick Reference

This is the compact tool-builder view of Open Career Format. Read design-guide.md for intent, schema-field-guide.md for field-level examples, and usage-patterns.md for file roles and workflow patterns.

OCF is an open schema for preserving career memory, curating it for a purpose, and exporting it into other formats. A partial, honest OCF is better than a complete-looking file full of invented certainty.

Prompts and Skills

Prompts and skills are operating guidance, not schema. Prompts work anywhere a user can paste text. Skills package the same guidance for local agents that can route workflows and manage files: where the master lives, where backups go, where sources are stored, and where each application's outputs belong.

The schema remains the validation contract. If skill or prompt advice conflicts with schema.json, the schema wins for file structure.

Field Tiers

TierSections and fieldsImplementer expectation
Core$schema, schemaVersion, meta, person, sourceArtifacts, experience, experience[].positions, achievements, skills, education, certifications, openQuestions, cautionsMost authoring, import, curation, and export tools should understand these well enough to preserve them.
Common optionalorganizations, projects, publications, awards, languages, service, memberships, governance, teaching, speaking, patents, interestsSupport when relevant to the user's career or target output; omit cleanly when absent.
Private memoryreflections, exitContext, compensation fields, salesPerformance, bookOfBusiness, private sourceArtifacts, private notesPreserve carefully. Do not export by default. Treat as the reason the master file is useful, not as ordinary resume content.
Curation signalsvisibility, dateRange.visibility, importance, audiences, narrativeVariants, titleVariants, positioningVariants, talkingPoints, supportingFacts, attribution, reviewStatusUse these to decide what can be selected, what needs review, and how claims can be worded. Do not treat them as final display text by themselves.
Provenance and interopid, provenance, sourceArtifactId, sourceFileId, sourceItemId, extensions, meta.parentFileId, meta.parentVersion, meta.lineageNotesPreserve on round-trip. Stable IDs and boring provenance make files reviewable and mergeable.
Advanced or likely to evolvericher trust tiers, renderer hints, region-specific export policy, third-party workflow metadata, sharding/manifest conventionsUse extensions or provenance notes for now unless the current schema has a first-class field. Expect feedback-driven changes before 1.0.

v0.3 Lineage Names

OCF v0.3 replaces the old "derived file" vocabulary with parent/lineage names:

parentFileId is the parent file's meta.id, not a filename. parentVersion is the parent file's meta.version at the time the child file was prepared. lineageNotes records the target, filter, translation, conversion, or export context.

Do not confuse these with provenance values such as interview-derived. That phrase describes how an item was elicited from an interview or conversation and is still useful.

File Roles

meta.fileRoleUse whenImportant behavior
candidate-masterThe person controls the durable private career memory file.Preserve history, nuance, private material, source artifacts, cautions, and open questions.
candidate-curatedA tool/person selects and improves a working set for a purpose, but review is still active.Preserve lineage to the master and keep proposed improvements separate from export-ready content.
export-readySelection and visibility review are complete enough for a specific exporter or downstream system.Exporters should prefer this over the private master.
third-party-workingA recruiter, coach, employer, agency, or tool controls an OCF-shaped file about a person.The top-level person is still the subject, but the subject may not control or see the file.
otherA workflow does not fit the named lifecycle roles.Explain the role in meta.lineageNotes, provenance, or tool documentation.

If meta.fileRole is absent or unknown, treat the file as unclassified and untrusted until the controlling user identifies its role. Do not infer candidate-master from a filename, location, or apparently complete contents.

Trust Boundaries

OCF files are portable. Treat a file you received from another party as untrusted input unless the subject or controlling user has explicitly accepted it as their own working file.

Minimal Tool Behavior

Importers should:

Curators should:

Exporters should:

Missing Unicode maps, replacement characters, mojibake, and unexpected symbols are useful extraction warnings, not proof by themselves. Passing one parser does not guarantee compatibility with every ATS or document-processing system.

Editors should:

Local Validation

OCF includes a local reference validator in reference/validator/. Prefer local validation because OCF files often contain private career data.

Install validator dependencies once:

npm --prefix reference/validator ci

Validate one or more files from the repository root:

node reference/validator/validate.js path/to/file.ocf.json

With no file arguments, the validator checks every JSON file in spec/examples/ against spec/schema.json.

Validation checks structure only. It does not verify whether claims are true, whether private content is safe to share, or whether a file is appropriate for a specific export or recipient.

Large Masters And Selective Context

A complete candidate-owned master remains authoritative even when it is too large for one model interaction. Tools may use a local, human-readable context profile to build a disposable reduced view, but they must make omitted content observable as not loaded, retain stable IDs and source-master identity, and apply accepted updates to the complete master.

The dependency-free reference/context/ocf-context.js script demonstrates a compact context envelope and retrieval of one complete item by file-local ID. Its profile shape is reference-tool configuration rather than OCF schema. Context reduction does not enforce privacy; apply visibility filtering and curation separately when needed. See Selective Context Without Splitting the Master for the design rationale and the questions the first conservative profile is intended to test.

Naming Conventions

OCF does not force filenames. Human-readable names make workflows easier to inspect.

Examples:

Use directory structure if it helps: imports/, curated/, exports/, archive/.

Resolving Visibility Defaults

OCF does not have one universal default for omitted visibility. Defaults are defined at the item's exact schema location. Most ordinary career material defaults to shared, while sensitive material such as cautions, reflections, credential identifiers, metrics, and supporting evidence may default to private.

JSON Schema default is an annotation; validators do not necessarily insert it into the document. When a visibility-bearing item omits visibility, resolve the default from its precise schema path, including array items and referenced definitions. Do not infer the default from the parent object or assign one fallback to the entire file.

OCF publishes reference/schema-index.json as a generated, version-specific lookup and reference/lib/visibility.js as a reference implementation. A tool may perform equivalent schema traversal, but the result must match the file's declared schema version. The schema remains authoritative if a generated artifact disagrees with it.

Explicit valid visibility always wins. Validate before filtering. If a tool cannot resolve the default for a visibility-bearing item, it should exclude that item or request review rather than guessing that it is shareable.

Visibility defaults apply only at schema locations that define visibility; they are not a universal rule for every object. Structural containers such as person and the top-level organizations registry are retained only when their exact schema paths are recognized as structural. The generated schema index publishes that allowlist. An object at an unknown or opaque path does not become shareable merely because it lacks a visibility field. A filtered projection should omit or regenerate source-file metadata and retain only organization registry entries referenced by retained content. Derived metadata describes the new artifact, not permission inherited from the source file.

After visibility filtering, prune references and registries that no longer have a retained source or target. In particular, an organization entry referenced only by a removed experience must not survive in the output. Public-facing exporters must request public for visibility-bearing content; shared is appropriate for controlled recipients, not public publication. Required structure and fields with no item-level visibility, such as the rendered name or headline, still require purpose-specific curation and user review.

Compatibility Rules