Files
waggle-os/docs/ux-refactor/oss-sync-finding-2026-06-12.md
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

4.5 KiB

OSS Sync — Drift Analysis & Finding (2026-06-12)

Triggered by "close the OSS re-split" after P5/D4 + #15 changed packages/hive-mind-core/src/mind/{schema.ts,db.ts} (the OSS-mirrored substrate). Conclusion: NO forward-port needed — the OSS mirror is current for everything it actually carries. This doc records the analysis so the obligation is provably closed and the next session doesn't re-flag a phantom gap.

What was checked

OSS mirror clone: /d/Projects/hive-mind (remote github.com/marolinik/hive-mind), on the maintainer branch feature/mono-parity-2026-06-12, top commit 23e15ff "feat(core): mono-parity 2026-06-12 — forward-port of the waggle-os substrate arc" committed 02:59 today.

scripts/oss-drift-check.sh flagged ~50 DIFFERS + 1 ONLY-IN-OSS + 5 ONLY-IN-MONO. Each was run down:

Drift item Reality
ONLY-IN-OSS mind/llm-extractor.ts Already reverse-ported to the monorepo as harvest/extract-kg-entities.ts (its header says so, "oss-drift triage D2, 2026-06-11"). The OSS keeps its standalone-executor original by curation. Not a gap.
ONLY-IN-MONO evolution-runs/execution-traces/improvement-signals.ts Waggle-proprietary (barrel-exported in mono, consumed only by @waggle/core). The 02:59 sync correctly stripped them from OSS. Intentional exclusion.
ONLY-IN-MONO extract-kg-entities.ts, multi-mind.ts OSS keeps llm-extractor.ts instead; multi-mind is a Waggle orchestration concern. Curation.
~50 DIFFERS (mind/, harvest/) OSS-adaptation noise — packages/core vs packages/hive-mind-core layout, import-path rewrites, logger swaps. Not source drift.

The substrate changes this session — why none need porting

This session's only hive-mind-core substrate edits were:

  • P5/D4 658884f'uninstalled' in the install_audit action CHECK + its rebuild migration.
  • #15 6fc8500 — the install_audit trust_source CHECK + its rebuild migration.

Both are entirely within the install_audit subsystem, which the OSS substrate does not carry:

  • OSS schema.ts has no CREATE TABLE install_audit — only a vestigial comment line.
  • OSS db.ts has zero install_audit references — the rebuild migration is absent.

install_audit is the capability-install trust trail (EU AI Act compliance / marketplace governance) — Waggle-proprietary, same class as evolution-runs/execution-traces. Its InstallAuditStore lives in @waggle/core, not the substrate. The 02:59 sync curated the table + migration out. So the P5/#15 deltas have nowhere to land on the OSS mirror.

c33da1e (content_hash boot fix) — also not needed

The mono boot-crash was: SCHEMA_SQL (with an inline idx_frames_content_hash) ran before runMigrations added the column. The OSS db.ts is structured differently — its runMigrations does ensureColumn('content_hash') before applySql(SCHEMA_SQL) (db.ts:215→220), and the fresh path creates the column in the CREATE TABLE. So the OSS already avoids the crash in both paths. Not a gap.

Net

The OSS mirror is in sync as of its 02:59 forward-port. The "OSS re-split obligation" flagged in prior handoffs was based on the assumption that any schema.ts/db.ts change needs mirroring — but this session's specific changes are all in the OSS-excluded install_audit subsystem. Nothing to push.

⚠️ Tooling/doc inaccuracies found (real, worth fixing)

The OSS sync is a hand-curated forward-port on a feature branch (the 02:59 model), NOT the scripts/oss-subtree-split.sh script. The script is stale and unsafe:

  1. It targets packages/hive-mind-core as the export root, but the OSS repo's layout is packages/core — the branches it produces don't match the mirror.
  2. It has no proprietary-file filter, yet CLAUDE.md §7.5 claims "Files that must NOT export … are handled by the subtree-split filter." That filter does not exist in the script. A literal subtree split + push per the stale docs would leak evolution-runs/execution-traces/improvement-signals.ts to the public repo. The real protection is the manual curation (the 02:59 sync did strip them).

Recommendation: update CLAUDE.md §7.5 to describe the actual process (curated forward-port on a feature branch; install_audit + the three proprietary files are OSS-excluded) and either fix oss-subtree-split.sh to add a real filter + correct layout, or mark it deprecated. Deferred to the founder (it touches the authoritative §7.5 contract).