Skip to content

0.10.0-beta.4 — auto-quant zero-config + workspace isolation#180

Merged
luokerenx4 merged 2 commits into
masterfrom
dev
May 12, 2026
Merged

0.10.0-beta.4 — auto-quant zero-config + workspace isolation#180
luokerenx4 merged 2 commits into
masterfrom
dev

Conversation

@luokerenx4
Copy link
Copy Markdown
Contributor

@luokerenx4 luokerenx4 commented May 12, 2026

Summary

Patch release on top of #179 fixing critical auto-quant template usability gaps:

  1. AQ_TEMPLATE_DIR was mandatory — D11 of the original Workspaces plan made the env var required (no default), so on a fresh OpenAlice install, picking the auto-quant template gave bootstrap_failed with a raw bash :? parameter-expansion error. Open-source users had no way to know that env var existed.

  2. Shared K-line cache was the wrong abstraction for forward compatibility — Auto-Quant's data schema may evolve between releases (different timeframes, asset sets, .feather column layouts). A $AQ_SHARED_DATA_DIR symlinked across all workspaces would silently mix incompatible files with no clean migration path.

Fixes

  • Zero-config auto-quantauto-quant/bootstrap.sh now clones from https://github.com/TraderAlice/Auto-Quant.git into a managed mirror at $AQ_LAUNCHER_ROOT/auto-quant-mirror/ on first use, then makes per-workspace local clones from there. AQ_TEMPLATE_DIR stays as a power-user override (use your own Auto-Quant checkout).
  • Per-workspace isolated data — drop the shared symlink. Each workspace's user_data/data/ is a real directory; prepare.py fetches OHLCV per-workspace. Trade is disk + first-run network cost per workspace; gain is upgrade-by-rebuild safety + no cross-workspace contamination.
  • Dead plumbing cleanupAQ_SHARED_DATA_DIR no longer used. Deleted src/workspaces/bootstrap-data.ts; trimmed service.ts / workspace-creator.ts / config.ts.

Full commit log

b0b03da chore(release): 0.10.0-beta.4
278bc85 feat(workspaces/auto-quant): zero-config via public mirror + per-workspace isolated data

Test plan

  • npx tsc --noEmit clean
  • pnpm test — 88 files, 1687 tests passing
  • Manual smoke (curl):
    • Fresh mirror: rm -rf ~/.openalice/workspaces/auto-quant-mirror then create auto-quant workspace → clones in ~2s, workspace gets a real (empty) user_data/data/
    • Warm mirror: subsequent create → ~1s, no network
    • No shared ~/.openalice/workspaces/data auto-created
  • Browser interactive (recommended before merge):
    • Sidebar → select auto-quant template, type a tag, create — no env required, workspace materialises
    • Inside workspace: uv run prepare.py fetches OHLCV into the workspace's own user_data/data
    • Create a second auto-quant workspace; first workspace's data unaffected

🤖 Generated with Claude Code

Ame and others added 2 commits May 12, 2026 20:01
…space isolated data

Two related fixes for the auto-quant template:

**1. Zero-config bootstrap** — drop the `AQ_TEMPLATE_DIR` requirement
that D11 of the workspaces plan made mandatory. The bootstrap script
now clones `https://github.com/TraderAlice/Auto-Quant.git` into a
managed mirror at `$AQ_LAUNCHER_ROOT/auto-quant-mirror/` on first use,
then makes per-workspace local clones from there. Users who already
have Auto-Quant checked out somewhere specific can still override via
`AQ_TEMPLATE_DIR`. Effect: a fresh OpenAlice install can create
auto-quant workspaces with no env setup.

**2. Per-workspace isolated data** — drop the shared
`$AQ_SHARED_DATA_DIR` symlink dance. Each workspace's `user_data/data/`
is now a real directory; `prepare.py` fetches OHLCV into the workspace
itself rather than into a process-global cache shared across all
workspaces. Trade-off: each workspace re-runs `prepare.py` (disk +
network cost). Reasoning: Auto-Quant's data schema may evolve between
releases (different timeframes, asset sets, .feather column layouts);
a shared cache would silently mix incompatible files across workspace
generations with no clean migration path. Isolation makes upgrade-by-
rebuild trivial and protects existing workspaces from new-workspace-
driven cache mutations.

Consequence: `AQ_SHARED_DATA_DIR` and the TS-side `ensureSharedData()`
helper are now dead weight. Cleaned up:
  - `src/workspaces/bootstrap-data.ts` deleted
  - `src/workspaces/config.ts` drops `sharedDataDir` from `ServerConfig`
    and the `AQ_SHARED_DATA_DIR` env reading
  - `src/workspaces/service.ts` drops the `ensureSharedData()` call and
    the field from `bootstrapEnv`
  - `src/workspaces/workspace-creator.ts` drops `sharedDataDir` from
    `BootstrapEnv` and the `AQ_SHARED_DATA_DIR` from the env passed to
    bootstrap scripts

Verified live: fresh-mirror clone path (~2s on first create incl.
network), warm-mirror path (~1s on subsequent creates, no network),
power-user override path (`AQ_TEMPLATE_DIR` honoured), `tsc --noEmit`
clean, `pnpm test` 88 files / 1687 tests passing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Patch release fixing critical auto-quant template usability gaps that
landed in beta.3:

- **Zero-config auto-quant**: bootstrap.sh now clones the public Auto-
  Quant repo (https://github.com/TraderAlice/Auto-Quant) into a
  managed mirror on first use. `AQ_TEMPLATE_DIR` is no longer
  required; it remains as a power-user override pointing at a
  pre-existing local clone.
- **Per-workspace data isolation**: each workspace owns its own
  `user_data/data/` rather than a shared symlinked cache. Auto-Quant
  schema evolution between releases stays clean — no cross-workspace
  contamination, no migration script needed for the shared cache.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@luokerenx4 luokerenx4 changed the title fix(workspaces/auto-quant): zero-config via public mirror + isolated data 0.10.0-beta.4 — auto-quant zero-config + workspace isolation May 12, 2026
@luokerenx4 luokerenx4 merged commit 82dd759 into master May 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant