This page is for engineers and operators who work on JobSim or integrate with its APIs. Public docs intentionally omit default ports, internal service topology, and production security procedures so this site stays safe to publish broadly (similar to an SDK doc site).

What you will find here

NeedWhere to look
System shapeArchitecture overview, System design
Roles vs UI vs APIsRoles and product surfaces
Backend layoutBackend overview, FastAPI services
Frontend layoutFrontend overview
Refactor guardrailsRepository structure guide, Backend architecture guide, Frontend architecture guide, Testing taxonomy
Admin parametersOrganization admin manual, Simulation settings catalog
API contractsAPI reference tab (uses redacted OpenAPI; see below)

What is intentionally not in public docs

  • Concrete port numbers and default bind addresses for databases, vectors, or app servers.
  • Step-by-step production hardening or secret-handling playbooks (keep those in private repos, wikis, or compliance systems).
  • Environment variable names that map directly to secrets in your deployment (high-level categories appear on Environment variables; exact names and values belong with your stack).
For local or private development, use the JobSim repository (Docker Compose, example env templates, and team runbooks) as the source of truth for ports and defaults—not this published site.

API reference and OpenAPI

Mintlify’s API reference tab loads docs/api-reference/openapi.public.json — a redacted export (sensitive wording stripped, examples removed, placeholder server URL). The repository also keeps docs/api-reference/openapi.json as the full schema for engineers who need unredacted descriptions in-tree. Redaction logic lives in scripts/dev/openapi_public_redact.py; extend the substring list there if new descriptions leak operational detail.

Regenerate both OpenAPI files

From the repository root, after route or schema changes:
uv run python scripts/dev/export_openapi_for_docs.py
Writes openapi.json (full) and openapi.public.json (public). Options:
  • --full-only — write only the full file.
  • --public-only — rebuild the public file from an existing openapi.json (no FastAPI import).
Commit both JSON files when your process keeps the public site in sync with the API.

Previewing this documentation site locally

Contributors editing Mintlify content:
cd docs
npm install
npm run dev
The CLI prints a local preview URL. Optional: npm run validate in docs/ before opening a PR.

Security-conscious integration

  • Treat the OpenAPI document as the contract, not a guarantee of your tenant’s exposed surface—your host may disable routes or add gateways.
  • Never embed long-lived secrets in client-side code; use your identity provider and server-side configuration patterns your security team approves.
  • Report suspected vulnerabilities through the channel your vendor or open-source project publishes—not via public documentation edits.