trackops 1.1.0 → 2.0.0

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 (51) 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 +57 -32
  19. package/skills/trackops/agents/openai.yaml +1 -1
  20. package/skills/trackops/references/activation.md +50 -16
  21. package/skills/trackops/references/troubleshooting.md +35 -20
  22. package/skills/trackops/references/workflow.md +18 -12
  23. package/skills/trackops/scripts/bootstrap-trackops.js +9 -7
  24. package/skills/trackops/skill.json +4 -4
  25. package/templates/opera/agent.md +10 -9
  26. package/templates/opera/architecture/dependency-graph.md +24 -0
  27. package/templates/opera/architecture/runtime-automation.md +24 -0
  28. package/templates/opera/architecture/runtime-operations.md +34 -0
  29. package/templates/opera/en/agent.md +21 -20
  30. package/templates/opera/en/architecture/dependency-graph.md +24 -0
  31. package/templates/opera/en/architecture/runtime-automation.md +24 -0
  32. package/templates/opera/en/architecture/runtime-operations.md +34 -0
  33. package/templates/opera/en/reviews/delivery-audit.md +18 -0
  34. package/templates/opera/en/reviews/integration-audit.md +18 -0
  35. package/templates/opera/en/router.md +19 -9
  36. package/templates/opera/reviews/delivery-audit.md +18 -0
  37. package/templates/opera/reviews/integration-audit.md +18 -0
  38. package/templates/opera/router.md +15 -5
  39. package/templates/skills/opera-contract-auditor/SKILL.md +38 -0
  40. package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -0
  41. package/templates/skills/opera-policy-guard/SKILL.md +26 -0
  42. package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -0
  43. package/templates/skills/project-starter-skill/SKILL.md +89 -164
  44. package/templates/skills/project-starter-skill/locales/en/SKILL.md +104 -24
  45. package/ui/js/views/overview.js +16 -12
  46. package/templates/etapa/agent.md +0 -26
  47. package/templates/etapa/genesis.md +0 -94
  48. package/templates/etapa/references/autonomy-and-recovery.md +0 -117
  49. package/templates/etapa/references/etapa-cycle.md +0 -193
  50. package/templates/etapa/registry.md +0 -28
  51. package/templates/etapa/router.md +0 -39
@@ -2,38 +2,72 @@
2
2
 
3
3
  ## Global install
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
+ Install the marketplace skill:
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
+ On first use, ensure the runtime with:
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
+ The global skill must not create repository files by itself.
22
18
 
23
19
  ## Local activation
24
20
 
25
- Inside a repository, the normal flow is:
21
+ Inside a repository:
26
22
 
27
23
  ```bash
28
24
  trackops init
29
25
  trackops opera install
30
26
  ```
31
27
 
32
- Rules:
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 then produces:
50
+
51
+ - `ops/bootstrap/intake.json`
52
+ - `ops/bootstrap/spec-dossier.md`
53
+ - `ops/bootstrap/open-questions.md` when needed
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
+ 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
+ ```
@@ -2,33 +2,48 @@
2
2
 
3
3
  ## Missing prerequisites
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
+ - Install Node 18+ if Node is missing or too old.
6
+ - Install a Node distribution that includes npm if npm is missing.
7
7
 
8
- ## skills cannot find the TrackOps skill
8
+ ## Global install command failed
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
+ - 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.
14
15
 
15
- ## Global npm install failed
16
+ ## Runtime bootstrap failed
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
+ - Re-run `node scripts/bootstrap-trackops.js`.
19
+ - If npm global permissions fail, configure a user-writable npm prefix instead of using `sudo`.
19
20
 
20
- ## Runtime cannot be verified
21
+ ## OPERA routed bootstrap to the agent
21
22
 
22
- If installation succeeds but `trackops` is still not executable:
23
+ This is expected when:
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
+ - the user is non-technical
26
+ - the project is still in idea stage
27
+ - documentation is weak
27
28
 
28
- ## Workspace environment looks inconsistent
29
+ Use:
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
+ ## 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.
@@ -1,20 +1,26 @@
1
1
  # Workflow
2
2
 
3
- Once TrackOps is active in a repository, operate in this order:
3
+ Once TrackOps is active in a repository:
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. 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
10
 
11
11
  Operational rules:
12
12
 
13
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.
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
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.
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.
@@ -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.0",
6
+ "trackopsVersion": "2.0.0",
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.
@@ -1,26 +1,27 @@
1
1
  # Project Agent: {{PROJECT_NAME}}
2
2
 
3
- ## Identity
4
- You are the primary agent for **{{PROJECT_NAME}}**. You operate under the O.P.E.R.A. v3.0 protocol.
5
-
6
- ## Source of Truth
7
- Your source of truth is `genesis.md`. Before making any architectural or implementation decision, read it first.
8
- For operational tracking and backlog state, use `project_control.json`.
9
-
10
- ## Behavior
11
- - Follow the behavior rules defined in `genesis.md`.
12
- - Respect the autonomy matrix to determine which actions are allowed.
13
- - Manage tasks and states from `project_control.json`.
14
- - Do not edit `task_plan.md`, `progress.md`, or `findings.md` manually; regenerate them with `trackops sync`.
3
+ ## Identity
4
+ You are the primary agent for **{{PROJECT_NAME}}**. You operate under the O.P.E.R.A. v3.0 protocol.
5
+
6
+ ## Source of Truth
7
+ Your machine source of truth is `ops/contract/operating-contract.json`.
8
+ Your compiled human view is `ops/genesis.md`.
9
+ For operational tracking and backlog state, use `ops/project_control.json`.
10
+
11
+ ## Behavior
12
+ - Follow the rules defined in `ops/contract/operating-contract.json` and reflected in `ops/genesis.md`.
13
+ - Respect `ops/policy/autonomy.json` to determine which actions are allowed without approval.
14
+ - Manage tasks and states from `ops/project_control.json`.
15
+ - Do not edit `ops/task_plan.md`, `ops/progress.md`, or `ops/findings.md` manually; regenerate them with `trackops sync`.
15
16
 
16
17
  ## Available Skills
17
- Check `.agents/skills/_registry.md` to see installed skills.
18
+ Check `ops/.agents/skills/_registry.md` to see installed skills.
18
19
  You can also discover new skills with `trackops skill catalog`.
19
20
 
20
- ## Work Cycle
21
- 1. Run `trackops status` at the beginning of each work block.
22
- 2. Read `genesis.md` to understand the data and rules.
23
- 3. Use `trackops next` to inspect the prioritized queue.
24
- 4. Before implementing, mark the task with `trackops task start <task-id>`.
25
- 5. Use the router in `.agent/hub/router.md` to choose the right skill.
26
- 6. When you finish, move the task to `review`, `complete`, or `block`, then run `trackops sync`.
21
+ ## Work Cycle
22
+ 1. Run `trackops status` at the beginning of each work block.
23
+ 2. Read `ops/contract/operating-contract.json` and `ops/genesis.md` to understand the contract and its human view.
24
+ 3. Use `trackops next` to inspect the prioritized queue.
25
+ 4. Before implementing, mark the task with `trackops task start <task-id>`.
26
+ 5. Use the router in `ops/.agent/hub/router.md` to choose the right skill.
27
+ 6. When you finish, move the task to `review`, `complete`, or `block`, then run `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 required 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.
@@ -0,0 +1,18 @@
1
+ # Delivery Audit
2
+
3
+ ## Scope
4
+
5
+ Review the final output shape against the active templates and compiled contract.
6
+
7
+ ## Checklist
8
+
9
+ - `ops/genesis.md` matches the current contract.
10
+ - `ops/task_plan.md`, `ops/progress.md` and `ops/findings.md` are synchronized.
11
+ - Public copy matches runtime behavior.
12
+ - API and dashboard reflect the same operational state.
13
+ - Visual review completed when a UI change exists.
14
+
15
+ ## Result
16
+
17
+ - Status: pending review
18
+ - Notes: replace this section with project-specific evidence.
@@ -0,0 +1,18 @@
1
+ # Integration Audit
2
+
3
+ ## Scope
4
+
5
+ Review credentials, connectivity assumptions and external response shapes before expanding delivery.
6
+
7
+ ## Checklist
8
+
9
+ - Required keys identified from the contract and environment contract.
10
+ - Missing keys documented without exposing secret values.
11
+ - External services listed in the contract.
12
+ - Response shapes aligned with `ops/contract/operating-contract.json`.
13
+ - Findings recorded in `ops/findings.md` when applicable.
14
+
15
+ ## Result
16
+
17
+ - Status: pending review
18
+ - Notes: replace this section with project-specific evidence.
@@ -15,15 +15,25 @@ This file defines the routing rules between the main agent and the available ski
15
15
  - **Skill**: `changelog-updater`
