repo-harness 0.7.0 → 0.7.2

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 (42) hide show
  1. package/.agents/skills/repo-harness-chatgpt-browser/SKILL.md +29 -18
  2. package/README.es.md +138 -107
  3. package/README.fr.md +152 -120
  4. package/README.ja.md +130 -91
  5. package/README.md +115 -228
  6. package/README.zh-CN.md +103 -116
  7. package/SKILL.md +2 -0
  8. package/assets/hooks/post-bash.sh +3 -6
  9. package/assets/hooks/prompt-guard.sh +1 -1
  10. package/assets/hooks/session-start-context.sh +34 -7
  11. package/assets/reference-configs/agentic-development-flow.md +2 -0
  12. package/assets/reference-configs/external-tooling.md +9 -1
  13. package/assets/reference-configs/harness-overview.md +16 -0
  14. package/assets/skill-commands/manifest.json +14 -0
  15. package/assets/skill-commands/repo-harness-gptpro/SKILL.md +82 -0
  16. package/assets/skill-commands/repo-harness-gptpro-setup/SKILL.md +82 -0
  17. package/assets/skill-version.json +10 -2
  18. package/assets/templates/helpers/check-agent-tooling.sh +7 -2
  19. package/docs/images/repo-harness-gptpro-cn.png +0 -0
  20. package/docs/images/repo-harness-gptpro.png +0 -0
  21. package/docs/repo-harness-chatgpt-browser-engine.md +90 -9
  22. package/package.json +1 -1
  23. package/scripts/check-agent-tooling.sh +7 -2
  24. package/scripts/lib/project-init-lib.sh +6 -0
  25. package/scripts/sync-codex-installed-copies.sh +39 -0
  26. package/src/cli/chatgpt-browser/bind-server.ts +503 -0
  27. package/src/cli/chatgpt-browser/binding.ts +140 -0
  28. package/src/cli/chatgpt-browser/bridge-extension.ts +221 -0
  29. package/src/cli/chatgpt-browser/bridge-provider.ts +268 -0
  30. package/src/cli/chatgpt-browser/engine.ts +419 -32
  31. package/src/cli/chatgpt-browser/file-policy.ts +1 -1
  32. package/src/cli/chatgpt-browser/native-provider.ts +186 -11
  33. package/src/cli/chatgpt-browser/oracle-provider.ts +383 -54
  34. package/src/cli/chatgpt-browser/session-store.ts +8 -1
  35. package/src/cli/chatgpt-browser/types.ts +15 -2
  36. package/src/cli/commands/chatgpt.ts +127 -12
  37. package/src/cli/commands/init-hook.ts +7 -4
  38. package/src/cli/commands/init.ts +3 -2
  39. package/src/cli/commands/mcp.ts +4 -0
  40. package/src/cli/mcp/auth.ts +4 -0
  41. package/src/cli/mcp/setup.ts +146 -17
  42. package/src/core/adoption/gitignore-plan.ts +6 -0
@@ -18,32 +18,42 @@ Use this skill when the user asks to consult ChatGPT Web, GPT Pro, browser GPT,
18
18
  repo-harness chatgpt browser-consult --repo . --dry-run --prompt "<prompt>" --file <path>
19
19
  ```
20
20
 
21
- 5. For readiness, run:
21
+ 5. For Oracle provider readiness, run:
22
22
 
23
23
  ```bash
