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.
- package/README.md +194 -230
- package/bin/trackops.js +54 -28
- package/lib/config.js +14 -10
- package/lib/control.js +44 -32
- package/lib/env.js +18 -1
- package/lib/init.js +40 -6
- package/lib/opera-bootstrap.js +825 -273
- package/lib/opera.js +360 -110
- package/lib/preferences.js +74 -0
- package/lib/runtime-state.js +144 -0
- package/lib/server.js +155 -25
- package/locales/en.json +136 -42
- package/locales/es.json +136 -42
- package/package.json +2 -1
- package/scripts/postinstall-locale.js +21 -0
- package/scripts/smoke-tests.js +130 -5
- package/scripts/validate-skill.js +2 -1
- package/skills/trackops/SKILL.md +67 -45
- package/skills/trackops/agents/openai.yaml +5 -1
- package/skills/trackops/locales/en/SKILL.md +86 -0
- package/skills/trackops/locales/en/references/activation.md +73 -0
- package/skills/trackops/locales/en/references/troubleshooting.md +49 -0
- package/skills/trackops/locales/en/references/workflow.md +26 -0
- package/skills/trackops/references/activation.md +53 -19
- package/skills/trackops/references/troubleshooting.md +36 -21
- package/skills/trackops/references/workflow.md +21 -15
- package/skills/trackops/scripts/bootstrap-trackops.js +9 -7
- package/skills/trackops/skill.json +4 -4
- package/templates/opera/agent.md +10 -9
- package/templates/opera/architecture/dependency-graph.md +24 -0
- package/templates/opera/architecture/runtime-automation.md +24 -0
- package/templates/opera/architecture/runtime-operations.md +34 -0
- package/templates/opera/en/agent.md +21 -20
- package/templates/opera/en/architecture/dependency-graph.md +24 -0
- package/templates/opera/en/architecture/runtime-automation.md +24 -0
- package/templates/opera/en/architecture/runtime-operations.md +34 -0
- package/templates/opera/en/reviews/delivery-audit.md +18 -0
- package/templates/opera/en/reviews/integration-audit.md +18 -0
- package/templates/opera/en/router.md +19 -9
- package/templates/opera/reviews/delivery-audit.md +18 -0
- package/templates/opera/reviews/integration-audit.md +18 -0
- package/templates/opera/router.md +15 -5
- package/templates/skills/opera-contract-auditor/SKILL.md +38 -0
- package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -0
- package/templates/skills/opera-policy-guard/SKILL.md +26 -0
- package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -0
- package/templates/skills/project-starter-skill/SKILL.md +89 -164
- package/templates/skills/project-starter-skill/locales/en/SKILL.md +104 -24
- package/ui/js/views/overview.js +16 -12
- package/templates/etapa/agent.md +0 -26
- package/templates/etapa/genesis.md +0 -94
- package/templates/etapa/references/autonomy-and-recovery.md +0 -117
- package/templates/etapa/references/etapa-cycle.md +0 -193
- package/templates/etapa/registry.md +0 -28
- 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
|
-
#
|
|
1
|
+
# Activacion
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Instalacion global
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Install it with:
|
|
5
|
+
Instala la skill del marketplace:
|
|
8
6
|
|
|
9
7
|
```bash
|
|
10
|
-
npx skills add Baxahaun/trackops
|
|
8
|
+
npx skills add Baxahaun/trackops
|
|
11
9
|
```
|
|
12
10
|
|
|
13
|
-
|
|
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
|
-
|
|
17
|
+
La skill global no debe crear archivos dentro de repositorios por si sola.
|
|
22
18
|
|
|
23
|
-
##
|
|
19
|
+
## Activacion local
|
|
24
20
|
|
|
25
|
-
|
|
21
|
+
Dentro de un repositorio:
|
|
26
22
|
|
|
27
23
|
```bash
|
|
28
24
|
trackops init
|
|
29
25
|
trackops opera install
|
|
30
26
|
```
|
|
31
27
|
|
|
32
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
|
|
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
|
-
##
|
|
3
|
+
## Faltan prerequisitos
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
-
|
|
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
|
-
##
|
|
8
|
+
## Fallo al instalar la skill global
|
|
9
9
|
|
|
10
|
-
-
|
|
11
|
-
`npx skills add Baxahaun/trackops
|
|
12
|
-
-
|
|
13
|
-
-
|
|
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
|
-
##
|
|
16
|
+
## Fallo en el bootstrap del runtime
|
|
16
17
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
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
|
-
##
|
|
21
|
+
## OPERA ha derivado el bootstrap al agente
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
Es el comportamiento esperado cuando:
|
|
23
24
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
25
|
+
- el usuario no es tecnico
|
|
26
|
+
- el proyecto sigue en fase idea
|
|
27
|
+
- la documentacion es debil
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
Usa:
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
```bash
|
|
32
|
+
trackops opera handoff --print
|
|
33
|
+
trackops opera bootstrap --resume
|
|
34
|
+
```
|
|
31
35
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
3
|
+
Una vez que TrackOps esta activo en un repositorio:
|
|
4
4
|
|
|
5
|
-
1.
|
|
6
|
-
2.
|
|
7
|
-
3.
|
|
8
|
-
4.
|
|
9
|
-
5.
|
|
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
|
-
|
|
11
|
+
Reglas operativas:
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
- `app/.env`
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
133
|
-
const
|
|
134
|
-
|
|
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
|
-
|
|
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
|
|
4
|
-
"description": "Installs TrackOps as a global skill,
|
|
5
|
-
"skillVersion": "
|
|
6
|
-
"trackopsVersion": "
|
|
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": [
|
package/templates/opera/agent.md
CHANGED
|
@@ -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 `
|
|
8
|
-
|
|
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
|
|
12
|
-
- Respeta
|
|
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
|
|
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
|
|
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 (
|
|
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.
|