trackops 1.1.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +194 -230
  2. package/bin/trackops.js +54 -28
  3. package/lib/config.js +14 -10
  4. package/lib/control.js +44 -32
  5. package/lib/env.js +18 -1
  6. package/lib/init.js +40 -6
  7. package/lib/opera-bootstrap.js +825 -273
  8. package/lib/opera.js +360 -110
  9. package/lib/preferences.js +74 -0
  10. package/lib/runtime-state.js +144 -0
  11. package/lib/server.js +155 -25
  12. package/locales/en.json +136 -42
  13. package/locales/es.json +136 -42
  14. package/package.json +2 -1
  15. package/scripts/postinstall-locale.js +21 -0
  16. package/scripts/smoke-tests.js +130 -5
  17. package/scripts/validate-skill.js +2 -1
  18. package/skills/trackops/SKILL.md +67 -45
  19. package/skills/trackops/agents/openai.yaml +5 -1
  20. package/skills/trackops/locales/en/SKILL.md +86 -0
  21. package/skills/trackops/locales/en/references/activation.md +73 -0
  22. package/skills/trackops/locales/en/references/troubleshooting.md +49 -0
  23. package/skills/trackops/locales/en/references/workflow.md +26 -0
  24. package/skills/trackops/references/activation.md +53 -19
  25. package/skills/trackops/references/troubleshooting.md +36 -21
  26. package/skills/trackops/references/workflow.md +21 -15
  27. package/skills/trackops/scripts/bootstrap-trackops.js +9 -7
  28. package/skills/trackops/skill.json +4 -4
  29. package/templates/opera/agent.md +10 -9
  30. package/templates/opera/architecture/dependency-graph.md +24 -0
  31. package/templates/opera/architecture/runtime-automation.md +24 -0
  32. package/templates/opera/architecture/runtime-operations.md +34 -0
  33. package/templates/opera/en/agent.md +21 -20
  34. package/templates/opera/en/architecture/dependency-graph.md +24 -0
  35. package/templates/opera/en/architecture/runtime-automation.md +24 -0
  36. package/templates/opera/en/architecture/runtime-operations.md +34 -0
  37. package/templates/opera/en/reviews/delivery-audit.md +18 -0
  38. package/templates/opera/en/reviews/integration-audit.md +18 -0
  39. package/templates/opera/en/router.md +19 -9
  40. package/templates/opera/reviews/delivery-audit.md +18 -0
  41. package/templates/opera/reviews/integration-audit.md +18 -0
  42. package/templates/opera/router.md +15 -5
  43. package/templates/skills/opera-contract-auditor/SKILL.md +38 -0
  44. package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -0
  45. package/templates/skills/opera-policy-guard/SKILL.md +26 -0
  46. package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -0
  47. package/templates/skills/project-starter-skill/SKILL.md +89 -164
  48. package/templates/skills/project-starter-skill/locales/en/SKILL.md +104 -24
  49. package/ui/js/views/overview.js +16 -12
  50. package/templates/etapa/agent.md +0 -26
  51. package/templates/etapa/genesis.md +0 -94
  52. package/templates/etapa/references/autonomy-and-recovery.md +0 -117
  53. package/templates/etapa/references/etapa-cycle.md +0 -193
  54. package/templates/etapa/registry.md +0 -28
  55. package/templates/etapa/router.md +0 -39
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: "trackops"
3
+ description: "Global TrackOps skill for installing and activating local project orchestration with OPERA, environment management, and agent handoff. Use it when the user wants to install TrackOps from skills.sh, bootstrap the runtime with `node scripts/bootstrap-trackops.js`, run `trackops init`, run `trackops opera install`, inspect `trackops opera handoff`, or work through the operational flow of a repository."
4
+ ---
5
+
6
+ # TrackOps
7
+
8
+ Use this localized file when the conversation and project should run in English.
9
+
10
+ ## Global layer
11
+
12
+ Install the marketplace skill with:
13
+
14
+ ```bash
15
+ npx skills add Baxahaun/trackops
16
+ ```
17
+
18
+ Before relying on the CLI, run the bundled skill script:
19
+
20
+ ```bash
21
+ node scripts/bootstrap-trackops.js
22
+ ```
23
+
24
+ That bootstrap:
25
+
26
+ - ensures the npm `trackops` runtime
27
+ - verifies that the global binary can be executed
28
+ - records state in `~/.trackops/runtime.json`
29
+
30
+ It must not create repository files on its own.
31
+
32
+ ## Local project layer
33
+
34
+ Inside the repository:
35
+
36
+ ```bash
37
+ trackops init
38
+ trackops opera install
39
+ ```
40
+
41
+ Core rules:
42
+
43
+ - treat the global install as non-invasive
44
+ - use `ops/contract/operating-contract.json` as the machine contract when it exists
45
+ - use `ops/project_control.json` as the operational source of truth
46
+ - use `ops/policy/autonomy.json` before approval-sensitive actions
47
+ - use `/.env` and `/.env.example` as the environment contract
48
+ - keep generated operational docs under `ops/`
49
+ - use `trackops locale get|set` and `trackops doctor locale` when language matters
50
+
51
+ ## OPERA onboarding
52
+
53
+ OPERA no longer assumes every user is technical.
54
+
55
+ TrackOps classifies:
56
+
57
+ - user technical level
58
+ - current project state
59
+ - available documentation
60
+
61
+ Then it chooses one of two routes:
62
+
63
+ - `direct bootstrap`
64
+ for technical users and already-defined repositories
65
+ - `agent handoff`
66
+ for early ideas, non-technical users, or weak documentation
67
+
68
+ If TrackOps routes bootstrap to the agent:
69
+
70
+ - read `ops/bootstrap/agent-handoff.md`
71
+ - or print it with `trackops opera handoff --print`
72
+ - require these outputs:
73
+ - `ops/bootstrap/intake.json`
74
+ - `ops/bootstrap/spec-dossier.md`
75
+ - `ops/bootstrap/open-questions.md` when important gaps remain
76
+ - resume with:
77
+
78
+ ```bash
79
+ trackops opera bootstrap --resume
80
+ ```
81
+
82
+ ## Which reference to read and when
83
+
84
+ - read `locales/en/references/activation.md` only for installation, first use, locale bootstrap, and repository activation
85
+ - read `locales/en/references/workflow.md` only when TrackOps is already active and you need day-to-day repository operations
86
+ - read `locales/en/references/troubleshooting.md` only when installation, bootstrap, resume, or environment contract handling fails
@@ -0,0 +1,73 @@
1
+ # Activation
2
+
3
+ ## Global install
4
+
5
+ Install the marketplace skill:
6
+
7
+ ```bash
8
+ npx skills add Baxahaun/trackops
9
+ ```
10
+
11
+ On first use, ensure the runtime with the bundled skill script:
12
+
13
+ ```bash
14
+ node scripts/bootstrap-trackops.js
15
+ ```
16
+
17
+ The global skill must not create repository files on its own.
18
+
19
+ ## Local activation
20
+
21
+ Inside a repository:
22
+
23
+ ```bash
24
+ trackops init
25
+ trackops opera install
26
+ ```
27
+
28
+ By default, `trackops init` creates a split workspace with:
29
+
30
+ - `app/`
31
+ - `ops/`
32
+ - `/.env`
33
+ - `/.env.example`
34
+ - `.trackops-workspace.json`
35
+
36
+ ## OPERA routing
37
+
38
+ OPERA always starts by classifying:
39
+
40
+ - technical level
41
+ - project state
42
+ - documentation state
43
+
44
+ If the project is still early or the user is non-technical, TrackOps writes:
45
+
46
+ - `ops/bootstrap/agent-handoff.md`
47
+ - `ops/bootstrap/agent-handoff.json`
48
+
49
+ The agent must produce:
50
+
51
+ - `ops/bootstrap/intake.json`
52
+ - `ops/bootstrap/spec-dossier.md`
53
+ - `ops/bootstrap/open-questions.md` when needed
54
+
55
+ When the quality gate passes, OPERA compiles:
56
+
57
+ - `ops/contract/operating-contract.json`
58
+ - `ops/genesis.md`
59
+ - `ops/policy/autonomy.json`
60
+
61
+ Resume with:
62
+
63
+ ```bash
64
+ trackops opera bootstrap --resume
65
+ ```
66
+
67
+ Locale controls:
68
+
69
+ ```bash
70
+ trackops locale get
71
+ trackops locale set en
72
+ trackops doctor locale
73
+ ```
@@ -0,0 +1,49 @@
1
+ # Troubleshooting
2
+
3
+ ## Missing prerequisites
4
+
5
+ - Install Node 18+ if Node is missing or too old.
6
+ - Install a Node distribution that includes npm if npm is missing.
7
+
8
+ ## Global install command failed
9
+
10
+ - Install from committed GitHub state:
11
+ `npx skills add Baxahaun/trackops`
12
+ - Then ensure the local runtime with:
13
+ `node scripts/bootstrap-trackops.js`
14
+ - If the install succeeded but the CLI still looks unavailable, confirm that `~/.trackops/runtime.json` exists.
15
+
16
+ ## Runtime bootstrap failed
17
+
18
+ - Re-run `node scripts/bootstrap-trackops.js`.
19
+ - If npm global permissions fail, configure a user-writable npm prefix instead of using `sudo`.
20
+
21
+ ## OPERA routed bootstrap to the agent
22
+
23
+ This is expected when:
24
+
25
+ - the user is non-technical
26
+ - the project is still in idea stage
27
+ - documentation is weak
28
+
29
+ Use:
30
+
31
+ ```bash
32
+ trackops opera handoff --print
33
+ trackops opera bootstrap --resume
34
+ ```
35
+
36
+ ## Resume does not complete
37
+
38
+ TrackOps will not invent missing context.
39
+
40
+ Check that both files exist and contain usable data:
41
+
42
+ - `ops/bootstrap/intake.json`
43
+ - `ops/bootstrap/spec-dossier.md`
44
+
45
+ ## Environment looks inconsistent
46
+
47
+ - Run `trackops env status`.
48
+ - Run `trackops env sync`.
49
+ - If bridge mode is `copy`, do not edit `app/.env` directly.
@@ -0,0 +1,26 @@
1
+ # Workflow
2
+
3
+ Once TrackOps is active in a repository:
4
+
5
+ 1. Run `trackops status`.
6
+ 2. Run `trackops next`.
7
+ 3. Move task state with `trackops task ...`.
8
+ 4. Run `trackops sync` after meaningful changes.
9
+ 5. Run `trackops env status` when credentials matter.
10
+
11
+ Operational rules:
12
+
13
+ - In split workspaces, use `ops/project_control.json` as the source of truth.
14
+ - Generated operational docs live in `ops/`.
15
+ - Product code lives in `app/`.
16
+ - Real secrets live in `/.env`.
17
+ - Public environment contract lives in `/.env.example`.
18
+ - `app/.env` is only a compatibility bridge.
19
+
20
+ If OPERA is installed:
21
+
22
+ - `ops/contract/operating-contract.json` holds the machine contract.
23
+ - `ops/genesis.md` holds the compiled human view.
24
+ - `ops/policy/autonomy.json` holds the executable autonomy policy.
25
+ - `ops/bootstrap/` holds onboarding artifacts.
26
+ - `ops/.agent/hub/` and `ops/.agents/skills/` hold managed agent artifacts.
@@ -1,39 +1,73 @@
1
- # Activation
1
+ # Activacion
2
2
 
3
- ## Global install
3
+ ## Instalacion global
4
4
 
5
- The marketplace skill prepares TrackOps globally for the agent. It must not create repo files by itself.
6
-
7
- Install it with:
5
+ Instala la skill del marketplace:
8
6
 
9
7
  ```bash
10
- npx skills add Baxahaun/trackops --skill trackops --full-depth --global --agent codex -y
8
+ npx skills add Baxahaun/trackops
11
9
  ```
12
10
 
13
- Replace `codex` with any supported target: `antigravity`, `claude-code`, `codex`, `cursor`, `gemini-cli`, `github-copilot`, or `kiro-cli`.
14
-
15
- Before using TrackOps commands, run:
11
+ En primer uso, asegura el runtime con el script empaquetado de la skill:
16
12
 
17
13
  ```bash
18
14
  node scripts/bootstrap-trackops.js
19
15
  ```
20
16
 
21
- That bootstrap validates prerequisites, installs or updates the TrackOps runtime, and records state in `~/.trackops/runtime.json`.
17
+ La skill global no debe crear archivos dentro de repositorios por si sola.
22
18
 
23
- ## Local activation
19
+ ## Activacion local
24
20
 
25
- Inside a repository, the normal flow is:
21
+ Dentro de un repositorio:
26
22
 