16
16
  - **Action**: Run the changelog update flow.
17
17
 
18
- ### Context: Project initialization
19
- - **Trigger**: The user wants to create a new project.
20
- - **Skill**: `project-starter-skill` (global)
21
- - **Action**: Run the full initialization protocol.
22
-
23
- ### Context: Operational tracking
24
- - **Trigger**: A work block is about to start, resume, or close.
25
- - **Skill**: No external skill.
26
- - **Action**: Run `trackops status`, take the next task with `trackops next`, and keep `project_control.json` as the operational source of truth.
18
+ ### Context: Agent-led project start
19
+ - **Trigger**: The user has an idea, partial specification, or TrackOps has generated `ops/bootstrap/agent-handoff.md`.
20
+ - **Skill**: `project-starter-skill`
21
+ - **Action**: Turn the user context into `ops/bootstrap/intake.json`, `ops/bootstrap/spec-dossier.md`, and `ops/bootstrap/open-questions.md` when needed.
22
+
23
+ ### Context: Contract audit
24
+ - **Trigger**: `ops/contract/operating-contract.json` or `ops/bootstrap/quality-report.json` exists and there are doubts about gaps or contradictions.
25
+ - **Skill**: `opera-contract-auditor`
26
+ - **Action**: Audit consistency, gaps, and false precision before execution continues.
27
+
28
+ ### Context: Operational risk
29
+ - **Trigger**: The action affects persistent data, deployments, external side effects, or sensitive permissions.
30
+ - **Skill**: `opera-policy-guard`
31
+ - **Action**: Read `ops/policy/autonomy.json` and decide whether explicit approval is required.
32
+
33
+ ### Context: Operational tracking
34
+ - **Trigger**: A work block is about to start, resume, or close.
35
+ - **Skill**: No external skill.
36
+ - **Action**: Run `trackops status`, take the next task with `trackops next`, use `ops/contract/operating-contract.json` as the machine contract, and keep `ops/project_control.json` as the backlog source of truth.
27
37
 
28
38
  ## Adding New Rules
29
39
 
@@ -0,0 +1,18 @@
1
+ # Delivery Audit
2
+
3
+ ## Scope
4
+
5
+ Review the final output shape against the active templates and compiled contract.
6
+
7
+ ## Checklist
8
+
9
+ - `ops/genesis.md` matches the current contract.
10
+ - `ops/task_plan.md`, `ops/progress.md` and `ops/findings.md` are synchronized.
11
+ - Public copy matches runtime behavior.
12
+ - API and dashboard reflect the same operational state.
13
+ - Visual review completed when a UI change exists.
14
+
15
+ ## Result
16
+
17
+ - Status: pending review
18
+ - Notes: replace this section with project-specific evidence.
@@ -0,0 +1,18 @@
1
+ # Integration Audit
2
+
3
+ ## Scope
4
+
5
+ Review credentials, connectivity assumptions and external response shapes before expanding delivery.
6
+
7
+ ## Checklist
8
+
9
+ - Required keys identified from the contract and environment contract.
10
+ - Missing keys documented without exposing secret values.
11
+ - External services listed in the contract.
12
+ - Response shapes aligned with `ops/contract/operating-contract.json`.
13
+ - Findings recorded in `ops/findings.md` when applicable.
14
+
15
+ ## Result
16
+
17
+ - Status: pending review
18
+ - Notes: replace this section with project-specific evidence.