24
- repo-harness chatgpt browser-doctor --repo .
24
+ repo-harness chatgpt browser-doctor --repo . --provider oracle --json
25
25
  ```
26
26
 
27
- 6. Use browser consult for planning, review, critique, and goal generation. Do not use it as the executor for code edits.
28
- 7. Save useful results into repo-harness artifacts with repo-relative `--write-output` paths such as:
27
+ 6. Oracle's published CLI requires `node >=24`, but that requirement belongs to the resolved Oracle binary. Do not raise repo-harness' overall runtime floor or add Oracle as an implicit dependency just for a GPT Pro consult. If the Oracle doctor reports `nodeCompatible:false`, fix the Oracle install/runtime and rerun doctor.
28
+ 7. If the Oracle doctor JSON includes `agent_actions` such as `chatgpt-oracle-install-pinned`, `chatgpt-oracle-upgrade-pinned`, or `chatgpt-oracle-fix-configured-source`, run them only when the user has explicitly asked to set up or repair GPT Pro browser consults. Do not run Oracle bootstrap from default repo-harness install or unrelated setup checks.
29
+ 8. If the user wants Oracle to use an existing signed-in Chrome profile, record the selected profile metadata first:
30
+
31
+ ```bash
32
+ repo-harness chatgpt browser-setup --repo . --profile-dir <user-selected-chrome-profile-dir> --browser-channel chrome
33
+ repo-harness chatgpt browser-doctor --repo . --provider oracle --json
34
+ ```
35
+
36
+ The Oracle path must fail closed rather than silently falling back to an unbound/default browser session. Use `browser-bind` only when the user explicitly asks for the experimental bridge provider; then report the printed `Local authorization URL: http://127.0.0.1:...` and `bridgeExtension=...`, keep the command running while they authorize, and stop it before `browser-consult --provider bridge`.
37
+ 9. Use browser consult for planning, review, critique, and goal generation. Do not use it as the executor for code edits.
38
+ 10. Save useful results into repo-harness artifacts with repo-relative, timestamped `--write-output` paths such as:
29
39
 
30
40
  ```text
31
- .ai/harness/handoff/chatgpt-review.md
32
- .ai/harness/handoff/codex-goal.md
41
+ .ai/harness/handoff/chatgpt-review-<timestamp>.md
42
+ .ai/harness/handoff/codex-goal-<timestamp>.md
33
43
  plans/prds/*.prd.md
34
44
  plans/sprints/*.sprint.md
35
45
  ```
36
46
 
37
- 8. If login, captcha, workspace picker, or SSO is required, stop and ask the user to complete it in the browser.
38
- 9. Do not enable remote CDP unless the user explicitly asked for remote browser control and the security boundary is documented.
39
- 10. For MCP usage, require the server to be started with:
47
+ 11. If login, captcha, workspace picker, or SSO is required, stop and ask the user to complete it in the browser.
48
+ 12. Do not enable remote CDP unless the user explicitly asked for remote browser control and the security boundary is documented.
49
+ 13. For MCP usage, require the server to be started with:
40
50
 
41
51
  ```bash
42
52
  repo-harness mcp serve --repo . --enable-chatgpt-browser
43
53
  ```
44
54
 
45
- 11. Do not rely on provider stdout `Artifact:` / `Output:` paths being imported. Browser engine session records save prompt, transcript, output, metadata, and trusted provider IDs; ordinary stdout paths are ignored.
46
- 12. Native provider uses the current ChatGPT Web model selection. Do not pass `--model` or `--thinking` with `--provider native`; use Oracle when model selection is required.
55
+ 14. Do not rely on provider stdout `Artifact:` / `Output:` paths being imported. Browser engine session records save prompt, transcript, output, metadata, and trusted provider IDs; ordinary stdout paths are ignored.
56
+ 15. Native and bridge providers use the current ChatGPT Web model selection. Do not pass `--model` or `--thinking` with `--provider native` or `--provider bridge`; use Oracle when model selection is required.
47
57
 
48
58
  ## Common Commands
49
59
 
@@ -60,27 +70,28 @@ repo-harness chatgpt browser-consult \
60
70
  Oracle provider consult:
61
71
 
62
72
  ```bash
73
+ stamp="$(date -u +%Y%m%dT%H%M%SZ)"
63
74
  repo-harness chatgpt browser-consult \
64
75
  --repo . \
65
76
  --provider oracle \
66
77
  --prompt "Review this PRD and return risks plus a smallest next step." \
67
78
  --file plans/prds/example.prd.md \
68
- --write-output .ai/harness/handoff/chatgpt-review.md
79
+ --write-output ".ai/harness/handoff/chatgpt-review-${stamp}.md"
69
80
  ```
