Workspace y proyecto

Un taller contiene muchos proyectos y muchas carpetas compartidas. Solo el taller se vincula; los proyectos se registran.

Qué es#

Tres cosas distintas, fáciles de confundir porque todas son carpetas.

Qué es Cómo aparece Cuántos
Workspace (taller) La carpeta que contiene orch.yaml y .orch/. Todo lo que orch gobierna vive debajo. orch setup Uno por carpeta vinculada; una máquina puede tener varios
Proyecto Un repositorio git que orch conoce, por ruta y nombre corto orch project add <path> Muchos — el plan fija orch.projects.max
Carpeta compartida Una carpeta registrada bajo un bucket de lenguaje, donde rige la ley de locks y símbolos orch shared add <path> --lang go Muchas, agrupadas por lenguaje

Registrar nunca crea una carpeta. Tanto orch project add como orch shared add lo dicen en su propia ayuda: does not create folders.

mi-taller/                   <- workspace: orch.yaml + .orch/
├── orch.yaml                   proyectos y buckets compartidos registrados
├── .orch/                      runtime: orch.db, agents/, worktrees
├── .workflow/                  BOARD.md, RESUME.md
├── shared/go/                  <- carpeta compartida (locks + orch:export)
├── products/billing/           <- proyecto (su propio repositorio git)
└── products/portal/            <- proyecto (su propio repositorio git)

Por qué existe#

Porque la unidad de gobierno y la unidad de trabajo no tienen el mismo tamaño. Los locks, el registro de símbolos, el bus y la base de datos de runtime son de todo el taller — tienen que serlo, o dos agentes en dos repositorios no podrían verse. Pero el Chair se elige por proyecto git, y el worktree de un worker es una rama en un repositorio. N repositorios significan N entradas de orch project add y hasta N Chairs trabajando a la vez.

El vínculo es deliberado y basado en archivos, pero no solo en archivos: un repositorio clonado puede traer su propio orch.yaml y su propio .orch/, así que los archivos por sí solos nunca vinculan un workspace a tu máquina.

Cómo se relaciona con el resto#

  • Fuera de un workspace vinculado orch corre en modo suelto. El gateway y las optimizaciones locales funcionan; los locks, el bus y el control de proyectos no, y las herramientas del protocolo compartido responden con un mensaje de omisión en lugar de un error.
  • orch workspace imprime el vínculo resuelto para la carpeta actual: ubicación del binario, raíz del workspace, archivo de configuración y directorio de runtime. orch workspace <path> inicializa otra carpeta como taller.
  • orch home muestra la otra mitad: el machine home, compartido por todos los workspaces de la máquina, donde viven la identidad y las llaves de proveedor.
  • Registrar una carpeta compartida también la siembra e indexa: orch shared add reporta seeded tags=… files=… scanned=… skipped_no_ast=… indexed=…, porque el registro de símbolos tiene que conocer la carpeta antes de que la ley del código compartido signifique algo.

Aquí no hay nada que ejecutar#

Esta página describe un layout, no un procedimiento. Los comandos que lo crean están en el Inicio rápido; la ley que rige dentro de una carpeta compartida está en Ley del código compartido.