27
23
  ```bash
28
24
  trackops init
29
25
  trackops opera install
30
26
  ```
31
27
 
32
- Rules:
28
+ Por defecto, `trackops init` crea un workspace split con:
29
+
30
+ - `app/`
31
+ - `ops/`
32
+ - `/.env`
33
+ - `/.env.example`
34
+ - `.trackops-workspace.json`
35
+
36
+ ## Routing de OPERA
37
+
38
+ OPERA siempre empieza clasificando:
39
+
40
+ - nivel tecnico
41
+ - estado del proyecto
42
+ - estado de la documentacion
43
+
44
+ Si el proyecto aun esta verde o el usuario no es tecnico, TrackOps escribe:
45
+
46
+ - `ops/bootstrap/agent-handoff.md`
47
+ - `ops/bootstrap/agent-handoff.json`
48
+
49
+ El agente debe producir:
50
+
51
+ - `ops/bootstrap/intake.json`
52
+ - `ops/bootstrap/spec-dossier.md`
53
+ - `ops/bootstrap/open-questions.md` cuando haga falta
33
54
 
34
- - Use `trackops init` when the repo is not yet managed by TrackOps.
35
- - By default, `trackops init` creates a split workspace with `app/`, `ops/`, `/.env`, `/.env.example`, and `.trackops-workspace.json`.
36
- - Use `trackops opera install` only after `trackops init` and only when the user wants OPERA.
37
- - Use `trackops init --with-opera` only as an explicit shortcut.
38
- - Use `trackops init --legacy-layout` only for compatibility with the old single-root layout.
39
- - Never assume that a global skill install authorizes local repo mutations by default.
55
+ Cuando el quality gate pasa, OPERA compila:
56
+
57
+ - `ops/contract/operating-contract.json`
58
+ - `ops/genesis.md`
59
+ - `ops/policy/autonomy.json`
60
+
61
+ Reanuda con:
62
+
63
+ ```bash
64
+ trackops opera bootstrap --resume
65
+ ```
66
+
67
+ Controles de idioma:
68
+
69
+ ```bash
70
+ trackops locale get
71
+ trackops locale set en
72
+ trackops doctor locale
73
+ ```
@@ -1,34 +1,49 @@
1
1
  # Troubleshooting
2
2
 
3
- ## Missing prerequisites
3
+ ## Faltan prerequisitos
4
4
 
5
- - If Node is missing or older than 18, install Node 18+ first.
6
- - If npm is missing, install a Node distribution that includes npm.
5
+ - Instala Node 18+ si Node falta o es demasiado antiguo.
6
+ - Instala una distribucion de Node que incluya npm si falta npm.
7
7
 
8
- ## skills cannot find the TrackOps skill
8
+ ## Fallo al instalar la skill global
9
9
 
10
- - Install from the repository root:
11
- `npx skills add Baxahaun/trackops --skill trackops --full-depth --global --agent codex -y`
12
- - Confirm the remote repository already contains the latest committed skill changes.
13
- - Remember that skills installs from committed Git state, not from uncommitted local changes.
10
+ - Instala desde el estado committeado de GitHub:
11
+ `npx skills add Baxahaun/trackops`
12
+ - Luego asegura el runtime local con:
13
+ `node scripts/bootstrap-trackops.js`
14
+ - Si la instalacion salio bien pero el CLI sigue sin aparecer, confirma que `~/.trackops/runtime.json` exista.
14
15
 
15
- ## Global npm install failed
16
+ ## Fallo en el bootstrap del runtime
16
17
 
17
- - Re-run `node scripts/bootstrap-trackops.js` and inspect stderr.
18
- - If npm global permissions are blocked, configure a user-writable npm prefix instead of relying on `sudo`.
18
+ - Reejecuta `node scripts/bootstrap-trackops.js`.
19
+ - Si fallan los permisos globales de npm, configura un prefix de usuario en lugar de usar `sudo`.
19
20
 
20
- ## Runtime cannot be verified
21
+ ## OPERA ha derivado el bootstrap al agente
21
22
 
22
- If installation succeeds but `trackops` is still not executable:
23
+ Es el comportamiento esperado cuando:
23
24
 
24
- - Check whether the npm global bin directory is on `PATH`.
25
- - Re-open the terminal after updating shell profile settings.
26
- - Re-run `node scripts/bootstrap-trackops.js` once `trackops --version` works.
25
+ - el usuario no es tecnico
26
+ - el proyecto sigue en fase idea
27
+ - la documentacion es debil
27
28
 
28
- ## Workspace environment looks inconsistent
29
+ Usa:
29
30
 
30
- If a split workspace is active and tools do not see the expected environment file:
31
+ ```bash
32
+ trackops opera handoff --print
33
+ trackops opera bootstrap --resume
34
+ ```
31
35
 
32
- - Run `trackops env status` to inspect required, present, and missing keys without exposing values.
33
- - Run `trackops env sync` to recreate `/.env`, `/.env.example`, and the `app/.env` bridge.
34
- - If bridge mode is `copy`, do not edit `app/.env` directly; TrackOps regenerates it from the root `.env`.
36
+ ## El resume no completa
37
+
38
+ TrackOps no inventa contexto faltante.
39
+
40
+ Comprueba que ambos archivos existan y contengan datos utilizables:
41
+
42
+ - `ops/bootstrap/intake.json`
43
+ - `ops/bootstrap/spec-dossier.md`
44
+
45
+ ## El entorno parece inconsistente
46
+
47
+ - Ejecuta `trackops env status`.
48
+ - Ejecuta `trackops env sync`.
49
+ - Si el bridge mode es `copy`, no edites `app/.env` directamente.
@@ -1,20 +1,26 @@
1
1
  # Workflow
2
2
 
3
- Once TrackOps is active in a repository, operate in this order:
3
+ Una vez que TrackOps esta activo en un repositorio:
4
4
 
5
- 1. Run `trackops status` to inspect focus, phase, blockers, and repo state.
6
- 2. Run `trackops next` to identify the next ready task.
7
- 3. Update task state with `trackops task ...` as work progresses.
8
- 4. Run `trackops sync` after meaningful changes so generated docs stay aligned.
9
- 5. Run `trackops env status` when the project depends on credentials or external services.
5
+ 1. Ejecuta `trackops status`.
6
+ 2. Ejecuta `trackops next`.
7
+ 3. Mueve el estado de tareas con `trackops task ...`.
8
+ 4. Ejecuta `trackops sync` tras cambios relevantes.
9
+ 5. Ejecuta `trackops env status` cuando importen las credenciales.
10
10
 