70
81
 
71
- Native provider spike:
82
+ Bridge provider for an existing signed-in profile:
72
83
 
73
84
  ```bash
74
- repo-harness chatgpt browser-doctor --repo . --provider native
85
+ repo-harness chatgpt browser-doctor --repo . --provider bridge
86
+ repo-harness chatgpt browser-setup --repo . --profile-dir <user-selected-chrome-profile-dir> --browser-channel chrome
87
+ repo-harness chatgpt browser-bind --repo . --open
75
88
  repo-harness chatgpt browser-consult \
76
89
  --repo . \
77
- --provider native \
78
- --browser-channel chrome \
79
- --keep-browser \
90
+ --provider bridge \
80
91
  --prompt "Reply exactly OK"
81
92
  ```
82
93
 
83
- Use native provider only when the user is ready for a visible ChatGPT Web run. If login is required, keep the browser open and have the user complete login manually; do not request or handle credentials.
94
+ Use bridge/native providers only when the user is ready for a visible ChatGPT Web run. If login is required, have the user complete it from the local authorization page; do not request or handle credentials.
84
95
 
85
96
  Read the result:
86
97
 
package/README.es.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # repo-harness
2
2
 
3
3
  <p align="center">
4
- <img src="docs/images/image.png" alt="One next button joining Claude and Codex under repo-harness workflow rules" width="760">
4
+ <img src="docs/images/repo-harness-gptpro.png" alt="repo-harness architecture and ChatGPT Pro local planner workflow diagram" width="960">
5
5
  </p>
6
6
 
7
7
  `repo-harness` convierte las sesiones de programación con Claude/Codex en un
@@ -56,38 +56,36 @@ En un repositorio adoptado, la superficie se mantiene pequeña:
56
56
  | `tasks/contracts/`, `tasks/reviews/` y `.ai/harness/checks/` | Scope, verificación y evidencia de review para probar que el trabajo terminó. |
57
57
  | `.ai/harness/handoff/` y `tasks/current.md` | Session journal y estado resumible, derivados de workflow artifacts en vez de chat memory. |
58
58
 
59
- ## Novedades en 0.7.0
60
-
61
- - **ChatGPT browser engine.** `repo-harness chatgpt browser-*` crea sesiones
62
- ChatGPT Web repo-locales con archivos revisados por policy, sin usar OpenAI API.
63
- - **MCP browser tools opt-in.** `repo-harness mcp serve
64
- --enable-chatgpt-browser` expone consult/read/list/continue/open; por defecto
65
- estos tools siguen desactivados.
66
- - **Oracle y native providers.** El engine incluye un Oracle browser wrapper y
67
- un spike native vía Chrome instalado + CDP local.
68
- - **Hosted CI y release smoke.** El repo añade un GitHub CI gate y un tarball
69
- install smoke que arranca los binarios empaquetados de `repo-harness`.
70
-
71
- ## Qué hace el producto
72
-
73
- `repo-harness` convierte el desarrollo asistido por IA de una "coordinación verbal
74
- en el historial de chat" en un "estado de workflow auditable en el repositorio".
75
- Instala en el repositorio objetivo un conjunto de contracts de archivos pequeño y
76
- explícito, para que Claude, Codex y las personas tengan una misma fuente de verdad
77
- sobre estas cuestiones:
78
-
79
- - cuál es la intención de producto estable
80
- - qué plan ya está aprobado para entrar en ejecución
81
- - qué scope permite modificar el sprint contract actual
82
- - qué checks, review y evidence prueban que la tarea está realmente completa
83
- - cómo deben los hooks advertir, bloquear, registrar trace y hacer handoff entre
84
- sesiones
85
-
86
- No es un agent gateway, ni un runtime de producto, ni un servicio de base de
87
- datos, ni un MCP server. El límite del producto es claro: inspecciona el
88
- repositorio objetivo, instala o refresca los archivos de workflow, enruta los host
89
- events de Claude/Codex hacia los hooks repo-local, y luego verifica que esas
90
- workflow surfaces sigan siendo coherentes.
59
+ ## Human Review Path
60
+
61
+ Empieza por `tasks/reviews/<task>.review.md`. La `## Human Review Card` es la
62
+ superficie de decisión de una sola pantalla: verdict, change type, archivos
63
+ previstos vs reales, comandos que pasaron, external acceptance, riesgo residual,
64
+ acción del reviewer y rollback. Luego inspecciona el contract activo, el último
65
+ trace en `.ai/harness/checks/latest.json` y los archivos modificados. Acepta solo
66
+ cuando la review recomiende pass, el verdict de la card sea pass y el external
67
+ acceptance sea pass, `not_required` o un manual override explícito.
68
+
69
+ ## Agent Tracking Path
70
+
71
+ Los agentes leen los source artifacts antes que los resúmenes derivados:
72
+
73
+ | Agent reads first | Human reviews first |
74
+ | --- | --- |
75
+ | Prompt actual del usuario y archivos referenciados | Human Review Card de `tasks/reviews/<task>.review.md` |
76
+ | `AGENTS.md` / `CLAUDE.md` | Archivos modificados y diff |
77
+ | Plan activo en `.ai/harness/active-plan` | Allowed paths y exit criteria del contract activo |
78
+ | Contract activo en `tasks/contracts/` | `.ai/harness/checks/latest.json` y run trace |
79
+ | Último handoff en `.ai/harness/handoff/` | Riesgos residuales y rollback |
80
+
81
+ `tasks/current.md` es solo un snapshot de orientación. Si discrepa del plan
82
+ activo, el contract, la review, los checks o el handoff, ganan los source
83
+ artifacts.
84
+
85
+ ## Novedades
86
+
87
+ Las notas de versión viven en [`docs/CHANGELOG.md`](docs/CHANGELOG.md). La línea
88
+ actual es `0.7.2`.
91
89
 
92
90
  ## Cómo funciona
93
91
 
@@ -196,6 +194,10 @@ retoma contra un sprint concreto en vez de reinterpretar el chat original.
196
194
  Esta es la ruta más rápida para evaluar si un repositorio real es apto para
197
195
  adoptar este workflow.
198
196
 
197
+ Prerrequisitos: un Git working tree, `bash` y `bun` (para la verificación
198
+ posterior y el template assembly). `jq` es opcional para `--dry-run`, pero se
199
+ recomienda al aplicar el settings merge.
200
+
199
201
  ### Instalar el CLI
200
202
 
201
203
  La ruta por defecto no requiere Node.js: el instalador usa Bun como runtime. Si
@@ -210,15 +212,15 @@ irm https://raw.githubusercontent.com/Ancienttwo/repo-harness/main/install.ps1 |
210
212
  ```
211
213
 
212
214
  <details>
213
- <summary>¿Ya tienes Bun o Node? Usa gestores de paquetes</summary>
215
+ <summary>¿Ya tienes Bun? Usa Bun primero, o npx como fallback</summary>
214
216
 
215
217
  ```bash
216
- # Bun
218
+ # Bun (recomendado)
217
219
  bun add -g repo-harness
218
- repo-harness init
220
+ repo-harness install
219
221
 
220
- # Node/npm, con Bun ya en PATH porque el CLI corre sobre Bun
221
- npx -y repo-harness init
222
+ # Fallback con npx, con Bun ya en PATH porque el CLI corre sobre Bun
223
+ npx -y repo-harness install
222
224
  ```
223
225
 
224
226
  </details>
@@ -226,54 +228,27 @@ npx -y repo-harness init
226
228
  ### Bootstrap del runtime del host
227
229
 
228
230
  ```bash
229
- repo-harness init
231
+ repo-harness install
230
232
  ```
231
233
 
232
- `repo-harness init` es el bootstrap global, `repo-harness update` es el refresco
233
- user-level y `repo-harness adopt` es el refresco repo-local. `repo-harness init`
234
+ `repo-harness install` es el bootstrap global, `repo-harness update` es el refresco
235
+ user-level y `repo-harness adopt` es el refresco repo-local. `repo-harness install`
234
236
  configura el CLI, los hook adapters de nivel usuario, Waza, Mermaid, el brain
235
237
  root y CodeGraph MCP; el viejo camino Claude plugin `scripts/setup-plugins.sh`
236
238
  queda retirado.
237
239
 
238
- Si trabajas desde un checkout del código fuente:
239
-
240
- ```bash
241
- git clone https://github.com/Ancienttwo/repo-harness.git ~/Projects/repo-harness
242
- cd ~/Projects/repo-harness
243
- bun src/cli/index.ts init
244
- ```
245
-
246
- Modelo de rutas locales:
247
-
248
- - Repositorio fuente: `~/Projects/repo-harness`
249
- - Claude skill alias: `~/.claude/skills/repo-harness`
250
- - Codex discoverable skill alias: `~/.codex/skills/repo-harness`
251
-
252
- `~/Projects/repo-harness` es la única source of truth editable. Las rutas locales
253
- de Claude/Codex son runtime entrypoints respaldados por symlinks. Los directorios
254
- de los runtimes ya retirados `repo-harness-skill` y `project-initializer` los
255
- elimina `scripts/sync-codex-installed-copies.sh`.
256
-
257
- ### Prerrequisitos mínimos
258
-
259
- - Git working tree
260
- - `bash`
261
- - `bun`, para la verificación posterior y el template assembly
262
- - `jq` es opcional; se recomienda al hacer `--dry-run` y resulta más útil al
263
- aplicar el settings merge
264
-
265
240
  ### Empieza por aquí
266
241
 
267
242
  En un repositorio existente, ejecuta desde el repo root:
268
243
 
269
244
  ```bash
270
- npx -y repo-harness adopt --dry-run
245
+ repo-harness adopt --dry-run
271
246
  ```
272
247
 
273
248
  Aplica solo después de que el reporte del dry-run sea correcto:
274
249
 
275
250
  ```bash
