Prerequisites
The Fabric workspace pins the versions used by the current dev host:
| Tool | Version | Used by |
|---|---|---|
| Bun | 1.3.11 | TypeScript services, deploy scripts, root checks |
| Node | 25.3.0 | Vite-based clients and visualizer |
| Rust | 1.94.1 | codex-tui and optional local Podium/Chronicle builds |
| Python | 3.13.12 | Agent tooling and utility scripts |
From /Users/chabotc/Projects/fabric, prefer the toolchain entry points checked into the repo:
nvm use
asdf install
rustup show active-toolchain
python3 --version
Start The Stack
Use the root wrappers rather than starting child services by hand:
cd /Users/chabotc/Projects/fabric
./fabric-start.sh
./scripts/fabric-status.sh
The shared environment is loaded from diminuendo/.env and then diminuendo/.env.local. Dev-server logs are written under ~/apps/fabric/logs/*.log.
Stop Or Restart
./scripts/fabric-restart.sh
./fabric-stop.sh
Validate
Run the broad root validation first:
bun run validate:root
bun run test:battery12
For a specific child repo:
./scripts/ci/validate-repo.sh diminuendo
./scripts/ci/validate-repo.sh unison
Run Ensemble, Podium, or Chronicle validation only when the task explicitly touches those service checkouts. Managed dev consumes their company-wide staging deployments by default.
Deploy Static Surfaces
The public web, visualizer, and docs hosts are nginx static bundles. Deploy them through the root wrapper:
./fabric-deploy-static.sh web
./fabric-deploy-static.sh viz
./fabric-deploy-static.sh docs
./fabric-deploy-static.sh all
Before and after public auth or web deploy work:
bun run check:public-auth
./fabric-deploy-static.sh web
Deploy Agents
Use the current default agents:
./diminuendo/scripts/deploy-agent.sh claude-agent dev
./diminuendo/scripts/deploy-agent.sh gpt-agent dev
Remote agent deploys should use the staging PODIUM_URL hydrated from SSM.
Current Auth Tuple
The public Fabric web app uses:
| Field | Value |
|---|---|
| Auth0 domain | diminuendo-dev.eu.auth0.com |
| Client ID | s4jhFF4oQDY6JlO6TqOU5E0f23dHEFJK |
| Audience | https://diminuendo-dev.eu.auth0.com/api/v2/ |
| Callback | https://fabric.dev.aws.igent.ai/auth/callback |
DEV_MODE=true is an outage for the public app because real Auth0 JWTs are treated as development API tokens. Public fabric.dev.aws.igent.ai targets must force DEV_MODE=false.