docs(archive): correct ARCHIVED.md after platform.0 rebuild + history rewrite
platform.0 is now 337 MB (was 4.5 GB) — venv excluded. Records the history rewrite, the explicit-LFS-push requirement, and drops the stale HTTP-413 / dead-SHA references. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
340f71519a
commit
d112795478
1 changed files with 25 additions and 13 deletions
|
|
@ -1,28 +1,30 @@
|
|||
# Archive — Lineage & Mining Map
|
||||
|
||||
This repo IS the monolith workspace for the platform lineage. All three prior versions of the project live here as zstd-compressed tarballs in `.archive/`, tracked through Git LFS. The whole point of `@cocottetech` is to be the canonical home — having v0/v1/v2 co-located is by design.
|
||||
This repo IS the monolith workspace for the platform lineage. All four prior versions of the project live here as zstd-compressed tarballs in `.archive/`, tracked through Git LFS. The whole point of `@cocottetech` is to be the canonical home — having v0/v1/v2/v3 co-located is by design.
|
||||
|
||||
## Layout
|
||||
|
||||
```
|
||||
.archive/
|
||||
├── ARCHIVED.md ← this file
|
||||
├── platform.0.tar.zst ← egirl-platform (viky-era, ~12-18 months ago)
|
||||
├── platform.1.tar.zst ← lilith-platform (V1, 54-feature SaaS, never shipped)
|
||||
└── platform.2.tar.zst ← lilith-platform.live (V2, Quinn-personal, currently in prod)
|
||||
├── platform.0.tar.zst ← egirl-platform (V0, viky-era, ~12-18 months ago) — rebuilt 2026-05-22, 337M
|
||||
├── platform.1.tar.zst ← lilith-platform (V1, 54-feature SaaS, never shipped) — built 2026-05-19, 559M
|
||||
├── platform.2.tar.zst ← lilith-platform.live (V2, Quinn-personal, currently in prod) — built 2026-05-19, 404M
|
||||
└── platform.3.tar.zst ← @atlilith (V3, brief intermediate workspace, skipped — preserved for completeness) — built 2026-05-19, 429K
|
||||
```
|
||||
|
||||
## Quick commands
|
||||
|
||||
```bash
|
||||
# Build/refresh archives (run on apricot)
|
||||
./scripts/cache-v0.sh # v0 from NFS source → .archive/platform.0.tar.zst (~5 min, ~5G)
|
||||
./scripts/build-archives.sh # v1 + v2 from local source → .archive/platform.{1,2}.tar.zst
|
||||
@platform/scripts/cache-v0.sh # v0 from NFS source → .archive/platform.0.tar.zst (~2 min, ~340M)
|
||||
@platform/scripts/build-archives.sh # v1+v2+v3 from local source → .archive/platform.{1,2,3}.tar.zst
|
||||
|
||||
# Mine code from a version (extracts to /tmp; the repo's working tree stays clean)
|
||||
./scripts/extract-archive.sh platform.0
|
||||
./scripts/extract-archive.sh platform.1
|
||||
./scripts/extract-archive.sh platform.2
|
||||
@platform/scripts/extract-archive.sh platform.0
|
||||
@platform/scripts/extract-archive.sh platform.1
|
||||
@platform/scripts/extract-archive.sh platform.2
|
||||
@platform/scripts/extract-archive.sh platform.3
|
||||
# → /tmp/cocottetech-archive/<version>/
|
||||
|
||||
# Cleanup after mining
|
||||
|
|
@ -32,9 +34,9 @@ rm -rf /tmp/cocottetech-archive/platform.1
|
|||
## Why tarballs + LFS
|
||||
|
||||
- **Single source of truth**: prior versions live in *one* canonical place (this repo) rather than scattered across apricot/plum/black filesystems.
|
||||
- **No working-tree pollution**: `ls .archive/` always shows just three tarballs + this README. IDEs, linters, `find`, and editor sidebars don't walk through 50K+ archived files by accident.
|
||||
- **No working-tree pollution**: `ls .archive/` always shows just four tarballs + this README. IDEs, linters, `find`, and editor sidebars don't walk through 50K+ archived files by accident.
|
||||
- **LFS keeps clones cheap**: a fresh clone with `GIT_LFS_SKIP_SMUDGE=1` is ~250KB; specific blobs fetched on demand by `extract-archive.sh`.
|
||||
- **Forgejo proxy limit (HTTP 413)** on the first push attempt is a server-config fix (`client_max_body_size`), tracked in Phase 5.7 — not a reason to architect differently.
|
||||
- **LFS objects must be pushed explicitly**: `git push` sends commits + pointers, but the actual blobs reach forge only via `git lfs push --all origin main`. Forge's nginx allows 10 GB bodies, so object size is not the constraint — a forgotten `lfs push` is. After any archive change, verify with a throwaway `git clone` + `git lfs fsck`.
|
||||
|
||||
## Mining map — what to pull, from where
|
||||
|
||||
|
|
@ -93,7 +95,7 @@ v0/v1 work that didn't pan out: `dating-autopilot, bio-scraper, linky/link-tree`
|
|||
4. Re-implement in `@platform/codebase/@features/<new-name>/` adapted to:
|
||||
- Person-first / Org-as-overlay tenancy (`user_id` or optional `org_id`)
|
||||
- Provider-generic naming (no `quinn-*`)
|
||||
- Current toolchain (Bun + Hono, not NestJS; React+Vite stays)
|
||||
- Current V4 toolchain (Bun + NestJS backends, React web FEs, Swift/SwiftUI iOS, `@lilith` lix tooling — **not** v0/v1 Turbo+pnpm and **not** the v2 Bun+Hono pattern)
|
||||
- For ML-touching features: call into `@applications/@{ai,ml,imajin}/` peers, never re-vendor ML weights
|
||||
5. Schema migrations land in `@platform/infrastructure/sql/migrations/`
|
||||
6. Clean up: `rm -rf /tmp/cocottetech-archive/<version>`
|
||||
|
|
@ -103,6 +105,7 @@ v0/v1 work that didn't pan out: `dating-autopilot, bio-scraper, linky/link-tree`
|
|||
The build scripts (`cache-v0.sh`, `build-archives.sh`) skip:
|
||||
- VCS / build: `.git/`, `.turbo/`, `dist/`, `build/`, `.next/`, `.gitlab-ci-local/`
|
||||
- Package manager: `node_modules/`, `.pnpm-store/`, `.cache/`
|
||||
- Python: virtualenvs (`venv/`, `.venv/`), `__pycache__/`, `*.pyc`, `.pytest_cache/`, `.mypy_cache/`, `.ruff_cache/`, `*.egg-info/` — reinstallable, never mined
|
||||
- ML model dirs: `ml-service/`, `models/`, `checkpoints/`, `weights/`, `captcha-solver/`
|
||||
- ML files (anywhere): `*.gguf`, `*.safetensors`, `*.bin`, `*.ckpt`, `*.pth`, `*.pt`, `*.onnx`, `*.h5`
|
||||
- Large media: `*.mp4`, `*.mov`, `*.webm`, `*.zip`, `*.tar.gz`
|
||||
|
|
@ -111,6 +114,15 @@ If you need a specific model weight, fetch it from its training pipeline source
|
|||
|
||||
## Per-version notes
|
||||
|
||||
- **platform.0** (egirl-platform): Turbo + pnpm. Source is on `/mnt/bigdisk` (NFS) so `cache-v0.sh` builds a local zstd cache before tarballing into `.archive/`. 27 `@apps/`, 23 `@services/`, 14 `@packages/`. Has `business/`, `product/`, `data/`, `research/`, `stories/` org dirs.
|
||||
- **platform.0** (egirl-platform): Turbo + pnpm. Source is on `/mnt/bigdisk` (NFS) so `cache-v0.sh` builds a local zstd cache before tarballing into `.archive/`. 27 `@apps/`, 23 `@services/`, 14 `@packages/`. Has `business/`, `product/`, `data/`, `research/`, `stories/` org dirs. The archived source is ~427 MB uncompressed once the `ml-moderation-python/venv` is excluded (see below).
|
||||
- **platform.1** (lilith-platform): Turbo + pnpm. Features at `codebase/features/`. Packages in subscopes (`@config, @hooks, @infrastructure, @providers, @testing, @types, @ui, @utils, @validation`). Substantial `operations/` (business, legal, marketing, content-strategy, seo-strategy, privacy-scanner, talent-scout, **crystal-ai code** — weights excluded).
|
||||
- **platform.2** (lilith-platform.live): Bun + pnpm workspaces. Features at `codebase/@features/`. Closest to V3's intended toolchain. Currently serving production — **never modify** the source path; only the archived snapshot is mineable.
|
||||
|
||||
## Archive status
|
||||
|
||||
### ✅ All four tarballs built, on forge LFS, cloneable
|
||||
|
||||
`platform.0`–`platform.3` are built and their LFS objects are present on forge — verified 2026-05-22 by a throwaway `git clone` (`git lfs fsck OK`; all four extract cleanly to `/tmp/cocottetech-archive/<version>/`).
|
||||
|
||||
- **platform.0 was rebuilt 2026-05-22.** A stray Python virtualenv (`@services/ml-moderation-python/venv`, 9.58 GB — 95.9% of the archive) was excluded, taking the tarball from 4.5 GB to 337 MB. `main` history was rewritten with `git filter-repo` to drop the obsolete 4.5 GB LFS object and a stray raw build artifact, then force-pushed.
|
||||
- **LFS objects were uploaded explicitly** with `git lfs push --all origin main`. Pushing commits alone had left forge's LFS store empty for this repo — the failure mode the "Why tarballs + LFS" note above now warns about.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue