6.0 KiB
Progress
2026-10-23: inspected both legacy copies and empty destination. Verified compiler availability on macOS; Orb Ubuntu amd64 has Rust and networking tools. Established scope and sent optional UI clarification (no preferences). No old files modified.
2026-10-23: created Cargo manifest/config validation and engine contract. TCP engine delegated to one implementer under subagent-driven-development. Canonical ForcAD source verified; found initial-vs-delta event mismatch in legacy client. Orb does not mount the macOS Desktop path directly; stage source under ~/Downloads for Linux runs.
2026-10-23: engine delivered and self-reviewed, 11 tests passed. Added zero-copy-reuse primary buffer path when no replicas are active (no per-read shared-Bytes allocation). Controller, health, state persistence/rollback, auth, API and CLI implemented. Added control-plane tests; integrated run waiting for UI app.js. UI implementation delegated after engine implementer finished. No live game endpoints contacted.
2026-10-23: initial rewrite committed locally as 4b01fb4; prior checks passed 23 tests on macOS and Orb amd64, Clippy and JS syntax. A real upstream-version Socket.IO fixture passed; a macOS byte-verified loopback benchmark showed measurable proxy overhead. Independent review found five Important issues (see docs/review.md); they remain open.
2026-10-23: user rejected the UI redesign and required the original appearance and functionality layout with only small changes. Source comparison confirms two unintended workflow changes: direct custom IP requires creating a team, and quick primary promotion discards the old primary from replicas. Explained these regressions and the unfinished backend review findings. Recorded the correction as binding; no UI restoration implemented yet. Original directories remain references, and the rewrite has not been deployed over them.
2026-10-23: restored literal legacy UI, bundled matching CSS/icon dependencies with licenses, kept former-primary replica and direct custom-IP flows. Added own-team strip, stale snapshot/health indicators, keyboard support and draft preservation. Source CSS parity and matching computed styles checked; browser verified primary/start/robot/custom IP/settings/logout,1MiB exact half-close,390px layout and SSE watchdog/recovery.
2026-10-23: fixed initial R1-R5 plus accept retry, early engine quiesce and absolute heartbeat deadline. Root fresh native35/Orb36 tests passed, native fmt/Clippy and both release builds passed. Real ForcAD library interop passed. Six benchmark runs saved under docs/benchmarks; strict replica byte totals complete, isolate saturation recorded3 explicit replica disconnections on each platform. Final reviewer found R6 transaction cancellation; fix/review in progress.
2026-10-23: R6 resolved with admitted owned transaction worker shared by service/team/automatic changes. Five cancellation regressions, original HTTP red/green and independent re-review accepted. Root fresh final gates: native40/Orb41 tests, native fmt/Clippy, both release builds, ForcAD library interoperability and sample config/JS checks all passed. Final release UI start/primary/replica/robot/custom creation and exact1MiB half-close rechecked. Six final benchmark records committed; isolate disconnections3macOS/4Linux documented explicitly. Prepared git-ignored dist binaries/checksums; no deployment.
2026-10-23 UI follow-up: reproduced off-center modal at(0,0), repaired Bootstrap/native-dialog interaction and header wrapping without redesign. Added local draft/input improvements, team add/rename and configuration help. Fresh40 native/41 Orb tests and release builds pass; browser validates390px layout, CRUD, keyboard invalid IP, restart persistence, stale/recovery and exact256KiB half-close with replica integrity. Live demo migrated from temporary state to ignored data/demo, preserving primaryB/replicaA/enabled; readiness/assets and21504-byte echo verified after restart. See docs/ui-polish-verification.md. Test fixture stopped, live GUI-session job remains running.
2026-10-23 flag feature: user selected universal configurable mode. Design explained before implementation; use same-format random tokenization plus authenticated encrypted durable SQLite records (not homemade same-length encryption). Initial cargo-add multiple-dependency feature syntax rejected; retried separate dependency additions successfully. No existing source behavior changed yet.
2026-10-23 flag completion: per-service opt-in defaults off for existing/new configurations; UI switch and indicator preserve the legacy page. Encrypted durable cache, split-safe transformations and documented protocol limits complete. Final native49/Orb50 tests, fmt/Clippy/JS and releases passed. Browser verified on/off persistence; loopback round-trips, replicas, half-close, errors and restart covered. Demo16700 updated with original topology and protection off. Orb lacked rsync, so staging used cp; launchctl bootstrap rejected relative plist path, succeeded with the absolute path after validating plist and absent job. See docs/flag-protection-verification.md.
2026-10-23 Linux packaging: added static x86_64-unknown-linux-musl archive, run.sh with non-overwriting config and private persistent random password, standalone quickstart and pinned Actions build/release. Published v0.1.0 automatically after CI40011983417 passed50 musl tests and archive smoke. Downloaded published artifact verified in Orb Ubuntu and glibc-free Alpine3.22; SHA256 and static ELF confirmed. Native49 tests/fmt/Clippy pass. Initial main CI cancelled deliberately in favor of identical tag run. No game endpoints touched; demo remains unchanged.
2026-10-24 v0.1.1: user requested0.0.0.0 and password in config. Changed default bind, example/launcher TOML and auth config precedence, preserved old env/password-file fallback. Password redacted from Debug/serialization; no password API. Native50 and CI51 tests passed; downloaded static release SHA256 and full Orb package smoke passed. Release40026012470 published automatically; duplicate main run cancelled. Existing configs not overwritten.