11
- Operational rules:
11
+ Reglas operativas:
12
12
 
13
- - In split workspaces, use `ops/project_control.json` as the source of truth.
14
- - In legacy repos, use `project_control.json` at repo root.
15
- - In split workspaces, generated operational docs live under `ops/`.
16
- - Product code lives under `app/`.
17
- - Use `/.env` for real secrets and `/.env.example` for the public environment contract.
18
- - `app/.env` is only a compatibility bridge.
19
- - If OPERA is installed, use `ops/genesis.md`, `ops/.agent/hub/`, and `ops/.agents/skills/_registry.md` as managed framework artifacts.
20
- - Keep the global skill layer separate from the local project layer.
13
+ - En workspaces split, usa `ops/project_control.json` como fuente de verdad.
14
+ - La documentacion operativa generada vive en `ops/`.
15
+ - El codigo de producto vive en `app/`.
16
+ - Los secretos reales viven en `/.env`.
17
+ - El contrato publico de entorno vive en `/.env.example`.
18
+ - `app/.env` es solo un puente de compatibilidad.
19
+
20
+ Si OPERA esta instalado:
21
+
22
+ - `ops/contract/operating-contract.json` contiene el contrato de maquina.
23
+ - `ops/genesis.md` contiene la vista humana compilada.
24
+ - `ops/policy/autonomy.json` contiene la politica ejecutable.
25
+ - `ops/bootstrap/` contiene los artefactos de onboarding.
26
+ - `ops/.agent/hub/` y `ops/.agents/skills/` contienen artefactos gestionados de agentes.
@@ -4,6 +4,7 @@ const fs = require("fs");
4
4
  const os = require("os");
5
5
  const path = require("path");
6
6
  const { spawnSync } = require("child_process");
7
+ const runtimeState = require("../../../lib/runtime-state");
7
8
 