276
- npx -y repo-harness adopt
251
+ repo-harness adopt
277
252
  ```
278
253
 
279
254
  Para un proyecto o módulo nuevo, usa la branch command `repo-harness-scaffold`.
@@ -301,6 +276,67 @@ bun test
301
276
  Si la salida del dry-run no es correcta, detente aquí primero y lee
302
277
  [`docs/reference-configs/hook-operations.md`](docs/reference-configs/hook-operations.md).
303
278
 
279
+ ## MCP Connector Quickstart
280
+
281
+ Como sidecar opcional, `repo-harness mcp` expone solo workflow artifacts a los
282
+ clientes MCP. ChatGPT actúa como planner/reviewer que lee el estado y mueve una
283
+ idea a través de PRD, Sprint checklist y artifacts de handoff de goal de Codex —
284
+ sin acceso de escritura al código fuente, ejecución de shell arbitraria ni un
285
+ runner de Codex por defecto. Codex sigue siendo el ejecutor.
286
+
287
+ Este sidecar asume que el CLI ya está instalado según «Primeros 5 minutos» de
288
+ arriba. Úsalo cuando quieras que ChatGPT planifique contra el estado real del
289
+ repositorio y que Codex ejecute el Sprint file-backed resultante.
290
+
291
+ ```bash
292
+ repo-harness mcp setup chatgpt --repo .
293
+ repo-harness mcp serve --repo . --transport http --host 127.0.0.1 --port 8765 --profile planner
294
+ ```
295
+
296
+ Expón ese server local a través de un túnel HTTPS y crea un Connector de ChatGPT
297
+ con la URL `/mcp`. La guía generada se escribe en:
298
+
299
+ ```text
300
+ docs/repo-harness-chatgpt-mcp-setup.md
301
+ ```
302
+
303
+ El human workflow es:
304
+
305
+ 1. ChatGPT lee los archivos de workflow de repo-harness a través de MCP.
306
+ 2. ChatGPT escribe un PRD con `write_prd_from_idea`.
307
+ 3. ChatGPT escribe un Sprint checklist con `write_checklist_sprint`.
308
+ 4. ChatGPT prepara `.ai/harness/handoff/codex-goal.md` con `prepare_codex_goal_from_sprint`.
309
+ 5. Codex ejecuta el prompt host-native `/goal` y hace stage de cada Sprint phase completada.
310
+
311
+ Alternativa local para el último paso de handoff:
312
+
313
+ ```bash
314
+ repo-harness mcp prepare-goal --repo . --prd plans/prds/<feature>.prd.md --sprint plans/sprints/<feature>.sprint.md
315
+ ```
316
+
317
+ El Skill orientado al agente se instala en:
318
+
319
+ ```text
320
+ .agents/skills/repo-harness-chatgpt-bridge/SKILL.md
321
+ ```
322
+
323
+ Ese Skill le indica a Codex cómo consumir los artifacts PRD/Sprint/Goal
324
+ producidos por ChatGPT sin concederle a ChatGPT escritura sobre el source-code
325
+ ni ejecución de shell.
326
+
327
+ El Dev Mode puede optar por la ejecución local de agentes a través de MCP. Está
328
+ desactivado por defecto. Cuando el usuario activa el profile `orchestrator` con
329
+ el ajuste dev runner, ChatGPT puede llamar a `run_agent_goal`, que solo lee
330
+ `.ai/harness/handoff/codex-goal.md` y ejecuta el handoff fijo a través de un CLI
331
+ local permitido como `codex exec` o `claude -p`.
332
+
333
+ ```bash
334
+ repo-harness mcp serve --repo . --transport http --profile orchestrator --enable-dev-runner --dev-runner-agents codex
335
+ ```
336
+
337
+ Este ajuste es solo para el Developer Mode local. Tiene límite de timeout, está
338
+ auditado, y no es un shell arbitrario.
339
+
304
340
  ## Hook Authority Map
305
341
 
306
342
  - `.ai/hooks/` es la única shared hook implementation que se debe editar de forma prioritaria.
@@ -383,37 +419,11 @@ Guards habituales:
383
419
 
384
420
  ## Release actual
385
421
 
386
- - npm package: `repo-harness@0.7.0`
387
- - Generated workflow stamp: `repo-harness@0.7.0+template@0.7.0`
422
+ - npm package: `repo-harness@0.7.2`
423
+ - Generated workflow stamp: `repo-harness@0.7.2+template@0.7.2`
388
424
  - GitHub repository: `Ancienttwo/repo-harness`
389
425
  - Release history: [`docs/CHANGELOG.md`](docs/CHANGELOG.md)
390
426
 
391
- ## Current Model
392
-
393
- - El question flow usa **12 grouped decision points**, infiriendo primero los harness defaults.
394
- - El plan menu está por capas: los **Core Plans (A-F)** primero, los **Custom Presets (G-K)** solo cuando hace falta.
395
- - El skill routing es inspection-first:
396
- - `scripts/inspect-project-state.ts`
397
- - `scripts/migrate-workflow-docs.ts`
398
- - `assets/workflow-contract.v1.json`
399
- - Runtime mode is configurable with template vars:
400
- - `{{RUNTIME_MODE}}`
401
- - `{{RUNTIME_PROFILE}}`
402
- - `{{RECOVERY_PROFILE}}`
403
- - `{{STATE_PROFILE}}`
404
- - Question-pack source of truth is in:
405
- - `assets/initializer-question-pack.v4.json`
406
- - Los generated repos usan por defecto el repo-local harness flow:
407
- - `docs/spec.md -> plans/ -> tasks/contracts/ -> tasks/reviews/ -> .ai/context/context-map.json -> .ai/harness/*`
408
- - `repo-harness update` refresca las runtime pieces de usuario:
409
- - los `repo-harness` skill aliases
410
- - los global Codex/Claude hook adapters
411
- - las Waza skills: `think`, `hunt`, `check`, `health`
412
- - Mermaid
413
- - El resto del external tooling se mantiene advisory-only:
414
- - `bash scripts/check-agent-tooling.sh --host both --check-updates`
415
- - no configura automáticamente gstack, gbrain, CodeGraph MCP, daemon ni provider
416
-
417
427
  ## Agradecimientos
418
428
 
419
429
  Gracias a [Hylarucoder](https://x.com/hylarucoder) por su contribución
@@ -429,6 +439,12 @@ Gracias a [Garry Tan](https://x.com/garrytan), autor de gstack y gbrain. Ambos
429
439
  influyeron en el workflow de product discovery, plan/design review, release
430
440
  documentation, knowledge sync y handoff retrieval.
431
441
 
442
+ Gracias a [Peter Steinberger](https://x.com/steipete), autor de Oracle
443
+ (`@steipete/oracle`, MIT). Es el motor de consult de navegador GPT Pro / ChatGPT
444
+ Web por defecto de `chatgpt-browser`: el provider Oracle ejecuta el binario oracle
445
+ externo para los consults `gptpro`, sin descarga automática, y un binario ausente
446
+ es un fallo explícito.
447
+
432
448
 
433
449
  ### Atribución de contribuidor en GitHub
434
450
 
@@ -474,15 +490,28 @@ queda como branch command para crear proyectos o módulos nuevos. `hooks-init`,
474
490
 
475
491
  ## Maintainer Reference
476
492
 
477
- ### Verificar el workflow contract de este repositorio
493
+ Quienes editan el propio paquete necesitan un checkout del código fuente:
478
494
 
479
495
  ```bash
480
- bash scripts/check-task-sync.sh
481
- bash scripts/check-task-workflow.sh --strict
482
- bun scripts/inspect-project-state.ts --repo . --format text
483
- bash scripts/migrate-project-template.sh --repo . --dry-run
496
+ git clone https://github.com/Ancienttwo/repo-harness.git ~/Projects/repo-harness
497
+ cd ~/Projects/repo-harness
498
+ bun src/cli/index.ts update
484
499
  ```
485
500
 
501
+ `~/Projects/repo-harness` es la única source of truth editable; las rutas locales
502
+ de Claude/Codex (`~/.claude/skills/repo-harness`, `~/.codex/skills/repo-harness`)
503
+ son runtime entrypoints respaldados por symlinks. Solo
504
+ `~/.codex/skills/repo-harness` expone `SKILL.md` y `assets/skill-commands/`;
505
+ `scripts/sync-codex-installed-copies.sh` reconstruye estos alias y elimina los
506
+ directorios retirados `repo-harness-skill` / `project-initializer`. El script
507
+ enlaza las rutas al repo fuente por defecto; usa
508
+ `AGENTIC_DEV_LINK_INSTALLED_COPIES=0` para staging por copia, o
509
+ `CODEX_SKILLS_ROOT` / `CLAUDE_SKILLS_ROOT` para raíces alternativas.
510
+
511
+ ### Verificar el workflow contract de este repositorio
512
+
513
+ Ejecuta el gate completo en [Verification](#verification); `bun run check:ci` es
514
+ el único comando equivalente a CI.
486
515
 
487
516
  ### Runtime reference docs
488
517
 
@@ -495,10 +524,12 @@ repo-harness docs path harness-overview
495
524
  repo-harness docs show harness-overview
496
525
  ```
497
526
 
498
- Generated and migrated repos still keep `docs/reference-configs/*.md`, but
499
- those files are deterministic pointer stubs. Repo-local workflow state,
500
- policy, checks, runs, handoff packets, context maps, and helper snapshots stay
501
- under `.ai/`.
527
+ Los defaults del initializer y del runtime (question flow, plan menu, template
528
+ vars, routing de external tooling) están documentados en `harness-overview.md`
529
+ bajo **Initializer and Runtime Model**. Generated and migrated repos still keep
530
+ `docs/reference-configs/*.md`, but those files are deterministic pointer stubs.
531
+ Repo-local workflow state, policy, checks, runs, handoff packets, context maps,
532
+ and helper snapshots stay under `.ai/`.
502
533
 
503
534
  ### Template assembly
504
535