Files
waggle-os/docs/decisions/2026-04-30-wave-1-memory-install-cleanup-LOCKED.md
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

116 lines
6.3 KiB
Markdown

# LOCKED Decision — Wave 1 Memory Install Cleanup Plan
**Date:** 2026-04-30
**Status:** LOCKED
**Author:** PM
**Ratified by:** Marko ("ok zapamti ovo da se uradi", 2026-04-30)
**Trigger:** Discovery 2026-04-30 da hive-mind-cli postinstall na Windows + Claude Code MCP health-check hook fail-uje sa `ENOENT` zbog spawn(.cmd) shim resolucije
**Binds:** Wave 1 cleanup brief autoring + Wave 2 cursor-hooks gating
**Related:** `feedback_memory_install_dead_simple` (NEW, ratifikovana 2026-04-30)
---
## §1 — Decision sazetak
Memory installation za Waggle Solo $19/mo + Pro/Teams tier MORA biti **dead-simple zero-config out of box** na Windows + macOS + Linux. Ako Solo korisnik (ne developer) treba da debug-uje `.cmd` shim issues, patch-uje plugin hook-ove, ili manualno unblock-uje quarantined MCP servers — to je **launch blocker, ne edge case**.
Tactical brzi fix (CC patch hook-a u tekucoj sesiji) je dozvoljen za tvoju testing sesiju, ali **strukturalni fix** ide u Wave 1 cleanup brief koji PM autoring-uje posle Phase 5 §0 PASS.
---
## §2 — Wave 1 cleanup brief scope (autoring post Phase 5 §0 PASS)
PM (ja) ce autoring brief sa sledecim deliverables za CC izvrsenje:
### §2.1 — Hive-mind-cli postinstall script
Cilj: postinstall script u `D:\Projects\hive-mind\packages\cli\` koji **sam distribuisemo** Windows-compatible MCP health-check hook config sa svakim `npm install -g @waggle/hive-mind-cli`. Ne polazimo od Claude Code generic-a koji ima Windows spawn bug; mi sami nosimo svoj hook.
Acceptance: posle `npm install -g @waggle/hive-mind-cli` na cisto Windows VM-u, `claude mcp list` mora pokazivati `hive-mind ✓ Connected` + bilo koji `mcp__hive-mind__*` tool call mora da radi bez ENOENT ili quarantine, **bez ijednog manual koraka korisnika izmedju install i prvi tool call**.
### §2.2 — mcp-health-check.js root structural patch
Cilj: u `${CLAUDE_PLUGIN_ROOT}/scripts/hooks/mcp-health-check.js` (ili wherever je hook fizicki kod), Windows .cmd resolution + spawn options { shell: true } koji ne breakuje Linux/macOS behavior.
Logika:
- Detect Windows (`process.platform === 'win32'`)
- Probati `${name}.cmd` ako `${name}` ne resolve
- ILI use `spawn(name, args, { shell: true })` na Windows path
- Preserve POSIX behavior intact
Acceptance: cross-platform CI test koji pokrije sve 3 OS-a, hook ne quarantine validan server.
### §2.3 — Dead-simple install acceptance kriterija
Per `feedback_memory_install_dead_simple` rule:
- Installer (`npm install -g @waggle/hive-mind-cli` ili curl|sh installer) MORA setup-ovati sve hooks bez user input
- Cross-platform Windows + macOS + Linux zero-config out of box
- Auto-detect MCP klijent (Claude Code, Cursor, native Waggle harness, drugi)
- Health-check failure mora self-recover (auto-retry sa proper spawn) umesto da kvarantne i zahteva manual unblock
- Forbidden: post-install required steps koji zahtevaju shell access ili konfiguracioni file edit za bilo sta drugacije od EULA accept + license key entry
- Forbidden: requiring developer-class debugging za normal install path
Test: install + first-use end-to-end na cisto Windows VM gde korisnik klikne "next next finish" i ima zero configuration kontaktiranja. Ako bilo koji korak zahteva terminal komand izvan instalacionog wizard-a, fail acceptance.
### §2.4 — Memory probe end-to-end test
Cilj: verifikovati da posle install + Wave 1 hooks operational, memory probe radi end-to-end:
1. `save_memory` — pisi content frame
2. `recall_memory` — read taj frame
3. `harvest_local` — verifikuj content frames ne samo session telemetry (user-prompt-submit + stop events)
4. `compile_health` — surface gaps if any
Acceptance: posle 5-10 min korisnickog rada na cisto VM-u, recall_memory query za nesto memorabilno (npr. "remember X is Y") vrati relevant frame sa odgovarajucim score-om (ne 0.013 telemetry score). Harvest path puni content store, ne samo telemetry.
---
## §3 — Wave 2 cursor-hooks gating
Wave 2 (cursor-hooks) ostaje **STANDBY** dok Wave 1 cleanup brief ne zatvori sledece:
- §2.1 postinstall script LIVE u npm registry
- §2.2 mcp-health-check.js patch merged u main
- §2.3 dead-simple acceptance criteria validated na cisto Windows + macOS VM
- §2.4 memory probe end-to-end PASS sa content frames
Wave 2 acceptance kriterija nasleduje istu disciplinu — cursor-hooks moraju takodje zero-config install na cisto Cursor instalaciji bez user debugging.
---
## §4 — Tactical CC patch (tekuca sesija)
Marko CC sesija je dobila instruction Opcija 1 — patch the health-check hook sa Windows .cmd resolution + shell: true. To je dozvoljen kao tactical brzi unblock samo za tu testing sesiju. Patch nece biti merged u main bez Wave 1 cleanup brief acceptance kriterija; tactical patch je **session-scoped workaround**, ne canonical fix.
Acceptance posle CC tactical patch:
1. `get_identity` radi bez ENOENT
2. Quarantine clear
3. `save_memory` + `recall_memory` probe end-to-end
4. Harvest path puni content frames (ne samo session telemetry)
5. CC emit "tactical patch verified — Wave 1 cleanup needed for canonical fix" u report-u
Rezultati feed Wave 1 cleanup brief acceptance criteria — ako tactical patch otkrije dodatne issues (npr. harvest path je broken nezavisno od spawn bug-a), Wave 1 brief inkorporise to.
---
## §5 — Audit trail anchors
- Memory entry: `feedback_memory_install_dead_simple.md` (ratifikovana 2026-04-30)
- Tekuca CC sesija report: paste-ovan u PM chat 2026-04-30 (Marko-side testing sesija, ne Phase 5 sesija)
- Wave 1 cleanup brief: TBD (autoring post Phase 5 §0 PASS, file: `briefs/<DATE>-wave-1-memory-install-cleanup.md`)
- Wave 2 cursor-hooks brief: TBD (autoring post Wave 1 acceptance validation, file: `briefs/<DATE>-wave-2-cursor-hooks.md`)
- Strateski kontekst: `project_locked_decisions` (Solo $19 / Teams $49 pricing) + `project_waggle_kvark_demand_generation` (Waggle = demand generator za KVARK; broken Solo install = broken demand pipeline)
---
## §6 — PM action item summary (tracked u TodoList)
1. **Standby za CC tactical patch verification report** — task #18 created
2. **Wave 1 cleanup brief autoring** — task #17 created, gated by Phase 5 §0 PASS
3. **Wave 2 cursor-hooks brief autoring** — gated by Wave 1 acceptance validation, ne kreira sad task
---
**End of LOCKED decision. Wave 1 cleanup ratifikovan. Tactical CC patch dozvoljen kao session-scoped workaround.**