8
9
  const EXIT_CODES = {
9
10
  READY: 0,
@@ -129,10 +130,9 @@ function runInstall(config, prefix) {
129
130
  }
130
131
 
131
132
  function writeRuntimeStamp(config, verification) {
132
- const runtimeDir = path.join(getHomeDir(), ".trackops");
133
- const runtimeFile = path.join(runtimeDir, "runtime.json");
134
- fs.mkdirSync(runtimeDir, { recursive: true });
135
- const payload = {
133
+ const previous = runtimeState.readRuntimeState();
134
+ const payload = runtimeState.writeRuntimeState({
135
+ ...previous,
136
136
  skill: config.name,
137
137
  skillVersion: config.skillVersion,
138
138
  runtimePackage: config.npmPackage,
@@ -142,8 +142,8 @@ function writeRuntimeStamp(config, verification) {
142
142
  verifiedAt: new Date().toISOString(),
143
143
  verifiedWith: verification.installed.via,
144
144
  executable: verification.installed.command,
145
- };
146
- fs.writeFileSync(runtimeFile, `${JSON.stringify(payload, null, 2)}\n`, "utf8");
145
+ });
146
+ return payload;
147
147
  }
148
148
 
149
149
  function printInstallGuidance(prefix) {
@@ -157,7 +157,7 @@ function printInstallGuidance(prefix) {
157
157
  console.error("Add your npm global bin directory to PATH, reopen the terminal, and retry.");
158
158
  }
159
159
 
160
- function main() {
160
+ async function main() {
161
161
  const config = readSkillConfig();
162
162
  const prefix = getPrefixOverride();
163
163
 
@@ -173,6 +173,7 @@ function main() {
173
173
 
174
174
  const current = verifyRuntime(config.trackopsVersion, prefix);
175
175
  if (current.ok) {
176
+ await runtimeState.ensureGlobalLocale({ interactive: false });
176
177
  writeRuntimeStamp(config, current);
177
178
  console.log(`TrackOps runtime ${config.trackopsVersion} is already ready.`);
178
179
  process.exit(EXIT_CODES.READY);
@@ -193,6 +194,7 @@ function main() {
193
194
  process.exit(EXIT_CODES.UNVERIFIABLE);
194
195
  }
195
196
 
197
+ await runtimeState.ensureGlobalLocale({ interactive: false });
196
198
  writeRuntimeStamp(config, verification);
197
199
  console.log(`TrackOps runtime ${config.trackopsVersion} is ready.`);
198
200
  process.exit(EXIT_CODES.READY);
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "trackops",
3
- "shortDescription": "Global TrackOps skill for local project orchestration and operational automation with AI agents.",
4
- "description": "Installs TrackOps as a global skill, prepares your agent for local project orchestration, ensures the runtime on first use, and guides per-project activation with optional OPERA.",
5
- "skillVersion": "1.1.0",
6
- "trackopsVersion": "1.1.0",
3
+ "shortDescription": "Global TrackOps skill for local project orchestration, agent coordination, bilingual onboarding, and operational automation.",
4
+ "description": "Installs TrackOps as a global skill, ensures the runtime on first use, lets users choose Spanish or English, activates local project orchestration, and routes OPERA onboarding into either direct bootstrap or agent-led discovery.",
5
+ "skillVersion": "2.0.1",
6
+ "trackopsVersion": "2.0.1",
7
7
  "npmPackage": "trackops",
8
8
  "bootstrapPolicy": "first_use",
9
9
  "supportedAgentsV1": [
@@ -4,23 +4,24 @@
4
4
  Eres el agente principal del proyecto **{{PROJECT_NAME}}**. Operas bajo el protocolo O.P.E.R.A. v3.0.
5
5
 
6
6
  ## Fuente de Verdad
7
- Tu fuente de verdad es `genesis.md`. Antes de tomar cualquier decisión, consulta este archivo.
8
- Para el seguimiento operativo y el estado del backlog, usa `project_control.json`.
7
+ Tu fuente de verdad de maquina es `ops/contract/operating-contract.json`.
8
+ Tu vista humana compilada es `ops/genesis.md`.
9
+ Para el seguimiento operativo y el estado del backlog, usa `ops/project_control.json`.
9
10
 
10
11
  ## Comportamiento
11
- - Sigue las reglas de comportamiento definidas en `genesis.md`.
12
- - Respeta la Matriz de Autonomía (Semáforo) para determinar qué acciones puedes tomar.
13
- - Gestiona tareas y estados desde `project_control.json`.
14
- - No edites manualmente `task_plan.md`, `progress.md` ni `findings.md`; se regeneran con `trackops sync`.
12
+ - Sigue las reglas definidas en `ops/contract/operating-contract.json` y reflejadas en `ops/genesis.md`.
13
+ - Respeta `ops/policy/autonomy.json` para determinar qué acciones puedes tomar sin aprobacion.
14
+ - Gestiona tareas y estados desde `ops/project_control.json`.
15
+ - No edites manualmente `ops/task_plan.md`, `ops/progress.md` ni `ops/findings.md`; se regeneran con `trackops sync`.
15
16
 
16
17
  ## Skills Disponibles
17
- Consulta `.agents/skills/_registry.md` para ver las skills instaladas.
18
+ Consulta `ops/.agents/skills/_registry.md` para ver las skills instaladas.
18
19
  También puedes buscar nuevas skills con `trackops skill catalog`.
19
20
 
20
21
  ## Ciclo de Trabajo
21
22
  1. Ejecuta `trackops status` al inicio de cada bloque de trabajo.
22
- 2. Consulta `genesis.md` para entender los datos y reglas.
23
+ 2. Consulta `ops/contract/operating-contract.json` y `ops/genesis.md` para entender el contrato y su vista humana.
23
24
  3. Usa `trackops next` para ver la siguiente cola priorizada.
24
25
  4. Antes de implementar, marca la tarea con `trackops task start <task-id>`.
25
- 5. Usa el router (`.agent/hub/router.md`) para saber qué skill aplicar.
26
+ 5. Usa el router (`ops/.agent/hub/router.md`) para saber que skill aplicar.
26
27
  6. Al terminar, pasa la tarea a `review`, `complete` o `block` y ejecuta `trackops sync`.
@@ -0,0 +1,24 @@
1
+ # Dependency Graph
2
+
3
+ ```mermaid
4
+ flowchart TD
5
+ A[Global runtime bootstrap] --> B[trackops init]
6
+ B --> C[trackops opera install]
7
+ C --> D{Routing}
8
+ D -->|direct_cli| E[Direct intake]
9
+ D -->|agent_handoff| F[agent-handoff.md/json]
10
+ F --> G[intake.json + spec-dossier.md]
11
+ E --> H[quality-report.json]
12
+ G --> H
13
+ H --> I[operating-contract.json]
14
+ I --> J[genesis.md]
15
+ I --> K[task_plan.md / progress.md / findings.md]
16
+ I --> L[dashboard + API state]
17
+ I --> M[env sync + policy enforcement]
18
+ ```
19
+
20
+ ## Notes
21
+
22
+ - `ops/project_control.json` is the operational source of truth for backlog and session state.
23
+ - `ops/contract/operating-contract.json` is the machine contract.
24
+ - `ops/genesis.md` is a compiled human view.
@@ -0,0 +1,24 @@
1
+ # SOP - Runtime Automation
2
+
3
+ ## Objective
4
+
5
+ Keep validation automatic on every relevant change.
6
+
7
+ ## Trigger policy
8
+
9
+ - Validate on push to `develop` and `master`.
10
+ - Validate on pull requests targeting `develop` or `master`.
11
+ - Allow manual execution with workflow dispatch.
12
+
13
+ ## Validation circuit
14
+
15
+ 1. Install Node 18 and 20.
16
+ 2. Install runtime dependencies.
17
+ 3. Run `npm run release:check`.
18
+ 4. Fail fast on any smoke, skill or packaging regression.
19
+
20
+ ## Release hygiene
21
+
22
+ - Do not publish if `release:check` fails.
23
+ - Do not treat local runtime state as deployable proof.
24
+ - Re-run smoke after structural or locale changes.
@@ -0,0 +1,34 @@
1
+ # SOP - Runtime Operations
2
+
3
+ ## Purpose
4
+
5
+ Define the minimum operating procedure to keep a TrackOps + OPERA workspace healthy.
6
+
7
+ ## Inputs
8
+
9
+ - `ops/project_control.json`
10
+ - `ops/contract/operating-contract.json`
11
+ - `ops/policy/autonomy.json`
12
+ - `ops/bootstrap/quality-report.json`
13
+
14
+ ## Core checks
15
+
16
+ 1. Run `trackops status`.
17
+ 2. Run `trackops opera status`.
18
+ 3. Run `trackops env status`.
19
+ 4. Confirm `contract readiness` is not `hypothesis` for active delivery work.
20
+ 5. Confirm `legacyStatus` is `supported`.
21
+
22
+ ## Recovery path
23
+
24
+ 1. If bootstrap is incomplete, run `trackops opera handoff --print`.
25
+ 2. If discovery artifacts already exist, run `trackops opera bootstrap --resume`.
26
+ 3. If operational docs drift, run `trackops sync`.
27
+ 4. If managed artifacts drift, run `trackops opera upgrade --stable`.
28
+
29
+ ## Exit criteria
30
+
31
+ - Runtime status is readable.
32
+ - OPERA status is readable.
33
+ - Contract and policy files exist.
34
+ - No critical blocker remains undocumented.