Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions docs/BOARD_PACK.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# CareerOps Board Pack Schema

The CareerOps board pack (`CareerOps_board_pack.json`) is the portable format for
career data that can be exported and imported between CareerOps installations.

The current board pack schema version is **5**.

Schema migrations are implemented in
`web/lib/board-pack.mjs` by `migrateV1toV2`, `migrateV2toV3`,
`migrateV3toV4`, and `migrateV4toV5`.

## Schema changelog

| Version | Changes |
| --- | --- |
| **v1** | Initial board pack format. |
| **v1 → v2** | Added `accomplishments` and `portfolio`. Added `profile.resume_struct`. Added doctrine flags including `no_auto_apply`, `no_invented_facts`, `resume_struct_canonical`, and `memory_provenance`. |
| **v2 → v3** | Added `no_auto_send`, `stories`, and `outcomes`. Added `sent_at` to roles and materials. Added `display_name` to materials and reports. |
| **v3 → v4** | Added `interview_events`. Added structured offer fields to outcomes: `base`, `bonus`, `equity_notes`, `remote`, `deadline`, and `currency`. |
| **v4 → v5** | Added profile target-band fields: `target_band_min`, `target_band_max`, and `target_band_currency`. Added role compensation fields `comp_range` and `comp_raw`. Added `contacts`. |

## Export and import

Board packs are created by `buildBoardPack` and read through
`importBoardPack` in `web/lib/board-pack.mjs`.

`migrateBoardPack` upgrades older packs through each migration until they reach
the current schema version.

## Secrets and doctrine

Board packs do **not** export or import API keys, passwords, or other secret
credentials. Profile sanitization explicitly removes credential fields before
export/import.

The board pack also preserves the project's contribution doctrine, including:

- No automatic application sending.
- No invented facts or experience.
- Canonical structured resume data.
- Memory provenance.
- No automatic sending.

The board pack format is for portable career data, not private deployment
secrets or credentials.

## Current version

**Schema version: 5**

The current version is defined by `BOARD_PACK_SCHEMA_VERSION` in
`web/lib/board-pack.mjs`.
3 changes: 2 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Product homepage: see the root [README](../README.md).

- [ARCHITECTURE.md](ARCHITECTURE.md) — surfaces, public vs private
- [LOCAL_FIRST.md](LOCAL_FIRST.md) — ownership, self-host, export
- [BOARD_PACK.md](BOARD_PACK.md) — board pack schema changelog and import/export guidance
- [PRIVACY.md](PRIVACY.md) — evidence, secrets, vault
- [SECURITY.md](../SECURITY.md) — vulnerability reporting
- [supabase/README.md](../supabase/README.md) — schema, migrations, credential vault
Expand All @@ -23,4 +24,4 @@ Product homepage: see the root [README](../README.md).
- [PLUGINS.md](PLUGINS.md) — extension registry (hooks, not a browser extension)
- [CHAINS.md](CHAINS.md) — human-gated mode chains (`run-chain`)

Model cards: Hugging Face `telivity/CareerOps-4B*`.
Model cards: Hugging Face `telivity/CareerOps-4B*`.
8 changes: 5 additions & 3 deletions web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ cp config.example.js config.js

Set:

- `supabaseUrl` — your Supabase project URL
- `supabaseAnonKey` — anon or publishable key (safe for browser; protect data with RLS)
- `donateUrl` — optional

- `supabaseUrl` — your Supabase project URL
- `supabaseAnonKey` — anon or publishable key (safe for browser; protect data with RLS)
- `donateUrl` — optional
- `analyticsId` — optional Google Analytics Measurement ID (for example `G-XXXXXXXXXX`). Leave empty to disable analytics.

`config.js` is gitignored in the public repo.
Expand Down Expand Up @@ -44,6 +45,7 @@ Pure Career OS helpers used by the SPA live in `lib/` (bullet memory, cadence, r
### Export / import

- **Board pack** (`CareerOps_board_pack.json`) — skill modes + Settings import (upsert). Schema v5 adds contacts, posted `comp_range`/`comp_raw`, and profile target band. API keys never exported or imported.
- See the [Board Pack schema changelog](../docs/BOARD_PACK.md) for the v1 → v5 schema details.
- **Full JSON** / **CSV** — Settings → Your data.

## Edge functions
Expand Down