Repository navigation
Junjo AI Studio records and explains AI execution: model calls, tool activity, application state, and repeatable evaluation results. Studio 0.86.0 replaces the Python backend with one written in Rust that also serves the web UI. Studio now runs as two containers instead of three, on one origin, and its backend uses far less memory.
Breaking upgrade: wipe application data and update the deployment
Keep using Junjo Python SDK 0.69.0. The telemetry contract is unchanged.
Stop the old stack with the old Compose file, then wipe Studio application data or select a new empty data directory. Nothing is migrated: users, API keys, developer tokens, evaluations, and telemetry are discarded, and a database from Studio 0.85.0 or earlier is refused at startup. Complete first-user setup, create new credentials, and update application clients. Everyone signs in again.
Follow the tagged reset procedure. Take the Compose file, .env.example, and proxy configuration from this release's distribution instead of editing the earlier ones.
- Two containers.
mdrideout/junjo-ai-studio-appserves the UI and the HTTP API on port 26154 and replacesjunjo-ai-studio-backendandjunjo-ai-studio-frontend, which receive no further releases.mdrideout/junjo-ai-studio-ingestionkeeps its name and port. - One Studio hostname. The separate API hostname and port 26153 are gone. Send the whole Studio hostname to the application container, and point
JUNJO_AI_STUDIO_BACKEND_BASE_URLat it. - Fewer settings. Remove
JUNJO_SESSION_SECRET,JUNJO_SECURE_COOKIE_KEY,JUNJO_PROD_FRONTEND_URL,JUNJO_PROD_BACKEND_URL,JUNJO_ALLOW_ORIGINS, andRUN_MIGRATIONS. Production needsJUNJO_ENV,JUNJO_INTERNAL_GRPC_TOKEN, andJUNJO_PROD_INGESTION_URL.
What changes
- A smaller backend. In the measured comparison on the supported resource profile, the backend peaked at 56–79 MiB where the Python backend peaked at 287–350 MiB, and used 43% less CPU while ingesting.
- Traces by API key. Ingestion records which key sent each span, and the Traces page can list one key's traces. Deleting a key stops it from authorizing exports and keeps the traces it sent.
- A complete default Traces view. With "Has LLM Spans" checked, new traces stay listed after ingestion flushes them. They used to disappear until the flushed file was indexed.
- Agents page and execution links under load. The Agent listing reads a service's newest executions and no longer its whole history, and an execution link finds its execution through the index. Both failed under load when a service had many executions.
- Command-line sign-in. Studio provides the browser sign-in that
junjo auth loginin the next Python SDK release uses. Developer access tokens work as before.
Behavior and API changes
- Sign-out ends the session it is used in. It used to end every session of that user.
- A password is 8 to 72 bytes, and email addresses are compared in lowercase.
- Browser-facing routes moved under
/api/v1. SDK and CLI routes are unchanged. - Every error response is
{code, message}. Errors used to carry adetailmember. - A running Studio no longer serves
GET /openapi.json. The API document is in the repository. - The application writes no log line per request at the default log level.
The minimal and VM/Caddy distributions pin Studio 0.86.0 with SDK 0.69.0. Their generated archives and mirrors are validated against the release source and published image digests.
Changes since Studio 0.85.0 · SDK release · Measurements
Validated release provenance and artifact evidence
Validated Junjo AI Studio 0.86.0 release.
Canonical source: https://github.com/mdrideout/junjo@eac4423485d2b7ee04cebbcc91c269880b714e8b
Workflow: https://github.com/mdrideout/junjo/actions/runs/37707142803
Immutable image tags:
- backend:
mdrideout/junjo-ai-studio-app@sha256:e4451f5f05ea2eceb01bc133e7fde60b566af0222774cdb4e619f82308efc5f2(tags0.86.0andeac4423485d2b7ee04cebbcc91c269880b714e8b) - ingestion:
mdrideout/junjo-ai-studio-ingestion@sha256:31b49104de72e7ceafd92bb5cecd00c2535fa5420cd3e5006ba4aab1877e5be9(tags0.86.0andeac4423485d2b7ee04cebbcc91c269880b714e8b)
Deployment distributions:
- minimal: archive
df59359551f598e796d0d49769ea46b3a99004797edfa7846ca977cefc94c2b1, tree45980a4ba9b508ec24e22cdfbadb7edaa26656a5407551b29faf80fcb03b1f54, mirrormdrideout/junjo-ai-studio-minimal-build:master@f00ffb9c802ac0000a8cf7276c9e9e376491268c - vm-caddy: archive
693a6bd863f3635cc7b8bd21f4a00123a8f1173f631567846be3e53b4e894342, treeb71cdf1c9b6e121b30be8a680793928af2da57693233c82ff1f339fa756890bb, mirrormdrideout/junjo-ai-studio-deployment-example:master@ddb87ca13ca9945f56bd1228582cdec660196cba