OCF v0.4 Planning Notes
These are early planning notes for ideas that should not pull v0.3 away from its core. They are not part of OCF v0.3 and should not be treated as implemented fields.
The goal for v0.4 is to collect evidence for larger organizing concepts before standardizing them. v0.3 should make these experiments easier by adding stronger IDs, review status, cleaner lineage, and first-class talking points.
Candidate Direction: Career Tracks
Likely incubating namespace: extensions.user.local.careerTracks.
Problem: a person may have several overlapping career tracks that are all real, useful, and audience-dependent. These are not always separate jobs or separate timelines. They may be different lenses over the same career evidence.
Examples:
- working at a school, teaching at the same school, and studying there during overlapping dates;
- Army rank progression and MOS or duty assignment;
- clinical practice, academic medicine, and research;
- founder/operator work alongside advisory or board work;
- W-2 employment alongside consulting or a small business;
- artist or performer work alongside teaching, production, or administration;
- internal company level progression alongside actual role or scope changes.
These are not aberrations. OCF should not assume one clean career timeline, and tools should not collapse overlapping roles into one vague experience just because they share an institution or date range.
Likely direction: tracks are top-level views over the whole OCF, not fields under person and not separate master files. A track may cite positions, achievements, education, certifications, memberships, governance, service, reflections, cautions, talking points, and source artifacts.
Incubating shape:
{
"extensions": {
"user.local": {
"careerTracks": [
{
"id": "school-operations-track",
"label": "School operations",
"description": "Employment and operational work at the school.",
"itemIds": ["school-staff-role", "student-support-achievement"],
"audiences": ["school-operations", "education-administration"],
"notes": "Use when positioning the staff/operations side of the overlapping school history."
},
{
"id": "teaching-track",
"label": "Teaching and instruction",
"description": "Teaching, curriculum, and student-facing instructional work.",
"itemIds": ["adjunct-teaching-role", "curriculum-design-achievement"],
"audiences": ["teaching", "instructional-design"],
"notes": "Use when the teaching relationship matters more than the employment relationship."
},
{
"id": "education-track",
"label": "Graduate study",
"description": "The person's student relationship to the same institution.",
"itemIds": ["graduate-program", "capstone-project"],
"audiences": ["academic", "credentialing"],
"notes": "Use when the education path is the relevant lens."
}
]
}
}
}
Working rules for experiments:
- Tracks reference existing item IDs rather than duplicate facts.
- Tracks are views, not proof that the person has separate careers.
- Tracks may overlap freely; overlap is expected.
- Tracks do not replace
experience,education,certifications,achievements, ortalkingPoints. - Tools should preserve track extensions on round-trip, but should not assume all OCF files contain them.
- If a track is useful in an output, the output still needs to cite or use the underlying items, not only the track label.
Open design questions:
- Is
itemIdsenough, or do tracks need typed refs such aspositionIds,achievementIds, andeducationIds? - Should tracks have
visibility,reviewStatus, andprovenanceif they influence outputs? - Should tracks support date ranges, or should dates always come from the referenced items?
- How should tracks interact with top-level
talkingPointsand target-aware positioning variants? - Should tracks be ordered by importance, recency, audience, or not ordered at all?
Candidate Direction: Occupational Classifications And Alignments
OCF v0.3 has two partial mechanisms for external classifications:
position.occupationalCodestores one formal code associated with a role, such as a military MOS or federal GS series;skills[].taxonomiesstores optional links from a human-readable skill to external skill frameworks.
ONET-SOC and ESCO occupation mappings expose a different need. A role may align with several external occupation concepts even when none of those concepts was an official title or classification assigned by the employer. The distinction matters: an MOS, GS series, or employer classification may be a source-supported fact, while an ONET or ESCO match is often a reviewed interpretation used for matching, portability, or export.
v0.4 should consider keeping position.occupationalCode for formal classifications while incubating a separate collection of occupation alignments. Likely incubating namespace: extensions.user.local.occupationAlignments.
Possible experimental shape:
{
"extensions": {
"user.local": {
"occupationAlignments": [
{
"id": "customer-success-role-onet-alignment",
"positionId": "customer-success-role",
"system": "onet-soc",
"code": "framework-specific-code",
"title": "Framework occupation title",
"relationship": "primary-role",
"version": "framework version",
"supportingItemIds": ["customer-success-role"],
"reviewStatus": "user-confirmed",
"provenance": {
"source": "llm-suggested",
"date": "2026-07-17"
}
},
{
"id": "customer-success-role-esco-alignment",
"positionId": "customer-success-role",
"system": "esco",
"uri": "http://data.europa.eu/esco/occupation/example",
"title": "Framework occupation title",
"relationship": "primary-role",
"version": "framework version",
"supportingItemIds": ["customer-success-role"],
"reviewStatus": "user-confirmed",
"provenance": {
"source": "llm-suggested",
"date": "2026-07-17"
}
}
]
}
}
}
Working rules for experiments:
- Keep the person's literal title, role description, and source-supported formal code intact; an alignment does not replace them.
- Allow several alignments because one hybrid role may reasonably map to multiple concepts or frameworks.
- Treat tool-suggested alignments as reviewable interpretations, not verified career facts.
- Carry the framework version and stable URI when the framework provides them.
- Do not require people to find or enter taxonomy codes by hand. Importers, matching tools, and exporters may suggest them.
- Keep target-role alignments attached to the target or curation workflow; do not silently turn a job description's classification into a fact about the person's career.
Even several codes may be insufficient without describing how the person engaged with the classified work. A person may have performed the work directly, owned or led the function, managed people doing it, advised practitioners, partnered with the function, regulated it, supported it, sold to it, or built products for it. These relationships are different, but they do not form a simple seniority or exposure ladder. relationship describes the nature of the engagement; confidence, if retained, would instead describe certainty that the mapping is appropriate. Supporting item IDs should point back to the positions, achievements, projects, or other evidence that makes the relationship defensible.
For example, a compliance professional may cover a foreign-exchange desk, focus on several kinds of transactions, and ensure that restricted countries are avoided. Mapping only to "Compliance Officer" loses the market and transaction context. Adding "Foreign Exchange Dealer" without qualification falsely implies that the person traded FX. Treating sanctions controls or transaction monitoring as occupations confuses regulatory responsibilities and competencies with occupations. A reviewed alignment might say that the person regulated or oversaw work associated with an FX occupation while the underlying OCF positions, achievements, skills, and regulatory context preserve what they actually did.
This complexity is evidence against rushing occupation alignments into the core schema. Occupational classifications are useful indexes into someone else's labor-market taxonomy; they are not complete descriptions of a person's work. If a useful alignment model requires an exhaustive relationship vocabulary or duplicates attribution already present in the underlying evidence, OCF may be better served by keeping the detailed career memory and allowing matching or export tools to construct the classification view they need.
The planned junior Customer Success / first-manager example is a useful stress test. Customer Success roles often combine account management, service, adoption, commercial influence, and informal leadership. If one taxonomy code flattens that work, the example should demonstrate why alignments are optional, multiple, and reviewable.
One v0.3 description also needs correction during the v0.4 pass: the skills[].taxonomies guidance uses ONET-SOC code 15-1252.00 as though it identifies the skill "Python." It is an occupation code. ONET technology-skill data associates named technologies with O*NET-SOC occupations; it does not make the occupation code a stable identifier for the technology itself. The future field guide should use a valid framework-specific skill identifier or explain the association without presenting an occupation code as a skill code.
Open design questions:
- Is a top-level alignment collection keyed by
positionIdpreferable to an array directly on each position? - Should occupation alignments use the existing review and provenance fields without modification?
- Do alignments need
confidence, or are provenance plusreviewStatussufficient? - Does
relationshipbelong in a small controlled vocabulary, remain freeform, or derive from attribution on supporting items? - Should a formal role be allowed to carry more than one source-supported
occupationalCode, or should additional systems always be represented as alignments? - How should OCF distinguish an exact framework match from a broader or adjacent occupation concept?
- Does the complexity of these relationships justify a first-class OCF structure, or should occupation alignment remain an external mapping concern?
Candidate Direction: Location Modeling
Location remains important but easy to overbuild. The next version should collect examples before standardizing a broad location model.
Pressures to test:
- organization location is not the same as work location;
- work location is not the same as residence;
- public render text may intentionally differ from private structured location;
- application forms may request street address before the user wants to disclose it;
- remote, hybrid, consulting, military, travel-heavy, and relocation workflows all strain a single location field.
v0.4 should consider whether OCF needs reusable location entries with kind, renderAs, structured city/region/country fields, date ranges, and visibility. Full street address should remain high-sensitivity and should require explicit user choice before inclusion in an output.
Candidate Direction: Richer Voice Calibration
OCF v0.3 should keep voice calibration mostly incubating. v0.4 may revisit whether to standardize richer voice provenance after more examples exist.
Questions to answer before standardizing:
- How should tools distinguish subject-authored wording from LLM-suggested but subject-adopted wording?
- Should rejected or anti-pattern drafts be stored as source artifacts, private notes, or summarized calibration material?
- Can named writing patterns be useful across ordinary users, not only highly reflective users?
- How should voice samples link to the outputs they influenced?
Candidate Direction: Trust Review
OCF is not a proof system, and v0.3 should avoid formal verification tiers. v0.4 may revisit trust review only after examples show repeated needs beyond provenance, cautions, source artifacts, review status, and open questions.
Possible future signals:
- document-supported;
- manager-attested;
- peer-reviewed;
- recruiter-reviewed;
- credential-issuer-verified;
- tool-vendor-attested;
- registry-checked with date and scope.
Any future trust model should point to external evidence rules rather than mirror every registry, board, employer, school, or court system.
Tool-vendor-attested signals are already appearing in public career surfaces: a CRM, marketing platform, design tool, coding assistant, analytics product, or other connected app may make an app-authored statement about how a person uses it. This is not the same as self-authored OCF content. The person is the subject of the record, but the app or platform is the author. These signals may be useful evidence, but they can also be platform-hosted, non-editable, continuously updated, only-positive, and vendor-incentivized.
OCF should not try to become the proof system for these claims. The likely pattern is to preserve the signal as evidence or provenance attached to a user-controlled claim:
- what was attested;
- who authored the attestation;
- where it was observed;
- when it was captured;
- whether it is still current;
- whether the user wants it used for a given export.
Possible future homes include sourceArtifacts, item-level provenance, a future evidence/trust model, or an extension convention. The important boundary is ownership: OCF should let a candidate preserve, question, curate, and reuse external attestations without making the platform or vendor the owner of their career memory.
Candidate Direction: Context Profiles Before Physical Sharding
Large OCF masters and the full schema can exceed what a model needs for one task. The first response should be selective loading, not immediately splitting the canonical career record across files.
A context profile is optional local operating configuration that identifies which parts of the complete master a tool or model needs to know at that time. A generated context view may omit long-form reflection text, achievement longform, private compensation detail, source material, or voice samples while retaining stable IDs and enough metadata to request the full item later. Absence from the current context must mean not loaded, not does not exist.
Working boundary:
- the complete OCF master remains the source of career-authoritative state;
- a local, human-readable context configuration stores optional loading preferences, not career facts;
- a generated context view is disposable and must never overwrite the master;
- accepted improvements flow back to the complete master;
- tools should be able to implement the profile behavior without depending on an OCF-hosted service or proprietary runtime;
- ordinary OCF files remain understandable without the local context configuration.
Long-form stories are the likely first pressure test because they are valuable, private, individually retrievable, and expensive to load into every conversation. Start with one career-summary profile and test whether models can work from compact story metadata, recognize that full text was withheld, and request a specific story by ID when interview preparation, story mining, or voice-sensitive drafting requires it.
Physical sharding remains deferred. Context-profile usage should first reveal which material is loaded together, what references must survive omission, and whether stories are retrieved individually, by role, or as a complete story bank. Any later shard or package design should grow from those observed access patterns rather than from a temporary manifest shape.
The non-normative context-profile design note and dependency-free reference script document the first conservative experiment. The initial goal is to prove explicit omission and selective retrieval, not to maximize size reduction.
Candidate Workflow: Local Insertion Placeholders For Sensitive Content
An item can be appropriate for a particular output without being appropriate to disclose to the model drafting that output. Clearance history, compensation, confidential customer names, internal metrics, health information, and protected project details are examples. This is a trust-boundary and tooling problem, not necessarily a schema problem.
v0.4 guidance should consider an optional local-insertion workflow. A hosted drafting model receives only the curated context the user is willing to disclose and emits a conspicuous placeholder where approved sensitive wording may later be inserted locally. For example:
[[INSERT APPROVED CLEARANCE STATEMENT HERE]]
Working principles:
- The placeholder contains no private value. If naming the category would itself disclose too much, use an opaque marker such as
[[PRIVATE-ITEM-01]]. - The placeholder should be unmistakably unfinished so it is unlikely to survive into a submitted artifact.
- When layout matters, the placeholder should reserve approximately the expected line length. A hosted model cannot size from a value it never received, so a local tool or the user may need to provide a target length or adjust the final layout after insertion.
- Replacement happens locally using wording the user has explicitly approved for that output.
- The completed artifact receives a final human review. A tool should warn about unresolved private-item placeholders before export or submission.
- This pattern supplements visibility and curation review; it does not make disclosure to a model safe and does not require adding placeholder state to the OCF schema.
The Maria Reyes conversation uses clearance history to illustrate the underlying conflict: permission to publish a statement in one application is separate from permission to send the underlying private information to the drafting model.
Candidate Direction: Durable Question Lifecycle
OCF cannot assume a future LLM or tool will have access to prior chat history. The file should preserve enough durable question state for a new conversation to continue responsibly without storing complete transcripts.
The v0.3 openQuestions array is intentionally minimal. It records what should be revisited, but cannot distinguish a question that has never been asked from one the user deferred, declined, answered, or resolved as a confirmed gap. That ambiguity can make a new model repeat a question the user already answered or chose not to answer.
v0.4 should consider renaming openQuestions to questions and adding a small lifecycle model. A possible shape is:
{
"id": "hipaa-responsibility",
"question": "What direct HIPAA Security Rule responsibility did Maria own?",
"status": "confirmed-gap",
"lastAskedDate": {
"year": 2026,
"month": 7,
"day": 17
},
"answerSummary": "Maria confirmed that she supported healthcare security but did not own HIPAA compliance.",
"resultingItemIds": [
"caution-no-hipaa-ownership"
],
"visibility": "private"
}
Candidate statuses:
open: worth asking when relevant; alastAskedDatemay show that it was asked but unanswered or only partially answered;deferred: the user wants to revisit it later;declined: the user does not want to answer it, so tools should respect the boundary;answered: the response produced durable facts, stories, cautions, or other items, preferably linked throughresultingItemIds;confirmed-gap: the user confirmed that the experience, credential, responsibility, or evidence is not present;no-longer-relevant: the target or concern changed and the question should not be resurrected casually.
Working principles:
- Do not use
reviewStatusas question lifecycle. Review state, evidence strength, and conversational disposition are different concepts. - Preserve durable state, not a complete interaction log.
- A partial answer should normally narrow the question and leave it
open, withlastAskedDateandanswerSummaryrecording what is already known. - A positive answer should become canonical or reviewable OCF content; the question may remain as a resolved pointer to the resulting items.
- A negative answer may need to remain in the question record because there may be no positive career item to preserve it elsewhere.
- A declined answer records a user boundary, not a confirmed career gap.
- Future prompts and tools should inspect question status before asking. They should respect declined and deferred questions, use answered evidence, and treat confirmed gaps as gaps unless the user reopens them.
Until a future schema standardizes this lifecycle, v0.3 tools may summarize a deferral, decline, partial answer, or resolution in reviewNote or provenance. That prose is a compatibility workaround, not a machine-readable lifecycle contract.
Candidate Corrections From v0.3 Use
These are considerations for a future schema design pass, not approved v0.4 fields and not changes to the frozen v0.3 schema.
Dates
- Close
partialDateobjects withadditionalProperties: falseso misspelled fields do not validate. - Continue allowing year-only and year-plus-month dates, but require
monthwheneverdayis present. - Separate calendar dates from the ongoing-range marker: point dates and range starts should use a calendar
partialDate; only a range end should also permit{ "present": true }. - Extend semantic validation to reject impossible calendar dates,
presentas a range start, and an end that is provably earlier than its start. Partial dates whose ordering cannot be known should remain valid.
Identity And Required Content
- Describe
meta.idas a stable file ID rather than requiring UUID v4. File-local item IDs remain free to use readable stable identifiers. - Consider
minLength: 1for common required identity and content fields such as rendered person names, item names, titles, and achievement statements. Do not apply it indiscriminately to every string. - Consider requiring one minimal identifying field on lightly used objects that currently allow
{}:titlefor awards and patents, andnamefor interests. Keep the rule lightweight and confirm it against real examples before approval.
Certification Issuers
The v0.3 certification issuer accepts either a display string or a structured object. The structured form is more elaborate than most OCF use requires and accidentally remains open to unknown properties. A future pass should consider a smaller closed object centered on name and optional url. More specialized issuer identifiers or verification metadata should earn first-class space through real interoperability use rather than anticipation.
Grants And Funding
The current schema contains similar funding structures with different names and shapes, including grantNumber in one place and grantId in another. Before normalizing them, determine whether OCF has enough real grant and funding use to justify first-class fields. A future release may instead remove lightly proven funding structures and publish an incubating extension convention under the appropriate user-local or producer-owned namespace. Job-search funding history and external grant-system records should not be modeled merely because fields already exist.
Deferred Or Separate Work
These ideas may deserve future exploration, but they should remain outside v0.3:
- formal Open Badges / W3C VC verification support;
- a companion job-description schema;
- complex time-decay semantics beyond review timestamps and curation judgment;
- full scoring models for candidate-role fit;
- physical sharding or package/manifest shapes for very large masters, after context-profile experiments establish the access pattern;
- reference renderers that imply one canonical resume layout.
The project center remains narrow: preserve career memory accurately, curate it for a purpose, and export what the recipient needs.
Open Career Format