From a83ef0a79a20b743a4e7acf1ece9629194c42308 Mon Sep 17 00:00:00 2001 From: tegwick Date: Tue, 28 Jul 2026 00:25:21 +0200 Subject: [PATCH] Register reserve under agents hub and pin VAULT storage. Classify freedom-intelligence for State Hub (agents domain), sync FI-WP-0001..0003 with hub IDs, enrich catalog entries with profile/SWOT, and pin the open-weight reserve to D:\vault\coulomb\freedom-intelligence\ with strategic S-tier policy. --- .repo-classification.yaml | 32 ++++ INTENT.md | 12 +- README.md | 15 +- SCOPE.md | 9 +- WORK-RECORDS.md | 29 +++ docs/backup-storage-policy.md | 119 +++++++----- .../2026-07-24-nas-strategic-reserve.md | 84 ++++++++ docs/hardware-envelope.md | 57 ++++-- docs/state-hub-delivery.md | 12 ++ inventory/README.md | 42 +++- .../catalog/BAAI__bge-m3__candidate.yaml | 47 ++++- .../BAAI__bge-reranker-v2-m3__candidate.yaml | 42 +++- .../catalog/Qwen__Qwen3-14B__candidate.yaml | 46 ++++- .../catalog/Qwen__Qwen3-72B__strategic.yaml | 83 ++++++++ .../catalog/Qwen__Qwen3-8B__candidate.yaml | 45 ++++- ...epSeek-R1-Distill-Qwen-14B__candidate.yaml | 50 ++++- ...epSeek-R1-Distill-Qwen-32B__candidate.yaml | 48 ++++- .../deepseek-ai__DeepSeek-R1__strategic.yaml | 84 ++++++++ .../deepseek-ai__DeepSeek-V3__strategic.yaml | 83 ++++++++ ...ama__Llama-3.2-3B-Instruct__candidate.yaml | 44 ++++- ...ma__Llama-3.3-70B-Instruct__strategic.yaml | 84 ++++++++ ...-ai__nomic-embed-text-v1.5__candidate.yaml | 45 ++++- inventory/collection-policy.md | 179 ++++++++++-------- inventory/schema.yaml | 110 ++++++----- research/2026-07-24-baseline-field-survey.md | 13 +- ...026-07-24-nas-strategic-collection-plan.md | 94 +++++++++ .../FI-WP-0001-lab-operating-foundation.md | 30 ++- ...FI-WP-0002-activity-core-daily-research.md | 9 +- .../FI-WP-0003-seed-open-weight-reserve.md | 75 +++++--- 29 files changed, 1343 insertions(+), 279 deletions(-) create mode 100644 .repo-classification.yaml create mode 100644 WORK-RECORDS.md create mode 100644 docs/decisions/2026-07-24-nas-strategic-reserve.md create mode 100644 inventory/catalog/Qwen__Qwen3-72B__strategic.yaml create mode 100644 inventory/catalog/deepseek-ai__DeepSeek-R1__strategic.yaml create mode 100644 inventory/catalog/deepseek-ai__DeepSeek-V3__strategic.yaml create mode 100644 inventory/catalog/meta-llama__Llama-3.3-70B-Instruct__strategic.yaml create mode 100644 research/2026-07-24-nas-strategic-collection-plan.md diff --git a/.repo-classification.yaml b/.repo-classification.yaml new file mode 100644 index 0000000..3e3b75e --- /dev/null +++ b/.repo-classification.yaml @@ -0,0 +1,32 @@ +# Repo classification (Repo Classification Standard v1.0). + +repo_classification: + standard: Repo Classification Standard + version: "1.0" + classified_at: "2026-07-28" + classified_by: human + category: project + domain: agents + secondary_domains: + - infotech + capability_tags: + - knowledge + - documentation + - orchestration + - automation + - model-routing + business_stake: + - technology + - intelligence + - automation + - product + business_mechanics: + - intention + - coordination + - operation + - adaptation + notes: > + Daily AI field research briefs and open-weight model reserve for + NetKingdom/Coulomb lab ops. Primary domain agents (model intelligence, + harness awareness, local weight reserve); infotech secondary for platform + adjacency. diff --git a/INTENT.md b/INTENT.md index d196761..54343a9 100644 --- a/INTENT.md +++ b/INTENT.md @@ -28,7 +28,12 @@ Coulomb NetKingdom needs a third posture: 2. **Reserve** open-weight artifacts that may matter later for local training or operations. 3. **Bias** toward intelligence that can be inspected, specialized, and run under our control. -Freedom Intelligence is that lab — not a chat product, not a public model CDN, and not a commitment to host every frontier model. +Freedom Intelligence is that lab — not a chat product, not a public model CDN, and not a commitment to *run* every frontier model on today’s GPUs. + +The open-weight **reserve** (VAULT bulk store under `D:\vault\coulomb\`) deliberately includes the **most +capable open models** we are allowed to retain, even when they are larger than +current lab inference can serve. Runnability and reservability are separate +axes: we sense the frontier, keep optionality offline, and grow runtime later. --- @@ -71,8 +76,9 @@ The brief feeds collection candidates. Collection never mirrors the entire Hub ## Design principles * **Signal over noise** — report what changes capability, cost, access, or operability. -* **Just in case** — hold optionality without obligation to serve every model. -* **Catalog in git, blobs on backup storage** — metadata is versioned; weights are bulk media. +* **Just in case** — hold optionality without obligation to *serve* every model today. +* **Capability-first reserve** — prefer the strongest open weights (license-clean), not only what fits current VRAM. +* **Catalog in git, blobs on bulk store** — metadata is versioned; weights live on `D:\vault\coulomb\freedom-intelligence\`. * **License and integrity first** — no collection that terms forbid; checksums and provenance required. * **Homelab honesty** — prefer methods and models that fit our real hardware envelope. * **Operable intelligence** — models without harness, sandbox, and fleet thinking are incomplete for NetKingdom. diff --git a/README.md b/README.md index c792481..db4ed0c 100644 --- a/README.md +++ b/README.md @@ -37,12 +37,19 @@ Standing lenses: **A** frontier & price · **B** edge/local open · **C** homela --- -## Collection spine (from baseline) +## Collection plan (bulk reserve) -**P0 candidates** (approve after backup path pin): Qwen3-8B, Llama-3.2-3B-Instruct, -BGE-M3, DeepSeek-R1-Distill-Qwen-14B, nomic-embed-text-v1.5 +**Storage:** `D:\vault\coulomb\freedom-intelligence\` (VAULT HD) · soft quota **850 GiB** +**Policy:** store the **most capable open weights** even if unrunnable today +(`docs/decisions/2026-07-24-nas-strategic-reserve.md`). -Details and P1/P2: see baseline survey §6 and `inventory/catalog/`. +| Tier | Examples | +| ---- | -------- | +| **R — runnable spine** | Qwen3-8B, Llama-3.2-3B-Instruct, BGE-M3, R1-Distill-14B, nomic-embed | +| **S — strategic** | DeepSeek-V3 (class), DeepSeek-R1 full, Llama-3.3-70B / Qwen3-72B dense | +| **W — optional** | 14B/32B upgrades, reranker, … | + +Plan detail: `research/2026-07-24-nas-strategic-collection-plan.md` · catalog: `inventory/catalog/`. --- diff --git a/SCOPE.md b/SCOPE.md index d926710..0cdb439 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -95,11 +95,12 @@ Git holds briefs, schemas, policies, and catalog metadata. Model weight blobs st | INTENT / SCOPE | Drafted | | Baseline survey | `research/2026-07-24-baseline-field-survey.md` | | Brief template + playbook | Present; first *daily* delta brief not yet written | -| Backup storage policy | Documented; **path/quota TBD** (FI-WP-0001-T04) | -| Inventory | Schema + policy + **P0/P1 catalog candidates** seeded | +| Backup storage | **VAULT HD** `D:\vault\coulomb\freedom-intelligence\`; soft quota 850 GiB | +| Inventory | R/S/W tiers; runnable + **strategic unrunnable** candidates seeded | +| Reserve policy | Capability-first — not gated by current VRAM | | Activity-core | Definition drafted `enabled: false` (FI-WP-0002) | -| State Hub | `fi_daily_brief` contract documented; resolver not implemented | -| Workplans | FI-WP-0001 … 0003 active | +| State Hub | Repo registered under **agents** (2026-07-28); workplans synced via fix-consistency; `fi_daily_brief` delivery resolver still open | +| Workplans | FI-WP-0001 finished; FI-WP-0002/0003 active (hub-indexed) | --- diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md new file mode 100644 index 0000000..7b606b0 --- /dev/null +++ b/WORK-RECORDS.md @@ -0,0 +1,29 @@ +# Work Records — freedom-intelligence + +> Generated by `statehub fix-consistency` (CUST-WP-0061-T04, work-record +> stage 3). Do not edit by hand — edit the source file/block listed for +> each record and re-run fix-consistency to refresh this index. Archived +> workplans are omitted; closed decisions/intakes/engagements stay listed +> so recently-resolved work is still visible. [auto] + +| Kind | ID | Status | Lane | Source | +| --- | --- | --- | --- | --- | +| workplan | FI-WP-0001 | done | — | workplans/FI-WP-0001-lab-operating-foundation.md | +| workplan | FI-WP-0002 | active | — | workplans/FI-WP-0002-activity-core-daily-research.md | +| workplan | FI-WP-0003 | active | — | workplans/FI-WP-0003-seed-open-weight-reserve.md | +| task | FI-WP-0001-T01 | done | — | workplans/FI-WP-0001-lab-operating-foundation.md | +| task | FI-WP-0001-T02 | done | — | workplans/FI-WP-0001-lab-operating-foundation.md | +| task | FI-WP-0001-T03 | done | — | workplans/FI-WP-0001-lab-operating-foundation.md | +| task | FI-WP-0001-T04 | done | — | workplans/FI-WP-0001-lab-operating-foundation.md | +| task | FI-WP-0001-T05 | done | — | workplans/FI-WP-0001-lab-operating-foundation.md | +| task | FI-WP-0002-T01 | done | — | workplans/FI-WP-0002-activity-core-daily-research.md | +| task | FI-WP-0002-T02 | done | — | workplans/FI-WP-0002-activity-core-daily-research.md | +| task | FI-WP-0002-T03 | done | — | workplans/FI-WP-0002-activity-core-daily-research.md | +| task | FI-WP-0002-T04 | todo | — | workplans/FI-WP-0002-activity-core-daily-research.md | +| task | FI-WP-0002-T05 | todo | — | workplans/FI-WP-0002-activity-core-daily-research.md | +| task | FI-WP-0002-T06 | done | — | workplans/FI-WP-0002-activity-core-daily-research.md | +| task | FI-WP-0003-T01 | done | — | workplans/FI-WP-0003-seed-open-weight-reserve.md | +| task | FI-WP-0003-T02 | todo | — | workplans/FI-WP-0003-seed-open-weight-reserve.md | +| task | FI-WP-0003-T03 | todo | — | workplans/FI-WP-0003-seed-open-weight-reserve.md | +| task | FI-WP-0003-T04 | todo | — | workplans/FI-WP-0003-seed-open-weight-reserve.md | +| task | FI-WP-0003-T05 | todo | — | workplans/FI-WP-0003-seed-open-weight-reserve.md | diff --git a/docs/backup-storage-policy.md b/docs/backup-storage-policy.md index af6f329..796c1da 100644 --- a/docs/backup-storage-policy.md +++ b/docs/backup-storage-policy.md @@ -1,7 +1,8 @@ # Backup storage policy — open-weight model reserve -**Status:** foundation draft (concrete path and budget **TBD**) -**Related:** `INTENT.md`, `SCOPE.md`, `inventory/collection-policy.md` +**Status:** facility + path pinned (workstation VAULT HD) +**Related:** `INTENT.md`, `SCOPE.md`, `inventory/collection-policy.md`, +`docs/decisions/2026-07-24-nas-strategic-reserve.md` **Adjacent:** `disaster-control` BackupPolicy (platform backups — different concern) --- @@ -25,35 +26,42 @@ Git never stores weight tensors. Git stores: | Requirement | Policy | | ----------- | ------ | | **Class** | Backup / bulk durable storage — **not** hot cluster PVCs or app disks | -| **Durability** | Same or better retention posture as other lab bulk assets; prefer media that survives workstation rebuilds | +| **Facility** | Workstation VAULT HD (`D:`) under `D:\vault\coulomb\` (interim pin 2026-07-28) | +| **Durability** | Survives WSL rebuilds; weights live on the VAULT volume, not the git/WSL root | | **Performance** | Sequential read for restore/training pull is enough; low latency not required | | **Access** | Operator and approved lab hosts only; not a public mirror | | **Separation** | Do not co-mingle with age-encrypted operational backups (Forgejo dumps, k3s state) without a clear subdirectory and different lifecycle rules | Platform backup paths such as `/opt/backup/railiance/{infra,cluster}/` and -`~/.cache/railiance/backups/` are **operational recovery** lanes. The model -reserve may live on the **same physical facility** only if isolated by path and -quota so large weight pulls cannot crowd out restore media. +`~/.cache/railiance/backups/` are **operational recovery** lanes. Model weights +belong on the **VAULT model tree**, not on railiance hot disks. --- -## Target location (to pin) +## Target location | Field | Value | | ----- | ----- | -| **Host / facility** | `TBD` — operator pin (e.g. backup NAS, off-cluster bulk volume, dedicated disk) | -| **Base path or bucket** | `TBD` — suggested shape: `…/freedom-intelligence/models/` | +| **Host / facility** | Workstation-attached bulk HD **VAULT** (Windows `D:`) | +| **Raw capacity** | ~1.86 TB total (~1.76 TB free as of 2026-07-28 pin) | +| **Base path (Windows)** | `D:\vault\coulomb\freedom-intelligence\` | +| **Base path (WSL, when D: automounted)** | `/mnt/d/vault/coulomb/freedom-intelligence/` | | **Layout under base** | See [On-disk layout](#on-disk-layout) | -| **Mount on lab hosts** | `TBD` | -| **Credentials** | `TBD` — if remote: OpenBao or existing backup credential lane; never commit secrets | +| **Mount on lab hosts** | Local attach on operator workstation; WSL via drvfs `D:` → `/mnt/d` when enabled | +| **Credentials** | Local filesystem ACL on the workstation HD; never commit secrets | -Until pinned, **do not** bulk-download multi-GB models into this git workspace or -into hot root filesystems. +**Interim note:** Earlier policy assumed a dedicated ~1 TB NAS. Operator chose this +VAULT volume under `D:\vault\coulomb\` for now. Soft quota **850 GiB** for the +model tree still applies (self-imposed discipline; disk is larger). -### Suggested path shape (non-binding) +Do **not** bulk-download multi-GB models into this git workspace or into hot +root filesystems (`/` on WSL, `C:`). + +### Path shape (pinned) ```text -{BACKUP_ROOT}/freedom-intelligence/ +D:\vault\coulomb\freedom-intelligence\ # Windows +/mnt/d/vault/coulomb/freedom-intelligence/ # WSL when D: mounted ├── models/ │ └── {org}__{name}/ │ └── {revision}/ @@ -65,6 +73,8 @@ into hot root filesystems. Map each `{org}__{name}/{revision}` to an inventory catalog entry. +Directories `models/`, `staging/`, and `companions/` were created 2026-07-28. + --- ## On-disk layout @@ -76,17 +86,33 @@ Map each `{org}__{name}/{revision}` to an inventory catalog entry. | `blobs/` | Actual files; prefer original names from source | | `staging/` | Incomplete transfers; purge or resume; never mark collected until complete + verified | +Optional layout tags (directory name or catalog field): + +| Tag | Meaning | +| --- | ------- | +| runnable | Fits current run envelope (R tier) | +| strategic | Capability reserve; may exceed current hardware (S tier) | + --- ## Capacity budget | Parameter | Policy | | --------- | ------ | -| **Soft quota** | `TBD` GiB/TiB — operator pin based on free backup capacity | -| **Hard stop** | No new collection when soft quota exceeded unless operator raises budget | -| **Per-pull threshold** | See `inventory/collection-policy.md` (size gates approval) | -| **Growth review** | Revisit quota when catalog total exceeds 70% of soft quota | -| **Eviction** | Prefer archive/delete lowest-priority, easily re-obtainable revisions first; record eviction in catalog history | +| **Device** | VAULT HD (`D:`) — model tree under `D:\vault\coulomb\freedom-intelligence\` | +| **Soft quota (model reserve)** | **850 GiB** (self-imposed; disk is larger) | +| **Hard stop** | **920 GiB** used under the freedom-intelligence base path | +| **Growth review** | When catalog total ≥ **70% soft quota (~595 GiB)** | +| **Per-pull threshold** | See `inventory/collection-policy.md` | +| **Eviction** | Prefer drop **W** (watch) and easily re-obtained quants; protect unique **S** SOTA bases and the **R** spine | + +### Portfolio guidance on 1 TB + +* Always keep the **runnable spine (R / former P0)** resident. +* Use remaining space for a **small number of most-capable open models (S)**, + preferably well-provenance compressed weights when full precision would exhaust the disk. +* Do **not** attempt to mirror entire HF orgs. +* Full bf16 of multiple 600B-class models will **not** fit; prioritize top capability identities. --- @@ -100,8 +126,7 @@ For every completed collection: 4. Prefer official org releases over anonymous re-uploads. 5. Keep license text or SPDX id in catalog; refuse unclear licenses. -Verification command examples belong in tooling later; policy only requires that -**catalog claims match on-disk checksums** before status `collected`. +Verification: **catalog claims must match on-disk checksums** before status `collected`. --- @@ -109,10 +134,11 @@ Verification command examples belong in tooling later; policy only requires that | Class | Retention | | ----- | --------- | -| **Strategic reserve** (high priority, hard to re-obtain) | Keep until explicit deprecation | -| **Working set** (common bases for training experiments) | Keep while in active use + one superseded revision optional | +| **Strategic capability (S)** | Keep until explicit deprecation or displacement by a clearly stronger open successor | +| **Runnable spine (R)** | Keep while still the lab default for local ops / FT | +| **Working set** | Active experiment bases + optional one superseded revision | | **Staging** | Max 14 days incomplete, then purge | -| **Deprecated** | Metadata retained in catalog with status `evicted` or `superseded`; blobs may be deleted | +| **Deprecated / evicted** | Metadata retained in catalog; blobs may be deleted | --- @@ -120,42 +146,35 @@ Verification command examples belong in tooling later; policy only requires that | Topic | Policy | | ----- | ------ | -| **At rest** | Follow host/facility default; extra age/GPG of multi-hundred-GB trees is optional and costly | -| **In transit** | HTTPS or trusted lab network only | -| **Offsite copy** | Optional later; not required for foundation. If added, coordinate with `disaster-control` so model reserve does not break operational backup SLAs | +| **At rest** | NAS default; extra age/GPG of multi-hundred-GB trees optional | +| **In transit** | Trusted lab network / local attach | +| **Offsite copy** | Optional later; coordinate with disaster-control if added so model bulk does not break ops backup SLAs | --- ## What must not live here -* Closed weights or artifacts whose terms forbid offline retention -* Secrets, API keys, customer data, or training corpora with personal data (domain datasets need their own policy) -* Operational backups (databases, k3s state, Forgejo dumps) -* Git LFS dumps of full model trees as a substitute for backup storage +* Closed weights or artifacts whose terms forbid offline retention +* Secrets, API keys, customer data, or ungoverned training corpora with personal data +* Operational backups (databases, k3s state, Forgejo dumps) as the primary home +* Git LFS dumps of full model trees as a substitute for the NAS --- -## Operator checklist to pin TBD fields +## Operator checklist -- [ ] Choose facility and base path -- [ ] Confirm free capacity and set soft quota -- [ ] Document mount/access for lab hosts -- [ ] Confirm credential path (if any) -- [ ] Create empty `models/` and `staging/` directories -- [ ] Update this file: replace `TBD` rows with concrete values -- [ ] Note pin date and operator in revision history below +- [x] Choose facility: bulk durable storage for model reserve (2026-07-24 intent) +- [x] Set soft quota: **850 GiB** / hard stop **920 GiB** +- [x] Pin path: **`D:\vault\coulomb\freedom-intelligence\`** (2026-07-28) +- [x] Create `models/`, `staging/`, `companions/` +- [x] Document Windows + WSL path forms above +- [x] Ensure WSL can see `D:` (`/mnt/d`) when downloads run from Linux (verified 2026-07-28) ### Pin log | Date | Operator | Change | | ---- | -------- | ------ | -| 2026-07-23 | foundation | Policy created; path and quota unpinned | - ---- - -## Relationship to disaster-control - -`disaster-control` owns **platform resilience** (what to restore after loss). -Freedom Intelligence owns **which open weights we choose to retain** and their -inventory. Shared facilities are fine; shared lifecycle rules are not automatic — -model reserve is large, slow-changing, and rarely needed for emergency restore. +| 2026-07-24 | foundation | Policy created; path unpinned | +| 2026-07-24 | operator direction | Facility intent = 1 TB local NAS; soft quota 850 GiB; strategic unrunnable models in scope | +| 2026-07-28 | operator direction | **Interim pin:** workstation VAULT HD `D:\vault\coulomb\freedom-intelligence\`; layout created; soft quota retained | +| 2026-07-28 | operator | WSL mount verified: `D:` → `/mnt/d` (1.9T, writable) | diff --git a/docs/decisions/2026-07-24-nas-strategic-reserve.md b/docs/decisions/2026-07-24-nas-strategic-reserve.md new file mode 100644 index 0000000..d1a4dd5 --- /dev/null +++ b/docs/decisions/2026-07-24-nas-strategic-reserve.md @@ -0,0 +1,84 @@ +# Decision: 1TB local NAS + strategic capability reserve + +**Date:** 2026-07-24 +**Status:** accepted +**Affects:** `docs/backup-storage-policy.md`, `inventory/collection-policy.md`, +`docs/hardware-envelope.md`, collection tiers, FI-WP-0001 / 0003 + +--- + +## Decision + +1. **Storage backend** for the open-weight reserve is a **1 TB minimal local NAS** + attached to the lab (operator facility). Weights live there; git keeps catalog only. + +2. **Reserve intent** is explicitly **not limited to currently runnable models**. + We capture the **most capable open-weight models** that license allows us to + retain, even when they exceed today’s inference/training hardware (T4 and beyond). + +3. **Runnability** and **reservability** are separate axes: + - *Run envelope* → what we can serve or fine-tune now (T0–T3) + - *Reserve envelope* → what we store for future ops, training facility, or access loss + +--- + +## Capacity reality check (1 TB) + +| Use | Guidance | +| --- | -------- | +| Raw device | ~1 TB | +| Soft quota for model reserve | **850 GiB** (leave ~15% for FS overhead, staging, other lab bulk) | +| Hard stop | **920 GiB** used on the NAS model tree — stop new pulls | +| Growth review | At **70% of soft quota (~595 GiB)** re-prioritize; prefer drop easily re-obtained quants over unique SOTA bases | + +Full-precision 600B-class MoE weights can be **multi-hundreds of GiB to >1 TB each**. +On a 1 TB NAS we therefore: + +* Prefer **official or well-provenance compressed** distributions (FP8, INT4/GGUF, + published quant) when the card supports them for the *strategic* tier +* Still catalog the **base model id + revision** as the capability identity +* Accept that only a **small number of top-tier giants** fit at once — quality over quantity +* Keep the **runnable spine** (P0) always resident so local work does not depend on giants + +Rough fit examples (order-of-magnitude; re-measure at download): + +| Portfolio sketch | Est. total | +| ---------------- | ---------- | +| P0 quant spine only | ~25–55 GiB | +| P0 + mid P1 | ~80–150 GiB | +| P0 + **one** SOTA open MoE quant (~300–400 GiB) | ~350–450 GiB | +| P0 + two large MoE quants | can approach or exceed soft quota — choose carefully | + +--- + +## Collection tiering (updated) + +| Tier | Name | Rule | +| ---- | ---- | ---- | +| **R** | Runnable spine | Fits current/near hardware; always keep | +| **S** | Strategic capability | Best open SOTA / near-SOTA; **may be unrunnable today**; high retention | +| **W** | Watch / optional | Nice-to-have; only if soft quota headroom | + +Supersedes the earlier “do not collect full DeepSeek MoE without a separate +decision” posture: **strategic collection of top open giants is in scope** for +this NAS, subject to license + soft quota. + +--- + +## Non-goals (unchanged) + +* Public model CDN or Hugging Face mirror +* Collecting closed weights +* Guaranteeing inference of every reserved model on current hosts + +--- + +## Follow-ups + +- [x] Operator: pin storage path and create `freedom-intelligence/{models,staging,companions}/` + - **2026-07-28 interim:** `D:\vault\coulomb\freedom-intelligence\` on workstation VAULT HD (~1.86 TB) + - Soft quota **850 GiB** retained (self-imposed; disk larger than original 1 TB sketch) +- [x] Update pin log in `docs/backup-storage-policy.md` with exact mount path +- [x] Seed/update catalog entries for strategic tier (S) +- [ ] FI-WP-0003: prioritize R spine + top S giants under 850 GiB soft quota +- [x] WSL: `D:` available as `/mnt/d` (verified 2026-07-28) diff --git a/docs/hardware-envelope.md b/docs/hardware-envelope.md index 174e878..2324fa0 100644 --- a/docs/hardware-envelope.md +++ b/docs/hardware-envelope.md @@ -1,28 +1,47 @@ -# Hardware envelope — homelab accessible (draft) +# Hardware envelope — run vs reserve -**Status:** assumptions + TBD measurements -**Used by:** inventory `hardware_class`, axis B/C prioritization, collection size decisions +**Status:** updated 2026-07-24 (1 TB NAS strategic reserve) +**Used by:** inventory `hardware_class`, axis B/C, collection tiers R/S --- ## Purpose -Define what Freedom Intelligence means by **homelab accessible** so we do not -collect models that only make sense on hyperscale clusters. +Separate two questions that used to be conflated: + +1. **What can we run or fine-tune now?** → *run envelope* +2. **What should we store on the NAS just in case?** → *reserve envelope* (1 TB) + +Collecting a model **does not** require it to fit the run envelope. +See `docs/decisions/2026-07-24-nas-strategic-reserve.md`. --- -## Working tiers (until hosts are measured) +## Run envelope (inference / training *today*) -| Tier | Assumed capacity | Target model class | -| ---- | ---------------- | ------------------ | +| Tier | Assumed capacity | Typical runnable class | +| ---- | ---------------- | ---------------------- | | **T0 — CPU / edge** | 16–64 GB system RAM, no GPU | ≤3B Q4; embeddings ≤0.5B | | **T1 — consumer GPU** | 8–12 GB VRAM | 7–8B Q4/Q5; 3B fp16 | | **T2 — enthusiast GPU** | 16–24 GB VRAM | 14B Q4; 8B fp16; light 32B Q4 | | **T3 — lab multi-GPU** | 2×24 GB+ or 48 GB+ | 32B fp16 / 70B Q4; small MoE | -| **T4 — out of envelope** | multi-node / 8×A100-class | Full DeepSeek-V3 MoE — P2 watch only | +| **T4 — beyond current lab** | multi-node / datacenter class | Full large MoE / 70B+ fp16 dense | -P0 collection targets **T0–T2**. P2 full MoE is **T4**. +**Runnable spine (tier R)** targets **T0–T2** (stretch T3 when hardware exists). + +**Strategic reserve (tier S)** may be **T3–T4 or above** for *execution* — still +valid for NAS collection. + +--- + +## Reserve envelope (NAS) + +| Parameter | Value | +| --------- | ----- | +| Facility | VAULT HD `D:\vault\coulomb\freedom-intelligence\` (soft quota 850 GiB) | +| Soft quota | 850 GiB | +| Hard stop | 920 GiB | +| Policy | `docs/backup-storage-policy.md` | --- @@ -30,13 +49,14 @@ P0 collection targets **T0–T2**. P2 full MoE is **T4**. | Host | Role | GPU | VRAM | RAM | Notes | | ---- | ---- | --- | ---- | --- | ----- | -| TBD | primary local inference | TBD | TBD | TBD | | -| TBD | training experiments | TBD | TBD | TBD | | -| railiance01 | cluster (not weight store) | n/a | n/a | n/a | Prefer not to fill hot disks with weights | +| TBD | primary local inference | TBD | TBD | TBD | Run envelope | +| TBD | training experiments | TBD | TBD | TBD | Run envelope | +| **VAULT HD (D:)** | weight store | n/a | n/a | n/a | **Reserve envelope** — soft 850 GiB | +| railiance01 | cluster | n/a | n/a | n/a | Do not store weight trees on hot disks | --- -## Inference runtime defaults (intent) +## Inference runtime defaults (when runnable) | Runtime | When | | ------- | ---- | @@ -45,16 +65,18 @@ P0 collection targets **T0–T2**. P2 full MoE is **T4**. | MLX | Apple silicon if present | | Ollama | Quick operator UX only | +Strategic giants may remain **cold storage only** until hardware upgrades. + --- -## Training defaults (intent) +## Training defaults (when runnable) | Method | Envelope | | ------ | -------- | | QLoRA 7–8B | T1–T2 | | QLoRA 14B | T2 | | Full FT 7B | T2–T3 | -| 70B+ FT | T3+ only with explicit plan | +| 70B+ / large MoE FT | Future facility — weights may already sit on NAS | --- @@ -62,4 +84,5 @@ P0 collection targets **T0–T2**. P2 full MoE is **T4**. | Date | Change | | ---- | ------ | -| 2026-07-24 | Draft tiers; host table empty | +| 2026-07-24 | Draft tiers | +| 2026-07-24 | Split run vs reserve; NAS 1 TB; S tier may exceed run envelope | diff --git a/docs/state-hub-delivery.md b/docs/state-hub-delivery.md index 18e193a..a45a8dc 100644 --- a/docs/state-hub-delivery.md +++ b/docs/state-hub-delivery.md @@ -3,6 +3,18 @@ **Status:** contract defined; optional distribution not fully wired **Related:** `docs/daily-brief-playbook.md`, `workplans/FI-WP-0002-activity-core-daily-research.md` +## Repo registration + +| Field | Value | +| ----- | ----- | +| Hub domain | **agents** | +| Repo slug | `freedom-intelligence` | +| Classification | `.repo-classification.yaml` (primary `agents`, secondary `infotech`) | +| Sync | `statehub fix-consistency --repo freedom-intelligence` after workplan edits | + +Workplans live in git; the hub indexes them after registration + fix-consistency. +Do not create workplans via hub `create_workplan` APIs. + --- ## Required: completion evidence for daily rhythm diff --git a/inventory/README.md b/inventory/README.md index 158d068..0ee40d2 100644 --- a/inventory/README.md +++ b/inventory/README.md @@ -1,32 +1,56 @@ # Model inventory In-repo **catalog of open-weight revisions** reserved (or nominated) for the lab. -Weight blobs live on backup storage — see `docs/backup-storage-policy.md`. +Weight blobs live on the **VAULT HD** at `D:\vault\coulomb\freedom-intelligence\` — +see `docs/backup-storage-policy.md`. ## Layout ```text inventory/ ├── README.md # this file -├── schema.yaml # field reference + example -├── collection-policy.md # approval and eligibility rules +├── schema.yaml # field reference (v0.2+) +├── collection-policy.md # approval and eligibility (R/S/W tiers) └── catalog/ └── *.yaml # one file per model revision ``` +## What each catalog entry contains + +| Section | Purpose | +| ------- | ------- | +| **Identity** | `id`, `name`, `org`, `status`, `tags`, `tier-*` | +| **source** | HF/org URLs, revision pin | +| **profile** | Use cases, sweet spots, anti-patterns, **original_source** link | +| **swot** | Compact strengths / weaknesses / opportunities / threats | +| **license / size / hardware_class** | Retention and run guidance | +| **collection** | Approval, NAS path, brief refs | + +Operators should be able to open one YAML and decide *whether* and *why* to pull +or serve a model without reading the whole research tree. + ## Status values `candidate` → `approved` → `collecting` → `collected` → `verified` also: `superseded` | `evicted` | `rejected` +## Tiers + +| Tag | Meaning | +| --- | ------- | +| `tier-r` | Runnable spine (current lab hardware) | +| `tier-s` | Strategic capability (may be beyond run envelope) | +| `tier-w` | Watch / optional | + ## Adding an entry 1. Confirm eligibility in `collection-policy.md`. -2. Create `catalog/{org}__{name}__{short_revision}.yaml` using fields from `schema.yaml`. -3. Set `status: candidate` (or `approved` if already signed off). -4. After download and checksums: set `collected` / `verified` and `collection.storage_path`. +2. Create `catalog/{org}__{name}__….yaml` from `schema.yaml` **including `profile` + `swot`**. +3. Set `profile.original_source` to the canonical card/release URL. +4. Set `status: candidate` (or `approved` if signed off). +5. After download: `collected` / `verified` + `collection.storage_path`. -## Empty catalog +## Related -The catalog starts empty on purpose. First entries come from daily brief -**collection candidates** after policy checks — not from bulk scraping. +- Collection plan: `research/2026-07-24-nas-strategic-collection-plan.md` +- Strategic NAS decision: `docs/decisions/2026-07-24-nas-strategic-reserve.md` diff --git a/inventory/catalog/BAAI__bge-m3__candidate.yaml b/inventory/catalog/BAAI__bge-m3__candidate.yaml index 6daeec9..ae4ee30 100644 --- a/inventory/catalog/BAAI__bge-m3__candidate.yaml +++ b/inventory/catalog/BAAI__bge-m3__candidate.yaml @@ -7,6 +7,7 @@ source: url: https://huggingface.co/BAAI/bge-m3 revision: main model_card_url: https://huggingface.co/BAAI/bge-m3 + project_url: https://github.com/FlagOpen/FlagEmbedding license: spdx: MIT url: https://huggingface.co/BAAI/bge-m3 @@ -14,6 +15,41 @@ license: allows_local_ops: true allows_fine_tune: true notes: "" +profile: + summary: "Default multilingual dense embedding model for local RAG." + original_source: https://huggingface.co/BAAI/bge-m3 + use_cases: + - "NetKingdom / Coulomb document and wiki retrieval" + - "Multilingual (DE/EN/…) semantic search" + - "Hybrid retrieval experiments (dense + multi-granularity features)" + - "Offline RAG in sandboxed agents" + - "Indexing ops runbooks and code comments" + sweet_spots: + - "Self-hosted production-quality multilingual embed" + - "MIT license; easy ops story" + - "Strong general retrieval without API spend" + - "Pairs cleanly with a small cross-encoder reranker" + not_ideal_for: + - "Generation / chat (not an LLM)" + - "Pure code retrieval if a code-specialized embed clearly wins A/B" + - "Ultra-tiny edge when EmbeddingGemma-class is enough" + capability_notes: > + BAAI BGE-M3 is a staple open embedder: multi-lingual, multi-granularity, + widely deployed for RAG. Primary R-tier retrieval backbone for the lab. +swot: + strengths: + - "Proven multilingual retrieval quality for self-host" + - "MIT; small enough for CPU/GPU flexibility" + - "Mature FlagEmbedding ecosystem" + weaknesses: + - "Not optimized solely for code or for extreme long-context embed niches" + - "Newer embed lines (Qwen/Gemma/Nomic) may win specific A/B tests" + opportunities: + - "Domain-adapted embed fine-tune on Coulomb corpora later" + - "Companion bge-reranker for precision@k gains" + threats: + - "Leaderboard churn; risk of holding a stale 'default' without re-eval" + - "Pipeline lock-in if vector DBs assume fixed dimension without migration plan" size: total_bytes: 0 total_human: "~2 GB" @@ -31,12 +67,17 @@ collection: storage_path: "" brief_refs: - research/2026-07-24-baseline-field-survey.md -reason: "P0 multilingual embedding staple for local RAG (docs, ops notes, DE/EN)." -tags: [embedding, multilingual, rag] -companions: [] +reason: "P0/R multilingual embedding staple for local RAG (docs, ops notes, DE/EN)." +tags: [tier-r, embedding, multilingual, rag] +companions: + - BAAI__bge-reranker-v2-m3__candidate notes: "Small download — within agent auto-collect band after license check once storage pinned." history: - at: "2026-07-24" event: nominated by: baseline-survey detail: "P0 recommendation from initial deep research." + - at: "2026-07-24" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/BAAI__bge-reranker-v2-m3__candidate.yaml b/inventory/catalog/BAAI__bge-reranker-v2-m3__candidate.yaml index b9a975e..eac1081 100644 --- a/inventory/catalog/BAAI__bge-reranker-v2-m3__candidate.yaml +++ b/inventory/catalog/BAAI__bge-reranker-v2-m3__candidate.yaml @@ -7,6 +7,7 @@ source: url: https://huggingface.co/BAAI/bge-reranker-v2-m3 revision: main model_card_url: https://huggingface.co/BAAI/bge-reranker-v2-m3 + project_url: https://github.com/FlagOpen/FlagEmbedding license: spdx: Apache-2.0 url: https://huggingface.co/BAAI/bge-reranker-v2-m3 @@ -14,6 +15,39 @@ license: allows_local_ops: true allows_fine_tune: true notes: "Confirm SPDX on card." +profile: + summary: "Cross-encoder reranker companion to BGE-M3 for higher-precision RAG." + original_source: https://huggingface.co/BAAI/bge-reranker-v2-m3 + use_cases: + - "Second-stage rerank of top-k chunks from BGE-M3 (or hybrid) retrieval" + - "Improving answer grounding for NetKingdom / ops runbook Q&A" + - "Eval A/B of retrieval quality without changing the generator" + - "Low-cost precision boost on multilingual corpora" + sweet_spots: + - "Cheap RAG quality win after a solid bi-encoder" + - "Small VRAM; easy always-on sidecar" + - "Same BAAI/FlagEmbedding family as BGE-M3" + not_ideal_for: + - "First-stage retrieval over full corpora (too slow as sole retriever)" + - "Generation / chat" + - "When latency budget forbids a second pass" + capability_notes: > + Lightweight multilingual cross-encoder from the BGE family. W-tier optional + after R spine; high value per byte when RAG is a primary workload. +swot: + strengths: + - "Material precision lift for little disk/VRAM" + - "Proven pairing with BGE-M3" + - "Apache-friendly open stack" + weaknesses: + - "Cross-encoder cost scales with candidate count" + - "Not a substitute for better chunking or generators" + opportunities: + - "Default two-stage pipeline for lab RAG demos" + - "Tune candidate depth (k) per latency tier" + threats: + - "Newer BGE / open rerankers may supersede this checkpoint" + - "LLM-as-judge rerank experiments may reduce need for a dedicated model" size: total_bytes: 0 total_human: "~1–2 GB (estimate)" @@ -31,8 +65,8 @@ collection: storage_path: "" brief_refs: - research/2026-07-24-baseline-field-survey.md -reason: "P1 — cheap RAG quality win as companion to BGE-M3." -tags: [reranker, rag] +reason: "P1/W — cheap RAG quality win as companion to BGE-M3." +tags: [tier-w, reranker, rag] companions: - BAAI__bge-m3__candidate notes: "" @@ -41,3 +75,7 @@ history: event: nominated by: baseline-survey detail: "P1 recommendation from initial deep research." + - at: "2026-07-28" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/Qwen__Qwen3-14B__candidate.yaml b/inventory/catalog/Qwen__Qwen3-14B__candidate.yaml index 7391f73..e4201f6 100644 --- a/inventory/catalog/Qwen__Qwen3-14B__candidate.yaml +++ b/inventory/catalog/Qwen__Qwen3-14B__candidate.yaml @@ -7,6 +7,7 @@ source: url: https://huggingface.co/Qwen/Qwen3-14B revision: main model_card_url: https://huggingface.co/Qwen/Qwen3-14B + project_url: https://qwenlm.github.io/ license: spdx: Apache-2.0 url: https://huggingface.co/Qwen/Qwen3-14B @@ -14,6 +15,40 @@ license: allows_local_ops: true allows_fine_tune: true notes: "Confirm card at download." +profile: + summary: "Mid-size Qwen3 step up from 8B for stronger single-GPU chat/code." + original_source: https://huggingface.co/Qwen/Qwen3-14B + use_cases: + - "Higher-quality local assistant when 8B is the bottleneck" + - "Harder coding and long-context drafting on T2 GPUs" + - "A/B baseline vs R1-Distill-14B (general vs reason-specialist)" + - "Domain FT when 8B capacity is insufficient" + sweet_spots: + - "Quality step within still-single-GPU open dense class" + - "Multilingual instruct continuity with Qwen3-8B" + - "Quota-friendly alternative to jumping to 70B" + not_ideal_for: + - "Always-on default if VRAM is tight (prefer 8B)" + - "Deepest reasoner tasks (prefer R1 distill or full R1 reserve)" + - "Embedding / retrieval" + capability_notes: > + W-tier optional after R spine. Collect when soft-quota headroom and a clear + quality gap vs Qwen3-8B show up in daily work. Prefer Instruct sibling if + separate at pin time. +swot: + strengths: + - "Clear capability bump over 8B without 70B cost" + - "Same Qwen3 stack and tooling as the R default" + - "Apache-friendly licensing typical" + weaknesses: + - "Near-duplicate niche vs strong 8B + selective 14B reason distill" + - "Still not frontier closed quality on hard agentic SWE" + opportunities: + - "Promote to R if lab defaults move off 8B" + - "FT target when domain data needs more capacity" + threats: + - "Disk spent better on S1 MoE or 70B dense under tight quota" + - "Next Qwen mid-size may obsolete this checkpoint quickly" size: total_bytes: 0 total_human: "~28 GB fp16 / ~9 GB Q4 (estimate)" @@ -31,12 +66,17 @@ collection: storage_path: "" brief_refs: - research/2026-07-24-baseline-field-survey.md -reason: "P1 — stronger single-GPU chat/code when quota allows after P0." -tags: [instruct, qwen3] -companions: [] +reason: "P1/W — stronger single-GPU chat/code when quota allows after R spine." +tags: [tier-w, instruct, qwen3] +companions: + - Qwen__Qwen3-8B__candidate notes: "" history: - at: "2026-07-24" event: nominated by: baseline-survey detail: "P1 recommendation from initial deep research." + - at: "2026-07-28" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/Qwen__Qwen3-72B__strategic.yaml b/inventory/catalog/Qwen__Qwen3-72B__strategic.yaml new file mode 100644 index 0000000..b82fbba --- /dev/null +++ b/inventory/catalog/Qwen__Qwen3-72B__strategic.yaml @@ -0,0 +1,83 @@ +id: Qwen__Qwen3-72B__strategic +status: candidate +name: Qwen3-72B +org: Qwen +source: + kind: huggingface + url: https://huggingface.co/Qwen/Qwen3-72B + revision: main + model_card_url: https://huggingface.co/Qwen/Qwen3-72B + project_url: https://qwenlm.github.io/ +license: + spdx: Apache-2.0 + url: https://huggingface.co/Qwen/Qwen3-72B + allows_offline_retention: true + allows_local_ops: true + allows_fine_tune: true + notes: "Confirm card; use Instruct/Coder sibling if that is the capability peak for the line." +profile: + summary: "Strategic large Qwen dense — multilingual/tool open 70B-class reserve." + original_source: https://huggingface.co/Qwen/Qwen3-72B + use_cases: + - "Future multi-GPU dense instruct without MoE serving complexity" + - "Strong multilingual (DE/EN) offline assistant at 70B scale" + - "Domain FT base when 8B/14B capacity is too small" + - "Dense alternative to MoE giants for portable lab stacks" + sweet_spots: + - "S4 dense open with Qwen tooling continuity from the R 8B default" + - "Easier multi-GPU dense serve story than 600B MoE" + - "Apache-friendly licensing typical of Qwen3 line" + not_ideal_for: + - "Current default single-GPU ops" + - "Collecting both this and Llama-70B-class first under tight quota" + - "Embedding / retrieval" + capability_notes: > + Large dense strategic pick. Prefer Instruct/Coder sibling if that is the line + peak at pin time. If soft quota is tight after S1, pick at most one of + Qwen-72B vs Llama-70B-class first. +swot: + strengths: + - "High multilingual dense quality in open 70B class" + - "Same family as R-tier Qwen3-8B — transfer of prompts/tools" + - "Usually simpler ops than giant MoE" + weaknesses: + - "~40–150 GiB depending on quant; still heavy" + - "May lag top MoE on some frontier-open benches" + opportunities: + - "First dense strategic fill after R + optional S1 compressed" + - "FT / LoRA at 70B when facility upgrades" + threats: + - "Llama 70B / next Qwen large may be better use of same bytes" + - "Supersession by Qwen next large release" +size: + total_bytes: 0 + total_human: "~145 GB fp16 / ~40 GB Q4 (estimate)" +hardware_class: + min_vram_gb_q4: 40 + min_vram_gb_fp16: 145 + notes: "T3+ to run; strategic dense multilingual open." +axes: [A, B, C] +priority: high +collection: + approved_by: "" + approved_at: null + downloaded_at: null + downloaded_by: "" + storage_path: "" + brief_refs: + - research/2026-07-24-nas-strategic-collection-plan.md + - docs/decisions/2026-07-24-nas-strategic-reserve.md +reason: "S4 strategic — large Qwen dense open for multilingual/tool capability reserve." +tags: [tier-s, strategic, dense, qwen3] +companions: + - Qwen__Qwen3-8B__candidate +notes: "Pick at most one of Llama-70B-class vs Qwen-72B-class first if quota tight after S1 MoE." +history: + - at: "2026-07-24" + event: nominated + by: operator-policy + detail: "Strategic dense open for NAS." + - at: "2026-07-28" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/Qwen__Qwen3-8B__candidate.yaml b/inventory/catalog/Qwen__Qwen3-8B__candidate.yaml index 49e14ae..de01f49 100644 --- a/inventory/catalog/Qwen__Qwen3-8B__candidate.yaml +++ b/inventory/catalog/Qwen__Qwen3-8B__candidate.yaml @@ -7,6 +7,7 @@ source: url: https://huggingface.co/Qwen/Qwen3-8B revision: main model_card_url: https://huggingface.co/Qwen/Qwen3-8B + project_url: https://qwenlm.github.io/ license: spdx: Apache-2.0 url: https://huggingface.co/Qwen/Qwen3-8B @@ -14,6 +15,42 @@ license: allows_local_ops: true allows_fine_tune: true notes: "Confirm exact card license at download time; Qwen3 line generally Apache-2.0." +profile: + summary: "Default mid-small open instruct for local ops, tools, and domain fine-tunes." + original_source: https://huggingface.co/Qwen/Qwen3-8B + use_cases: + - "Local NetKingdom / Coulomb assistant (chat, docs, runbooks)" + - "Tool-using agent loops on consumer GPU" + - "QLoRA / LoRA domain specialization base" + - "Multilingual (incl. DE/EN) drafting and summarization" + - "Offline code help when 14B+ is too heavy" + sweet_spots: + - "Best balance of quality vs VRAM in the ~8B open class for many 2026 stacks" + - "Instruction + tool-use oriented workflows" + - "Homelab fine-tune target (axis C)" + - "Runnable spine default when one model must wear many hats" + not_ideal_for: + - "Hardest SWE-bench-class multi-file engineering (use larger or closed frontier)" + - "Deep multi-step math/reason vs R1-class distill or full reasoners" + - "Embedding / retrieval (use BGE-M3 or nomic)" + capability_notes: > + Flagship small-mid dense open generalist in the Qwen3 line. Strong multilingual + and instruct behavior for its size; primary R-tier workhorse for the lab. Prefer + Instruct sibling on the card if separate repo exists at pin time. +swot: + strengths: + - "High capability density at 8B; Apache-friendly licensing typical" + - "Good multilingual + tool/instruct posture for local agents" + - "Excellent FT base for domain specialization" + weaknesses: + - "Still far from frontier closed models on hard agentic coding" + - "8B ceiling on long-horizon planning and rare knowledge" + opportunities: + - "Domain LoRAs (security, ops, railiance) on NAS-held base" + - "Pair with BGE-M3 RAG for grounded NetKingdom answers" + threats: + - "Rapid supersession by next Qwen/peer 8–14B release" + - "Quant quality variance across third-party GGUF repacks" size: total_bytes: 0 total_human: "~16 GB fp16 / ~5 GB Q4 (estimate)" @@ -31,8 +68,8 @@ collection: storage_path: "" brief_refs: - research/2026-07-24-baseline-field-survey.md -reason: "P0 spine — best default open general/tool model for local ops and QLoRA domain specialization." -tags: [instruct, text, qwen3, ft-base] +reason: "P0/R spine — best default open general/tool model for local ops and QLoRA domain specialization." +tags: [tier-r, instruct, text, qwen3, ft-base] companions: [] notes: "Prefer Instruct variant on card if separate repo; pin commit SHA at collection." history: @@ -40,3 +77,7 @@ history: event: nominated by: baseline-survey detail: "P0 recommendation from initial deep research." + - at: "2026-07-24" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/deepseek-ai__DeepSeek-R1-Distill-Qwen-14B__candidate.yaml b/inventory/catalog/deepseek-ai__DeepSeek-R1-Distill-Qwen-14B__candidate.yaml index a903efb..80f724f 100644 --- a/inventory/catalog/deepseek-ai__DeepSeek-R1-Distill-Qwen-14B__candidate.yaml +++ b/inventory/catalog/deepseek-ai__DeepSeek-R1-Distill-Qwen-14B__candidate.yaml @@ -7,6 +7,7 @@ source: url: https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B revision: main model_card_url: https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B + project_url: https://github.com/deepseek-ai/DeepSeek-R1 license: spdx: MIT url: https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B @@ -14,6 +15,42 @@ license: allows_local_ops: true allows_fine_tune: true notes: "R1 distill series MIT — confirm card at pin time." +profile: + summary: "Local reasoning-specialist distill — hard tasks without full R1 MoE." + original_source: https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B + use_cases: + - "Offline multi-step reasoning (math, logic, planning sketches)" + - "Harder agent tool-selection and self-checks" + - "Local alternative when DeepSeek API is unavailable" + - "Eval harness baseline for 'reason' quality on lab tasks" + - "QLoRA experiments on reason-style behavior" + sweet_spots: + - "Reasoning quality above plain 14B chat models at similar size" + - "Single enthusiast GPU (Q4) without multi-node MoE" + - "MIT-friendly open reason lineage" + not_ideal_for: + - "Cheapest always-on chat (use 3B/8B)" + - "Full parity with frontier closed reasoners or full R1" + - "Pure embedding" + capability_notes: > + Distilled from DeepSeek-R1 into a Qwen-14B-class dense student. Captures much + of the reasoner value proposition for homelab VRAM budgets. Primary R-tier + reason model; full R1 remains strategic S-tier. +swot: + strengths: + - "Strong open reasoner at single-GPU scale" + - "MIT distill story; clear provenance from R1 line" + - "Complements general 8B chat without replacing it" + weaknesses: + - "Heavier and slower than 8B for routine chat" + - "Distill ≠ full R1; still loses on hardest problems" + - "May overthink simple tasks if not prompted carefully" + opportunities: + - "Route only hard queries here; keep 8B as default" + - "Domain FT for structured ops decision checklists" + threats: + - "Newer distill or mid-size reasoners may obsolete this checkpoint" + - "VRAM growth of defaults may push lab to 32B distill instead" size: total_bytes: 0 total_human: "~28 GB fp16 / ~9 GB Q4 (estimate)" @@ -31,12 +68,17 @@ collection: storage_path: "" brief_refs: - research/2026-07-24-baseline-field-survey.md -reason: "P0 local reasoning without full R1 MoE — agent/tool loops and harder offline tasks." -tags: [reasoning, distill, deepseek] -companions: [] -notes: "If disk/VRAM constrained, substitute DeepSeek-R1-Distill-Qwen-8B as P0 alternate." +reason: "P0/R local reasoning without full R1 MoE — agent/tool loops and harder offline tasks." +tags: [tier-r, reasoning, distill, deepseek] +companions: + - deepseek-ai__DeepSeek-R1__strategic +notes: "If disk/VRAM constrained, substitute DeepSeek-R1-Distill-Qwen-8B as R alternate." history: - at: "2026-07-24" event: nominated by: baseline-survey detail: "P0 recommendation from initial deep research." + - at: "2026-07-24" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/deepseek-ai__DeepSeek-R1-Distill-Qwen-32B__candidate.yaml b/inventory/catalog/deepseek-ai__DeepSeek-R1-Distill-Qwen-32B__candidate.yaml index 09b65af..1acd4d1 100644 --- a/inventory/catalog/deepseek-ai__DeepSeek-R1-Distill-Qwen-32B__candidate.yaml +++ b/inventory/catalog/deepseek-ai__DeepSeek-R1-Distill-Qwen-32B__candidate.yaml @@ -7,13 +7,47 @@ source: url: https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B revision: main model_card_url: https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B + project_url: https://github.com/deepseek-ai/DeepSeek-R1 license: spdx: MIT url: https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B allows_offline_retention: true allows_local_ops: true allows_fine_tune: true - notes: "" + notes: "R1 distill series MIT — confirm card at pin time." +profile: + summary: "Larger R1 distill for stronger local reason when 14B is not enough." + original_source: https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B + use_cases: + - "Hard offline reasoning beyond 14B distill quality" + - "Local eval ceiling before considering full R1 MoE" + - "Heavier agent planning loops on multi-GPU / high-VRAM hosts" + - "FT experiments on reason-style traces at 32B" + sweet_spots: + - "Best dense open reason step between 14B distill and full R1" + - "Still denser/portable than 600B-class MoE" + - "MIT-friendly R1 lineage" + not_ideal_for: + - "Default always-on chat (too heavy)" + - "Hosts without ~20+ GB VRAM for Q4" + - "When 14B distill already saturates task quality" + capability_notes: > + W-tier optional. Approve only with VRAM + soft-quota headroom after R spine + and primary S pulls. Do not confuse with full DeepSeek-R1 MoE (separate S entry). +swot: + strengths: + - "Material reason quality jump over 14B distill" + - "Dense, so simpler serving than full MoE" + - "Clear provenance in R1 distill family" + weaknesses: + - "VRAM and latency cost; poor default chat model" + - "Still not full R1; diminishing returns vs S2 full weights" + opportunities: + - "Route only hardest local tasks here" + - "Bridge until multi-GPU can host full R1" + threats: + - "Quota competition with S1/S4 strategic weights" + - "Newer mid-large open reasoners may leapfrog" size: total_bytes: 0 total_human: "~65 GB fp16 / ~20 GB Q4 (estimate)" @@ -31,12 +65,18 @@ collection: storage_path: "" brief_refs: - research/2026-07-24-baseline-field-survey.md -reason: "P1 stronger local reasoner — approve only with VRAM + quota headroom." -tags: [reasoning, distill, deepseek] -companions: [] +reason: "P1/W stronger local reasoner — approve only with VRAM + quota headroom." +tags: [tier-w, reasoning, distill, deepseek] +companions: + - deepseek-ai__DeepSeek-R1-Distill-Qwen-14B__candidate + - deepseek-ai__DeepSeek-R1__strategic notes: "Do not collect full DeepSeek-V3/R1 MoE under this id." history: - at: "2026-07-24" event: nominated by: baseline-survey detail: "P1 recommendation from initial deep research." + - at: "2026-07-28" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/deepseek-ai__DeepSeek-R1__strategic.yaml b/inventory/catalog/deepseek-ai__DeepSeek-R1__strategic.yaml new file mode 100644 index 0000000..dfeac57 --- /dev/null +++ b/inventory/catalog/deepseek-ai__DeepSeek-R1__strategic.yaml @@ -0,0 +1,84 @@ +id: deepseek-ai__DeepSeek-R1__strategic +status: candidate +name: DeepSeek-R1 +org: deepseek-ai +source: + kind: huggingface + url: https://huggingface.co/deepseek-ai/DeepSeek-R1 + revision: main + model_card_url: https://huggingface.co/deepseek-ai/DeepSeek-R1 + project_url: https://github.com/deepseek-ai/DeepSeek-R1 +license: + spdx: MIT + url: https://huggingface.co/deepseek-ai/DeepSeek-R1 + allows_offline_retention: true + allows_local_ops: true + allows_fine_tune: true + notes: "MIT for R1 series per public release notes; re-confirm card at pin." +profile: + summary: "Strategic full open reasoner — best-known open R1-class weights for future multi-GPU." + original_source: https://huggingface.co/deepseek-ai/DeepSeek-R1 + use_cases: + - "Offline retention of top open reasoner lineage" + - "Future local hosted reason when multi-GPU is available" + - "Teacher / reference for distill and eval harnesses" + - "Hard planning and math when API reasoners are unavailable" + sweet_spots: + - "S2 pure-reason niche on the reserve" + - "Complements V3 general MoE rather than replacing the 14B distill spine" + - "MIT-friendly open reasoner identity" + not_ideal_for: + - "Current single-GPU daily reason (use R1-Distill-14B)" + - "Full-precision pull if soft quota already holds S1 giant" + - "Casual chat default" + capability_notes: > + Full DeepSeek-R1 (or open successor reasoner). Distills cover runnable reason; + this entry is strategic optionality. If quota forces a choice between full R1 + and full V3, re-evaluate from latest brief which niche is the larger gap. +swot: + strengths: + - "Reference open reasoner class for the era" + - "Distill ecosystem already proves value at smaller sizes" + - "Open weights for offline continuity" + weaknesses: + - "Enormous resource cost to serve" + - "Overlaps capability budget with S1 MoE on a small disk" + - "Version supersession risk" + opportunities: + - "Hold compressed if needed; keep identity for later upgrade" + - "Use as teacher target for lab distill experiments" + threats: + - "Quota: competing with S1 for hundreds of GiB" + - "Newer open reasoners may displace this checkpoint" +size: + total_bytes: 0 + total_human: "large — similar class to V3 full; prefer compressed if needed for 850 GiB soft quota" +hardware_class: + min_vram_gb_q4: 0 + min_vram_gb_fp16: 0 + notes: "Beyond current lab run envelope. Distills (14B/32B) cover runnable reason; this is full strategic reasoner." +axes: [A, B, C] +priority: high +collection: + approved_by: "" + approved_at: null + downloaded_at: null + downloaded_by: "" + storage_path: "" + brief_refs: + - research/2026-07-24-nas-strategic-collection-plan.md + - docs/decisions/2026-07-24-nas-strategic-reserve.md +reason: "S2 strategic — best-known open reasoner lineage; optionality for future multi-GPU / hosted local reason." +tags: [tier-s, strategic, beyond-run-envelope, reasoning] +companions: + - deepseek-ai__DeepSeek-R1-Distill-Qwen-14B__candidate +notes: "If quota forces a choice between full R1 and full V3, prefer the stronger current open general (often V3/V4 line) unless pure reason is the gap; re-evaluate at pull time from latest brief." +history: + - at: "2026-07-24" + event: nominated + by: operator-policy + detail: "Strategic NAS reserve — unrunnable OK." + - at: "2026-07-28" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/deepseek-ai__DeepSeek-V3__strategic.yaml b/inventory/catalog/deepseek-ai__DeepSeek-V3__strategic.yaml new file mode 100644 index 0000000..8858bf9 --- /dev/null +++ b/inventory/catalog/deepseek-ai__DeepSeek-V3__strategic.yaml @@ -0,0 +1,83 @@ +id: deepseek-ai__DeepSeek-V3__strategic +status: candidate +name: DeepSeek-V3 +org: deepseek-ai +source: + kind: huggingface + url: https://huggingface.co/deepseek-ai/DeepSeek-V3 + revision: main + model_card_url: https://huggingface.co/deepseek-ai/DeepSeek-V3 + project_url: https://github.com/deepseek-ai/DeepSeek-V3 +license: + spdx: MIT + url: https://huggingface.co/deepseek-ai/DeepSeek-V3 + allows_offline_retention: true + allows_local_ops: true + allows_fine_tune: true + notes: "Confirm active card license at pin; prefer latest V3.x/V4 open successor if it is the new SOTA open general." +profile: + summary: "Strategic open general MoE — among the most capable open chat/code weights." + original_source: https://huggingface.co/deepseek-ai/DeepSeek-V3 + use_cases: + - "Long-term offline optionality if frontier API access is lost or restricted" + - "Future multi-GPU / training-facility inference or continued pretrain" + - "Capability benchmark reference against closed frontier" + - "Source of student weights / distill experiments (when license + hardware allow)" + sweet_spots: + - "S1 primary giant: best open general MoE class on the reserve" + - "Capability identity even when only compressed weights fit disk" + - "MIT-friendly open SOTA lineage (confirm at pin)" + not_ideal_for: + - "Current lab single-GPU daily ops (use R spine)" + - "Storing multiple near-duplicate full-precision giants on one disk" + - "Assuming immediate local serve without major hardware upgrade" + capability_notes: > + Flagship open general MoE (or successor) for the strategic tier. On ~1–2 TB + lab bulk storage, prefer official compressed distributions when full precision + would exhaust soft quota. Catalog identity stays the base model id + revision. +swot: + strengths: + - "Top-tier open general capability for the era" + - "Open weights enable true offline retention and future fine work" + - "Strong coding/agent relevance as hardware catches up" + weaknesses: + - "Huge disk and multi-GPU serve cost" + - "Rapid version churn (V3 → V3.x → V4)" + - "Quant choice materially affects quality" + opportunities: + - "Hold compressed primary; upgrade hardware later without re-scrape risk" + - "Anchor daily briefs against a fixed offline SOTA open baseline" + threats: + - "Soft quota: one full pull can block other S niches" + - "License or card terms change at successor releases — re-check at pin" +size: + total_bytes: 0 + total_human: "hundreds of GiB (quant) to multi-hundred+ GiB; measure at pull — may need official compressed release" +hardware_class: + min_vram_gb_q4: 0 + min_vram_gb_fp16: 0 + notes: "Beyond current lab run envelope (T4+). Reserved for strategic capability, not current inference." +axes: [A, B, C] +priority: high +collection: + approved_by: "" + approved_at: null + downloaded_at: null + downloaded_by: "" + storage_path: "" + brief_refs: + - research/2026-07-24-nas-strategic-collection-plan.md + - docs/decisions/2026-07-24-nas-strategic-reserve.md +reason: "S1 strategic — among the most capable open general MoE weights; keep even if unrunnable today." +tags: [tier-s, strategic, beyond-run-envelope, moe, general] +companions: [] +notes: "At download: pin exact revision; if full precision exceeds remaining soft quota, collect best official compressed distribution of the same model line." +history: + - at: "2026-07-24" + event: nominated + by: operator-policy + detail: "1TB NAS strategic reserve — capability-first, not run-envelope-gated." + - at: "2026-07-28" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/meta-llama__Llama-3.2-3B-Instruct__candidate.yaml b/inventory/catalog/meta-llama__Llama-3.2-3B-Instruct__candidate.yaml index 31061b4..becc798 100644 --- a/inventory/catalog/meta-llama__Llama-3.2-3B-Instruct__candidate.yaml +++ b/inventory/catalog/meta-llama__Llama-3.2-3B-Instruct__candidate.yaml @@ -7,6 +7,7 @@ source: url: https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct revision: main model_card_url: https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct + project_url: https://www.llama.com/ license: spdx: custom url: https://ai.meta.com/llama/license/ @@ -14,6 +15,41 @@ license: allows_local_ops: true allows_fine_tune: true notes: "Llama Community License — not MIT; review terms before commercial redistribution." +profile: + summary: "Tiny edge instruct for always-on and low-VRAM agent micro-services." + original_source: https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct + use_cases: + - "Always-on local helper with minimal power/VRAM" + - "Fast classification, routing, and short-form rewrites" + - "CPU or 4–8 GB GPU edge boxes" + - "Smoke-test harnesses before promoting to 8B+" + - "Embedded tooling demos and offline kiosks" + sweet_spots: + - "Latency and footprint over peak intelligence" + - "Huge Llama ecosystem (llama.cpp, Ollama, many templates)" + - "Cheap parallel micro-agents in a fleet" + not_ideal_for: + - "Serious coding or long documents" + - "Domain FT when quality matters (prefer 8B base)" + - "Standalone reasoning-heavy ops decisions" + capability_notes: > + Compact Meta instruct model. Best as a floor for local intelligence and + high-volume simple tasks, not as the lab's primary brain. +swot: + strengths: + - "Very small; runs almost anywhere in the lab" + - "Massive tooling and community template coverage" + - "Good enough for structured short outputs" + weaknesses: + - "Shallow capability; fails hard tasks silently if not constrained" + - "Custom Llama license (not pure OSS-permissive)" + - "HF gated access friction" + opportunities: + - "Fleet of specialized tiny adapters per workflow" + - "Guardrail / router model in front of larger backends" + threats: + - "Qwen/Gemma/Smol peers may outclass at same size" + - "License or regional policy changes for Llama family" size: total_bytes: 0 total_human: "~6 GB fp16 / ~2 GB Q4 (estimate)" @@ -31,8 +67,8 @@ collection: storage_path: "" brief_refs: - research/2026-07-24-baseline-field-survey.md -reason: "P0 edge instruct — tiny, huge ecosystem, good CPU/GPU floor for agents." -tags: [instruct, edge, llama] +reason: "P0/R edge instruct — tiny, huge ecosystem, good CPU/GPU floor for agents." +tags: [tier-r, instruct, edge, llama] companions: [] notes: "HF gated model — need accepted license on account before download." history: @@ -40,3 +76,7 @@ history: event: nominated by: baseline-survey detail: "P0 recommendation from initial deep research." + - at: "2026-07-24" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/meta-llama__Llama-3.3-70B-Instruct__strategic.yaml b/inventory/catalog/meta-llama__Llama-3.3-70B-Instruct__strategic.yaml new file mode 100644 index 0000000..299f43f --- /dev/null +++ b/inventory/catalog/meta-llama__Llama-3.3-70B-Instruct__strategic.yaml @@ -0,0 +1,84 @@ +id: meta-llama__Llama-3.3-70B-Instruct__strategic +status: candidate +name: Llama-3.3-70B-Instruct +org: meta-llama +source: + kind: huggingface + url: https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct + revision: main + model_card_url: https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct + project_url: https://www.llama.com/ +license: + spdx: custom + url: https://ai.meta.com/llama/license/ + allows_offline_retention: true + allows_local_ops: true + allows_fine_tune: true + notes: "Llama Community License — review before commercial redistribution. Prefer Llama 4 open text sibling if it is clearly stronger at pull time." +profile: + summary: "Strategic dense Llama 70B instruct — ecosystem-rich open reserve for multi-GPU." + original_source: https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct + use_cases: + - "Future multi-GPU general instruct with mature Llama tooling" + - "Portable dense alternative to giant MoE for lab upgrades" + - "Ecosystem baselines (vLLM, llama.cpp, eval harnesses expect Llama ids)" + - "Domain FT when Llama license fits the use" + sweet_spots: + - "S4 dense open with the broadest third-party tooling surface" + - "More portable serve path than 600B-class MoE" + - "Strong general instruct heritage in the 70B class" + not_ideal_for: + - "Current single-GPU daily ops (use 3B/8B R spine)" + - "Uses forbidden by Llama Community License terms" + - "Duplicate with Qwen-72B under tight quota — pick one first" + capability_notes: > + HF gated. Strategic dense pick. If Llama 4 open text weights supersede + clearly, nominate successor and mark this entry superseded. License is not + Apache — operator must re-read terms before redistribution. +swot: + strengths: + - "Huge ecosystem and ops familiarity" + - "Solid 70B dense instruct quality" + - "Easier multi-GPU dense story than MoE giants" + weaknesses: + - "Custom Llama license (not Apache/MIT)" + - "HF gating friction for automated pulls" + - "May lag peer open MoE on some benches" + opportunities: + - "First dense strategic if Qwen-72B is deferred" + - "Broad eval comparability with published Llama numbers" + threats: + - "Llama 4 open may obsolete 3.3 quickly" + - "Quota competition with Qwen-72B and S1 MoE" +size: + total_bytes: 0 + total_human: "~140 GB fp16 / ~40 GB Q4 (estimate)" +hardware_class: + min_vram_gb_q4: 40 + min_vram_gb_fp16: 140 + notes: "T3+ to run well; still valuable reserve for future multi-GPU." +axes: [A, B, C] +priority: high +collection: + approved_by: "" + approved_at: null + downloaded_at: null + downloaded_by: "" + storage_path: "" + brief_refs: + - research/2026-07-24-nas-strategic-collection-plan.md + - docs/decisions/2026-07-24-nas-strategic-reserve.md +reason: "S4 strategic dense — strong ecosystem 70B open instruct; more portable than full MoE for a future lab upgrade." +tags: [tier-s, strategic, dense, instruct, llama] +companions: + - meta-llama__Llama-3.2-3B-Instruct__candidate +notes: "HF gated. If Llama 4 open weights supersede, nominate successor and supersede this entry." +history: + - at: "2026-07-24" + event: nominated + by: operator-policy + detail: "Strategic dense open for NAS capability reserve." + - at: "2026-07-28" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/catalog/nomic-ai__nomic-embed-text-v1.5__candidate.yaml b/inventory/catalog/nomic-ai__nomic-embed-text-v1.5__candidate.yaml index d06399a..71d1f61 100644 --- a/inventory/catalog/nomic-ai__nomic-embed-text-v1.5__candidate.yaml +++ b/inventory/catalog/nomic-ai__nomic-embed-text-v1.5__candidate.yaml @@ -7,6 +7,7 @@ source: url: https://huggingface.co/nomic-ai/nomic-embed-text-v1.5 revision: main model_card_url: https://huggingface.co/nomic-ai/nomic-embed-text-v1.5 + project_url: https://www.nomic.ai/ license: spdx: Apache-2.0 url: https://huggingface.co/nomic-ai/nomic-embed-text-v1.5 @@ -14,6 +15,39 @@ license: allows_local_ops: true allows_fine_tune: true notes: "" +profile: + summary: "Lightweight open text embedder for A/B with BGE-M3 and long-context retrieval experiments." + original_source: https://huggingface.co/nomic-ai/nomic-embed-text-v1.5 + use_cases: + - "Secondary / A/B embedding path vs BGE-M3" + - "English-heavy RAG with low resource cost" + - "Long-context embedding experiments (per card capabilities)" + - "Portable laptop offline search indexes" + sweet_spots: + - "Small footprint Apache embed" + - "Fast iteration when re-embedding corpora often" + - "Nomic tooling and Matryoshka-style dimension flexibility (per card)" + not_ideal_for: + - "Sole multilingual production embed without A/B (prefer BGE-M3 default)" + - "Generation tasks" + - "Code-only retrieval (prefer code embed if held)" + capability_notes: > + Compact Nomic text embedding model. Held as runnable dual-path to avoid + single-vendor embed lock-in and to re-eval retrieval quality cheaply. + Prefer current v2 text card at pull if clearly better. +swot: + strengths: + - "Tiny, Apache-2.0, easy to re-run indexes" + - "Diversifies embed dependency next to BGE-M3" + weaknesses: + - "May lose multilingual or domain A/B vs BGE-M3" + - "Version churn (v1.5 vs v2) needs careful pin" + opportunities: + - "Dimension-reduced storage for large corpora" + - "Hybrid ensembles (BGE + nomic signals)" + threats: + - "Becomes redundant if one embed wins all lab evals" + - "Upstream rename/deprecation of v1.5" size: total_bytes: 0 total_human: "<1 GB" @@ -31,12 +65,17 @@ collection: storage_path: "" brief_refs: - research/2026-07-24-baseline-field-survey.md -reason: "P0 lightweight embed for A/B with BGE-M3; long-context text retrieval." -tags: [embedding, rag] -companions: [] +reason: "P0/R lightweight embed for A/B with BGE-M3; long-context text retrieval." +tags: [tier-r, embedding, rag] +companions: + - BAAI__bge-m3__candidate notes: "If v2 text is preferred at collection time, update id/url and supersede this candidate." history: - at: "2026-07-24" event: nominated by: baseline-survey detail: "P0 recommendation from initial deep research." + - at: "2026-07-24" + event: profile_swot_added + by: grok + detail: "schema 0.2 profile + SWOT." diff --git a/inventory/collection-policy.md b/inventory/collection-policy.md index d380715..635cb35 100644 --- a/inventory/collection-policy.md +++ b/inventory/collection-policy.md @@ -1,48 +1,71 @@ # Collection policy — open-weight reserve -**Status:** foundation -**Related:** `schema.yaml`, `docs/backup-storage-policy.md`, `INTENT.md` +**Status:** updated for 1 TB NAS + strategic capability reserve (2026-07-24) +**Related:** `schema.yaml`, `docs/backup-storage-policy.md`, +`docs/decisions/2026-07-24-nas-strategic-reserve.md`, `INTENT.md` --- ## Purpose Decide **what** enters the open-weight reserve, **who** may approve it, and -**when** a daily-brief candidate becomes a catalog entry with blobs on backup -storage. +**when** a daily-brief candidate becomes a catalog entry with blobs on the NAS. --- ## Goals -* Keep a **small, high-leverage** reserve — not a Hugging Face mirror +* Hold a **capability-first strategic reserve** of the best open weights we may + need later — **including models too large to run on current lab hardware** +* Also hold a **runnable spine** for day-to-day local ops and fine-tunes * Enforce **license and integrity** before download completes -* Match capacity to the backup storage soft quota -* Prefer models that serve axes **B** and **C**, plus strategic **A** open releases +* Stay within the **1 TB NAS soft quota (850 GiB)** — quality over mirror volume +* Prefer official provenance; not a full Hugging Face scrape + +--- + +## Two envelopes (do not conflate) + +| Envelope | Question | Effect on collection | +| -------- | -------- | -------------------- | +| **Run** | Can we infer / FT this *now*? | Tags `hardware_class`, prioritizes R tier for local work | +| **Reserve** | Is this among the best open artifacts worth keeping *just in case*? | **Not gated by current VRAM** | + +**Runnability is not an eligibility gate.** An unrunnable SOTA open MoE can be +priority **high** if license and quota allow. --- ## Eligibility (must pass all) -1. **Open weights** — weights obtainable under terms that allow offline retention for lab use -2. **Clear license** — SPDX or linkable license text; `allows_offline_retention: true` -3. **Stable provenance** — official org, tagged release, or commit revision (not anonymous drive-by reupload as sole source) -4. **Lab rationale** — written `reason` tied to at least one axis A–D (usually B/C) -5. **Capacity** — estimated size fits under remaining soft quota (see backup storage policy) +1. **Open weights** — obtainable under terms that allow offline retention for lab use +2. **Clear license** — SPDX or linkable license text; `allows_offline_retention: true` +3. **Stable provenance** — official org, tagged release, or commit revision +4. **Lab rationale** — written `reason` (capability SOTA, runnable spine, embed, FT base, …) +5. **Capacity** — estimated size fits under remaining soft quota (850 GiB) -Fail any gate → status `rejected` with reason, or never enter catalog. +Fail any gate → `rejected` or never enter catalog. --- -## Priority rubric +## Collection tiers + +| Tier | Code | Meaning | +| ---- | ---- | ------- | +| **Runnable spine** | **R** | Default local chat/code/embed/FT bases; keep resident | +| **Strategic capability** | **S** | Most capable open models (often large); may be T4+ only to *run* | +| **Watch / optional** | **W** | Secondary; collect only with clear headroom | + +Catalog field: use `tags` including `tier-r` / `tier-s` / `tier-w` and +`priority: high|medium|low`. + +### Priority rubric | Priority | Guidance | | -------- | -------- | -| **high** | Rare or strategically important; license/access risk of disappearance; uniquely strong for B/C at our hardware class; hard to re-obtain | -| **medium** | Clear lab use within 1–2 quarters; good quality/cost; easy enough to re-download but worth having cold | -| **low** | Nice to have; only collect if quota headroom is large and pull is cheap | - -Daily brief **collection candidates** should set a suggested priority; approval may change it. +| **high** | Top open capability (S) or essential runnable spine (R); hard to re-obtain; license/access risk | +| **medium** | Strong but not unique; mid-size upgrades; companions (rerankers) | +| **low** | Nice-to-have; W tier | --- @@ -50,16 +73,48 @@ Daily brief **collection candidates** should set a suggested priority; approval | Estimated total size | Approval | | -------------------- | -------- | -| **< 5 GiB** | Operator or lab agent may collect after license check; catalog entry required before or immediately after | -| **5–40 GiB** | Explicit operator approval (chat, workplan task, or signed catalog `approved_by`) | -| **> 40 GiB** | Operator approval **plus** check against soft quota and whether a smaller quant/variant suffices | -| **Any size if quota ≥ 70% used** | Operator approval required regardless of size | -| **Unclear license or ToS risk** | Do not collect; status `rejected` | +| **< 5 GiB** | Operator or lab agent after license check | +| **5–40 GiB** | Explicit operator approval | +| **> 40 GiB** | Operator approval + remaining soft-quota check | +| **> 200 GiB (typical S giants)** | Operator approval + written note on which other S models may need to wait | +| **Any size if quota ≥ 70% used** | Operator approval required | +| **Unclear license or ToS risk** | Do not collect; `rejected` | -“Operator” means the human lab owner (or a documented delegate). Agents may -**nominate** (`status: candidate`) freely from briefs; they may **collect** only -within the < 5 GiB band when licenses are unambiguous — otherwise stop at -`candidate` / `approved`. +Agents may **nominate** freely; they **collect** only in the < 5 GiB band with +unambiguous licenses unless the operator has approved the catalog entry. + +--- + +## What we prefer to collect + +### Runnable spine (R) + +* Small/mid instruct and code models that fit the run envelope +* Strong embedding / rerank models for local RAG +* Bases known to fine-tune well under QLoRA on lab GPUs + +### Strategic capability (S) + +* **Best available open general / reasoning / code weights** at the frontier of open +* Large MoE or dense models even if current infra cannot serve them +* Prefer official compressed releases (FP8, published quant) when full precision + would exhaust the 1 TB NAS +* One clear “best open” per capability niche is better than five near-duplicates + +### Companions + +Tokenizers, LoRA adapters, small eval fixtures when required to use a reserved base. + +--- + +## What we usually skip + +* Duplicate quants of the same revision already reserved +* Anonymous merges/repacks without provenance +* Closed weights +* Entire org mirrors +* Giant pretraining corpora (default out of band unless separately justified) +* Anything whose license forbids offline retention --- @@ -67,68 +122,30 @@ within the < 5 GiB band when licenses are unambiguous — otherwise stop at ```text brief nominates - → candidate (catalog YAML, no blobs required) - → approved (license + size + quota OK) - → collecting (download in staging/) - → collected (blobs complete, checksums recorded, storage_path set) - → verified (optional re-hash / smoke load) - → superseded|evicted (replaced or removed; metadata kept) + → candidate + → approved + → collecting (NAS staging/) + → collected + → verified + → superseded|evicted ``` -Rejected candidates stay in catalog only if useful as a decision record; otherwise omit. - ---- - -## What we prefer to collect - -* Small/mid instruct and code models that fit the hardware envelope -* Strong embedding / rerank models for local RAG -* Base models known to fine-tune well under QLoRA/LoRA on lab GPUs -* Official quant releases when they are the supported distribution -* Adapters and tokenizers that unlock a reserved base (as companions) - -## What we usually skip - -* Duplicate quants of the same revision already reserved -* Huge models with no near-term local run/train path and no access-risk story -* Merges/repacks without provenance -* Datasets larger than model weights unless separately justified (default: out of band) -* Anything requiring acceptance flows we cannot satisfy offline - ---- - -## Companions - -Tokenizers, LoRA adapters, and small eval fixtures may be collected when: - -* they are required to use a reserved base, or -* they are small (< 1 GiB) and high leverage - -Link via `companions` in the catalog schema. - --- ## Brief integration -1. Brief section **Collection candidates** nominates items. -2. Operator/agent opens `inventory/catalog/{id}.yaml` with `status: candidate`. -3. Approval and download follow this policy and `docs/backup-storage-policy.md`. -4. Brief `brief_refs` on the entry point back to the nominating day(s). +1. Brief **Collection candidates** nominates R/S/W. +2. Catalog YAML under `inventory/catalog/`. +3. Download only after storage path is pinned (`docs/backup-storage-policy.md`) and approval rules pass. +4. `collection.brief_refs` / research refs for provenance of the nomination. --- ## Eviction rule of thumb -When over quota or cleaning: +When over soft quota: -1. `low` priority, easily re-obtainable from still-live official URLs -2. Superseded revisions with a newer `verified` replacement -3. Never silent-delete: set `status: evicted`, clear or note `storage_path`, append `history` - ---- - -## Non-goals - -* Automatic bulk mirrors of entire orgs -* Collecting on every brief mention without priority -* Bypassing license gates for “research only” convenience +1. **W** tier and easily re-obtainable duplicates +2. Superseded revisions with a stronger verified successor +3. Never silent-delete **S** SOTA or sole **R** spine without operator note +4. Always set `status: evicted` and append `history` diff --git a/inventory/schema.yaml b/inventory/schema.yaml index 569b5bd..4e6b49f 100644 --- a/inventory/schema.yaml +++ b/inventory/schema.yaml @@ -3,7 +3,7 @@ # Filename suggestion: {org}__{name}__{short_revision}.yaml # # Schema version documents field meaning for humans and future validators. -schema_version: "0.1.0" +schema_version: "0.2.0" # --------------------------------------------------------------------------- # Example entry (illustrative only — not a real collection claim) @@ -15,60 +15,56 @@ schema_version: "0.1.0" # source: # kind: huggingface # huggingface | github_release | direct_url | other # url: https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct -# revision: abc1234def... # commit sha, tag, or release id +# revision: abc1234def... # model_card_url: https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct -# license: -# spdx: llama3.2 # or MIT, Apache-2.0, etc.; use "custom" + notes if needed -# url: https://... -# allows_offline_retention: true -# allows_local_ops: true -# allows_fine_tune: true -# notes: "" -# artifacts: -# - path: blobs/model.safetensors -# sha256: "..." -# bytes: 0 -# size: -# total_bytes: 0 -# total_human: "0 B" -# hardware_class: -# # Rough lab guidance — not a guarantee -# min_vram_gb_q4: 4 -# min_vram_gb_fp16: 8 -# notes: "fits consumer 8GB at Q4" -# axes: # why this matters to the lab -# - B -# - C -# priority: medium # low | medium | high -# collection: -# approved_by: "" -# approved_at: null # ISO-8601 date -# downloaded_at: null -# downloaded_by: "" -# storage_path: "" # absolute or facility-relative path on backup storage -# brief_refs: # briefs that nominated this candidate -# - briefs/2026/07/2026-07-23.md -# reason: "Strong small instruct base; clear license; homelab-fit." -# tags: -# - instruct -# - text -# companions: [] # optional related catalog ids (adapters, tokenizers) +# project_url: https://www.llama.com/ # optional: org project / paper home +# paper_url: https://arxiv.org/... # optional +# license: { ... } +# profile: +# summary: "One-line what this model is for." +# original_source: "https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct" +# use_cases: +# - "Always-on local assistant on small VRAM" +# - "Edge classification and simple tool routing" +# sweet_spots: +# - "Latency-sensitive chat under 3–8 GB VRAM" +# - "Teaching / prototyping agent loops cheaply" +# not_ideal_for: +# - "Hard multi-file software engineering" +# - "Long-horizon reasoning" +# capability_notes: > +# Compact instruct model; strong ecosystem tooling; limited depth vs mid-size. +# swot: +# strengths: +# - "Tiny footprint; huge Llama tooling ecosystem" +# weaknesses: +# - "Shallow reasoning and coding vs 8B–70B class" +# opportunities: +# - "Domain LoRA for NetKingdom micro-agents" +# threats: +# - "Superseded quickly by next small open release" +# size: { ... } +# hardware_class: { ... } +# axes: [B] +# priority: high +# collection: { ... } +# reason: "..." +# tags: [tier-r, instruct] +# companions: [] # notes: "" -# history: -# - at: "2026-07-23" -# event: nominated -# by: operator -# detail: "From daily brief collection candidates." +# history: [] # --------------------------------------------------------------------------- -# Required fields by status (normative for humans; tooling may enforce later) +# Required fields by status # --------------------------------------------------------------------------- -# candidate: id, status, name, org, source.url, source.revision, license, reason, priority +# candidate: id, status, name, org, source.url, source.revision, license, +# reason, priority, profile (summary + original_source + use_cases + +# sweet_spots), swot (all four lists, compact) # approved: + collection.approved_by, collection.approved_at -# collected: + collection.downloaded_at, collection.storage_path, size, artifacts[].sha256 -# verified: + checksums re-read OK (notes or history event) -# rejected: + reason (why rejected) -# superseded / evicted: + history event; storage_path may be empty after eviction +# collected: + collection.downloaded_at, collection.storage_path, size, artifacts +# verified: + checksums re-read OK +# rejected: + reason +# superseded / evicted: + history event field_reference: id: @@ -83,10 +79,24 @@ field_reference: type: string source: type: object - fields: [kind, url, revision, model_card_url] + fields: [kind, url, revision, model_card_url, project_url, paper_url] license: type: object fields: [spdx, url, allows_offline_retention, allows_local_ops, allows_fine_tune, notes] + profile: + type: object + description: Human-facing capability card for operators choosing models + fields: + summary: One-line positioning + original_source: Canonical URL (usually HF model card or org release page) + use_cases: List of typical lab / product uses + sweet_spots: Where the model punches above weight or is the default pick + not_ideal_for: Explicit anti-patterns + capability_notes: Short free-text capability narrative + swot: + type: object + description: Compact SWOT for reserve / ops decisions (2–4 bullets each) + fields: [strengths, weaknesses, opportunities, threats] artifacts: type: list item_fields: [path, sha256, bytes] diff --git a/research/2026-07-24-baseline-field-survey.md b/research/2026-07-24-baseline-field-survey.md index 3e522c6..e3d9c8e 100644 --- a/research/2026-07-24-baseline-field-survey.md +++ b/research/2026-07-24-baseline-field-survey.md @@ -216,12 +216,19 @@ Freedom Intelligence **reports** on harness tech; it does not replace sand-boxer | 10 | Code embed: `nomic-ai/nomic-embed-code` or Jina code embed | Code RAG for repos | | 11 | Small reranker: `BAAI/bge-reranker-v2-m3` | Cheap quality win for RAG | -### 6.4 P2 — watch / large (candidate or docs only) +### 6.4 Strategic large (updated 2026-07-24) + +**Superseded by operator decision:** 1 TB local NAS + capability-first reserve. +Full DeepSeek-V3/R1-class and 70B dense opens **are in scope** even if unrunnable +on current GPUs. See: + +- `docs/decisions/2026-07-24-nas-strategic-reserve.md` +- `research/2026-07-24-nas-strategic-collection-plan.md` | Item | Guidance | | ---- | -------- | -| Full **DeepSeek-V3 / R1** MoE (~600B+ class, hundreds of GB even quantized) | **Do not auto-collect.** Separate capacity + multi-GPU decision | -| **Llama 70B / Qwen 72B** class | Only if lab gains multi-GPU and clear offline need | +| Full **DeepSeek-V3 / R1** class | **Strategic (S)** — collect under 850 GiB soft quota; prefer official compressed if needed | +| **Llama 70B / Qwen 72B** class | **Strategic (S)** dense — good second fill after one primary MoE | | Every new quant repack on HF | Skip; track base official only | ### 6.5 Explicit non-recommendations (for now) diff --git a/research/2026-07-24-nas-strategic-collection-plan.md b/research/2026-07-24-nas-strategic-collection-plan.md new file mode 100644 index 0000000..b89c8b5 --- /dev/null +++ b/research/2026-07-24-nas-strategic-collection-plan.md @@ -0,0 +1,94 @@ +# NAS strategic collection plan (1 TB) + +**Date:** 2026-07-24 +**Decision:** `docs/decisions/2026-07-24-nas-strategic-reserve.md` +**Soft quota:** 850 GiB on 1 TB local NAS + +--- + +## Intent + +Capture the **most capable open-weight models** for long-term optionality, **even +if they cannot run on current lab GPUs**, plus keep a **runnable spine** for +daily local use. + +--- + +## Tier R — runnable spine (keep resident) + +| Model | Est. (Q4 / fp16) | Role | +| ----- | ---------------- | ---- | +| Qwen3-8B | ~5 / ~16 GiB | Default instruct + FT | +| Llama-3.2-3B-Instruct | ~2 / ~6 GiB | Edge | +| BGE-M3 | ~2 GiB | Multilingual embed | +| DeepSeek-R1-Distill-Qwen-14B | ~9 / ~28 GiB | Local reason | +| nomic-embed-text-v1.5 | <1 GiB | Light embed | +| **Subtotal (quant-first)** | **~20–30 GiB** | | +| **Subtotal (fp16-ish)** | **~50–55 GiB** | | + +--- + +## Tier S — strategic capability (best open, may be unrunnable) + +Prioritize **one primary artifact per capability niche** so 1 TB is not wasted +on near-duplicates. Prefer official compressed weights when full precision is +hundreds of GiB–TB. + +| Priority | Capability niche | Representative targets (verify current HF id + license at pull) | Size class (order of magnitude) | +| -------- | ---------------- | ---------------------------------------------------------------- | -------------------------------- | +| **S1** | Best open general / MoE chat | DeepSeek-V3 / V3.2 / V4-class open MoE (latest card) | ~300–700+ GiB depending on quant/precision | +| **S2** | Best open reasoner | DeepSeek-R1 full (or successor open reasoner) | similar large | +| **S3** | Best open coding / SWE open weight | Top open code MoE or dense (e.g. GLM-5.x open, Qwen coder large — pick current SOTA open) | tens–hundreds GiB | +| **S4** | Strong open dense mid-large | Qwen3-72B or Llama 3.3 70B / Llama 4 open text variant | ~40–150 GiB quant / larger fp | +| **S5** | Efficient open frontier family | Gemma 4 large open variants | tens of GiB | + +**1 TB portfolio rule of thumb** + +```text +R spine (~30–55 GiB) ++ S1 one primary giant quant (~300–450 GiB) ← first strategic fill ++ optional S4 dense 70B (~40–80 GiB Q4) ++ embeds already in R ++ staging headroom +≈ 400–600 GiB typical first strategic fill +``` + +If a single full-precision S1 would exceed soft quota alone, **take the best +official compressed release** of that model and record the base id as the +capability identity. + +**Do not** try to store S1 + S2 + S3 all at full precision on this NAS. + +--- + +## Tier W — optional (quota permitting) + +* Qwen3-14B, R1-Distill-32B, BGE reranker (already catalog medium) +* Extra quants of models already held in another format +* Code-specific embeds + +--- + +## Explicitly out + +* Closed API-only weights +* Full HF org mirrors +* Multiple anonymous “uncensored” reuploads of the same base + +--- + +## Download order (recommended) + +1. Pin mount path in backup-storage-policy (done 2026-07-28: `D:\vault\coulomb\freedom-intelligence\`) +2. **R spine** (fast wins, unblocks local work) +3. **S1** — single best open general MoE (compressed if needed) +4. Reassess free space +5. **S4** or **S2** next depending on which niche matters more for Coulomb +6. W-tier only with ≥200 GiB free under soft quota + +--- + +## Catalog + +R and selected S/W candidates live under `inventory/catalog/`. Strategic S +entries use tags `tier-s`, `strategic`, `beyond-run-envelope`. diff --git a/workplans/FI-WP-0001-lab-operating-foundation.md b/workplans/FI-WP-0001-lab-operating-foundation.md index 2427951..db55fdd 100644 --- a/workplans/FI-WP-0001-lab-operating-foundation.md +++ b/workplans/FI-WP-0001-lab-operating-foundation.md @@ -2,14 +2,15 @@ id: FI-WP-0001 type: workplan title: "Lab operating foundation: sources, playbook, storage pin, hardware envelope" -domain: infotech +domain: agents repo: freedom-intelligence -status: active +status: done owner: grok topic_slug: freedom-intelligence priority: high created: "2026-07-24" -updated: "2026-07-24" +updated: "2026-07-28" +state_hub_workstream_id: "0181d782-fdac-4366-9fc7-d42dac97756b" --- # FI-WP-0001 — Lab operating foundation @@ -42,6 +43,7 @@ and seeds collection candidates under `inventory/catalog/`. id: FI-WP-0001-T01 status: done priority: high +state_hub_task_id: "e4748af3-f70f-4650-afe0-3b55def41d1c" ``` Create `docs/sources-allowlist.md` with standing channels for axes A–D: @@ -62,6 +64,7 @@ Create `docs/sources-allowlist.md` with standing channels for axes A–D: id: FI-WP-0001-T02 status: done priority: high +state_hub_task_id: "781b6cac-fece-4139-9ee5-c08a00ee1267" ``` Write `docs/daily-brief-playbook.md`: @@ -83,6 +86,7 @@ Write `docs/daily-brief-playbook.md`: id: FI-WP-0001-T03 status: done priority: medium +state_hub_task_id: "359b58d1-2692-420c-8f28-324b3a5ceb3d" ``` Write `docs/hardware-envelope.md` with **honest TBD** for unmeasured hosts, plus @@ -99,8 +103,9 @@ without schema changes. ```task id: FI-WP-0001-T04 -status: todo +status: done priority: high +state_hub_task_id: "a0f6beb6-3273-4957-b9f6-c33b4ba7967f" ``` Operator task: fill TBD fields in `docs/backup-storage-policy.md`: @@ -115,6 +120,19 @@ Create empty `models/` and `staging/` on that facility. **Done when:** policy has no critical TBD for path/quota; `FI-WP-0003` may download. +**Completed 2026-07-28:** + +| Field | Value | +| ----- | ----- | +| Facility | Workstation VAULT HD (`D:`) | +| Base path | `D:\vault\coulomb\freedom-intelligence\` | +| WSL path | `/mnt/d/vault/coulomb/freedom-intelligence/` (when D: automounted) | +| Soft / hard | **850 GiB** / **920 GiB** | +| Layout | `models/`, `staging/`, `companions/` created | + +Strategic unrunnable models remain in scope +(`docs/decisions/2026-07-24-nas-strategic-reserve.md`). + --- ### T05 — Link baseline research into lab navigation @@ -123,6 +141,7 @@ Create empty `models/` and `staging/` on that facility. id: FI-WP-0001-T05 status: done priority: medium +state_hub_task_id: "ac382e31-5401-425a-bb7b-cf1ff969a937" ``` - Point `README.md` / `SCOPE.md` at `research/2026-07-24-baseline-field-survey.md` @@ -136,9 +155,10 @@ priority: medium ## Acceptance (workplan-level) - [x] Sources allowlist + daily playbook + hardware envelope drafted -- [ ] Backup storage path and soft quota pinned (T04 — operator) +- [x] Backup storage: path + quota pinned under `D:\vault\coulomb\freedom-intelligence\` (T04) - [x] Baseline research persisted and linked - [x] Catalog candidates seeded for recommended models +- [x] Strategic reserve policy (capability beyond run envelope) documented ## Out of scope diff --git a/workplans/FI-WP-0002-activity-core-daily-research.md b/workplans/FI-WP-0002-activity-core-daily-research.md index 0c53653..89c0b13 100644 --- a/workplans/FI-WP-0002-activity-core-daily-research.md +++ b/workplans/FI-WP-0002-activity-core-daily-research.md @@ -2,7 +2,7 @@ id: FI-WP-0002 type: workplan title: "Activity-core daily research brief rhythm" -domain: infotech +domain: agents repo: freedom-intelligence status: active owner: grok @@ -12,6 +12,7 @@ created: "2026-07-24" updated: "2026-07-24" depends_on: - FI-WP-0001 +state_hub_workstream_id: "aa5b118e-36e2-41a7-b6c1-5d9ac9c7fb41" --- # FI-WP-0002 — Activity-core daily research brief rhythm @@ -68,6 +69,7 @@ Weekends optional later (`0 9 * * 6` optional Saturday scan) — not in v1. id: FI-WP-0002-T01 status: done priority: high +state_hub_task_id: "4eb44be8-04b7-45c9-9e78-e573a3501524" ``` Add `activity-definitions/fi-daily-research-brief.md`: @@ -90,6 +92,7 @@ existing definitions (binky / forgejo prune). id: FI-WP-0002-T02 status: done priority: high +state_hub_task_id: "ce61769e-9c32-4757-a691-c443e6cec37d" ``` Document and implement playbook steps for: @@ -117,6 +120,7 @@ Wire into `docs/daily-brief-playbook.md` and `docs/state-hub-delivery.md`. id: FI-WP-0002-T03 status: done priority: high +state_hub_task_id: "37a5d67c-93b4-4cbd-996c-e87b9308e295" ``` **Cross-repo (activity-core):** implement state-hub (or shell) resolver: @@ -141,6 +145,7 @@ Mirror `binky_rhythm_status` pattern. Add unit tests with mocked hub. id: FI-WP-0002-T04 status: todo priority: high +state_hub_task_id: "ecb8df0a-4f5d-494e-9217-2906afbacf9c" ``` **Cross-repo / ops:** ensure railiance activity-core worker loads this repo’s @@ -158,6 +163,7 @@ path). Run `make sync-activity-definitions` / schedule reconciliation. id: FI-WP-0002-T05 status: todo priority: medium +state_hub_task_id: "4d7a7491-f458-4984-bda1-8d212046dbc6" ``` 1. Manual `POST .../activity-definitions//trigger` with def still disabled @@ -177,6 +183,7 @@ priority: medium id: FI-WP-0002-T06 status: done priority: medium +state_hub_task_id: "2df977ea-06b4-468d-b6fb-6b40e00f8928" ``` Document how harness/operator picks up `target_repo: freedom-intelligence` diff --git a/workplans/FI-WP-0003-seed-open-weight-reserve.md b/workplans/FI-WP-0003-seed-open-weight-reserve.md index 1d64332..7fbd0c1 100644 --- a/workplans/FI-WP-0003-seed-open-weight-reserve.md +++ b/workplans/FI-WP-0003-seed-open-weight-reserve.md @@ -2,40 +2,49 @@ id: FI-WP-0003 type: workplan title: "Seed open-weight reserve from baseline recommendations" -domain: infotech +domain: agents repo: freedom-intelligence status: active owner: grok topic_slug: freedom-intelligence priority: medium created: "2026-07-24" -updated: "2026-07-24" +updated: "2026-07-28" depends_on: - FI-WP-0001 +state_hub_workstream_id: "7513a853-24bf-4826-9ed9-3e8ed8ab0fa5" --- # FI-WP-0003 — Seed open-weight reserve from baseline recommendations ## Goal -Turn baseline survey recommendations into a **real, policy-compliant reserve**: -approve high-priority catalog candidates, download to pinned backup storage, -verify checksums, and leave medium/low items as candidates for later briefs. +Turn baseline + **strategic reserve policy** into a **real, policy-compliant reserve**: +approve high-priority catalog candidates, download to the **pinned bulk store**, +verify checksums, and leave lower-priority items as candidates for later briefs. + +**Policy (2026-07-24 / path 2026-07-28):** include the **most capable open-weight +models** even when they exceed current run hardware. Soft quota **850 GiB**. + +**Storage pin:** `D:\vault\coulomb\freedom-intelligence\` (Windows) / +`/mnt/d/vault/coulomb/freedom-intelligence/` (WSL when D: mounted). Source of truth for *which* models: -- `research/2026-07-24-baseline-field-survey.md` § Collection recommendations -- `inventory/catalog/*.yaml` (seeded as `candidate`) +- `research/2026-07-24-baseline-field-survey.md` +- `research/2026-07-24-nas-strategic-collection-plan.md` +- `docs/decisions/2026-07-24-nas-strategic-reserve.md` +- `inventory/catalog/*.yaml` -Gates: `inventory/collection-policy.md` + `docs/backup-storage-policy.md` (T04 of FI-WP-0001). +Gates: `inventory/collection-policy.md` + `docs/backup-storage-policy.md`. -## Priority tiers (from survey) +## Priority tiers | Tier | Action in this workplan | | ---- | ----------------------- | -| **P0 — seed now** | Approve + collect after storage pin (small/mid, high leverage) | -| **P1 — next wave** | Approve when quota allows; may stay candidate | -| **P2 — watch / large** | Keep candidate; do not bulk-pull full 600B+ MoE without explicit operator decision | +| **R — runnable spine** | Approve + collect first (former P0) | +| **S — strategic capability** | Approve + collect top open giants (V3/R1 class, 70B dense, …) under quota; compressed OK | +| **W — watch** | Optional after R+S; may stay candidate | ## Tasks @@ -45,6 +54,7 @@ Gates: `inventory/collection-policy.md` + `docs/backup-storage-policy.md` (T04 o id: FI-WP-0003-T01 status: done priority: high +state_hub_task_id: "5d2a493b-a189-4eae-8a40-18ce8e0ab17d" ``` Create `status: candidate` entries under `inventory/catalog/` for every P0/P1 @@ -54,55 +64,60 @@ recommendation in the baseline survey (and note P2 as candidates or docs-only). --- -### T02 — Operator approve P0 set +### T02 — Operator approve R spine + S priority order ```task id: FI-WP-0003-T02 status: todo priority: high +state_hub_task_id: "909263c7-7148-45fa-98bc-5d2bafacf507" ``` -Human review of P0 candidates: license, size vs soft quota, hardware fit. +Human review: license, size vs **850 GiB** soft quota, download order from +`research/2026-07-24-nas-strategic-collection-plan.md` (R first, then S1, …). Set `status: approved`, `collection.approved_by`, `collection.approved_at`. -**Done when:** each P0 entry is `approved` or `rejected` with reason. +**Done when:** each R and chosen S entry is `approved` or `rejected` with reason. --- -### T03 — Download P0 to backup storage + verify +### T03 — Download R spine + strategic S to NAS + verify ```task id: FI-WP-0003-T03 status: todo priority: high +state_hub_task_id: "222969d0-f3af-46fb-a303-f76800c80ff9" ``` -For each approved P0: +For each approved model: -1. Download into `{BACKUP}/freedom-intelligence/models/...` (or `staging/` then promote) -2. Record `artifacts[].sha256`, `size`, `collection.storage_path` -3. Set `status: collected` then `verified` after re-hash or smoke load +1. Download into `D:\vault\coulomb\freedom-intelligence\models\...` (or `staging/` then promote) +2. For S giants: prefer official compressed if full precision exceeds headroom +3. Record `artifacts[].sha256`, `size`, `collection.storage_path` +4. Set `status: collected` then `verified` after re-hash (smoke load optional for unrunnable S) Prefer official HF revisions; use `huggingface-cli` or equivalent with revision pin. -**Blocked on:** FI-WP-0001-T04 (storage pin). +**Unblocked:** FI-WP-0001-T04 storage pin complete (2026-07-28). Ensure WSL can +see `/mnt/d` before Linux-side pulls. -**Done when:** all approved P0 are `verified` or explicitly deferred with notes. +**Done when:** approved R (+ first S as space allows) are `verified` or deferred with notes. --- -### T04 — P1 decision pass +### T04 — W-tier and remaining S decision pass ```task id: FI-WP-0003-T04 status: todo priority: medium +state_hub_task_id: "33daa2cf-f9fd-430d-a4e4-58996c900ca6" ``` -After P0, decide which P1 models fit remaining quota. Approve/collect subset or -leave as candidates for daily briefs to re-prioritize. +After R + primary S fills, decide remaining S/W under free soft-quota capacity. -**Done when:** each P1 has an explicit next status (`approved`, `candidate`, `rejected`). +**Done when:** each remaining catalog entry has an explicit next status. --- @@ -112,6 +127,7 @@ leave as candidates for daily briefs to re-prioritize. id: FI-WP-0003-T05 status: todo priority: low +state_hub_task_id: "9974b98a-e1b3-4b7a-b2c2-0fd2cba65f97" ``` Write `inventory/RESERVE-STATUS.md` summarizing collected vs candidate totals, @@ -123,9 +139,10 @@ bytes used vs soft quota, and hardware coverage gaps. ## Acceptance (workplan-level) -- [x] Catalog seeded from baseline survey -- [ ] Storage pin complete (upstream) -- [ ] P0 verified on backup media +- [x] Catalog seeded from baseline survey (+ profile/SWOT on all entries) +- [x] Storage pin complete (upstream FI-WP-0001-T04) +- [ ] Operator approve R + S priority (T02) +- [ ] P0/R verified on backup media (T03) - [ ] RESERVE-STATUS snapshot after first collections ## Out of scope