horcon 0.8.2a1__py3-none-any.whl

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 (219) hide show
  1. horcon/__init__.py +57 -0
  2. horcon/__main__.py +9 -0
  3. horcon/_templates/agent-system/.claude/agents/README.md +10 -0
  4. horcon/_templates/agent-system/.codex/agents/README.md +10 -0
  5. horcon/_templates/agent-system/.gitignore +13 -0
  6. horcon/_templates/agent-system/.milpa-manifest.json +16 -0
  7. horcon/_templates/agent-system/AGENTS.md +28 -0
  8. horcon/_templates/agent-system/README.md +15 -0
  9. horcon/_templates/agent-system/SOURCE.md +37 -0
  10. horcon/_templates/agent-system/TEMPLATE-DIGEST.txt +65 -0
  11. horcon/_templates/agent-system/apps/README.md +10 -0
  12. horcon/_templates/agent-system/apps/control-api/README.md +12 -0
  13. horcon/_templates/agent-system/apps/governance-console/README.md +12 -0
  14. horcon/_templates/agent-system/assurance/README.md +8 -0
  15. horcon/_templates/agent-system/assurance/evals/README.md +10 -0
  16. horcon/_templates/agent-system/assurance/tests/README.md +10 -0
  17. horcon/_templates/agent-system/docs/00-inicio-rapido/README.md +52 -0
  18. horcon/_templates/agent-system/docs/00-inicio-rapido/glosario.md +35 -0
  19. horcon/_templates/agent-system/docs/01-manifiesto/README.md +18 -0
  20. horcon/_templates/agent-system/docs/02-diagramas/README.md +16 -0
  21. horcon/_templates/agent-system/docs/03-operacion/README.md +19 -0
  22. horcon/_templates/agent-system/docs/03-operacion/runbook.md +49 -0
  23. horcon/_templates/agent-system/docs/04-contratos/README.md +15 -0
  24. horcon/_templates/agent-system/docs/INDEX.md +24 -0
  25. horcon/_templates/agent-system/docs/architecture/README.md +13 -0
  26. horcon/_templates/agent-system/docs/asilo/README.md +13 -0
  27. horcon/_templates/agent-system/governance/README.md +17 -0
  28. horcon/_templates/agent-system/governance/axioms.md +16 -0
  29. horcon/_templates/agent-system/governance/charter.md +17 -0
  30. horcon/_templates/agent-system/governance/decision-rights.md +18 -0
  31. horcon/_templates/agent-system/governance/decisions/ADR-000-plantilla.md +19 -0
  32. horcon/_templates/agent-system/governance/exceptions/README.md +21 -0
  33. horcon/_templates/agent-system/governance/keyring-directory.yaml +12 -0
  34. horcon/_templates/agent-system/governance/policies/README.md +20 -0
  35. horcon/_templates/agent-system/governance/thresholds.yaml +19 -0
  36. horcon/_templates/agent-system/infrastructure/README.md +13 -0
  37. horcon/_templates/agent-system/mkdocs.yml +89 -0
  38. horcon/_templates/agent-system/packages/agency/README.md +10 -0
  39. horcon/_templates/agent-system/packages/agency/capabilities.yaml +31 -0
  40. horcon/_templates/agent-system/packages/agency/coordination/README.md +8 -0
  41. horcon/_templates/agent-system/packages/agency/coordination/deliberation.yaml +8 -0
  42. horcon/_templates/agent-system/packages/agency/coordination/tribunal.yaml +12 -0
  43. horcon/_templates/agent-system/packages/agency/registry.yaml +3 -0
  44. horcon/_templates/agent-system/packages/agency/roles.yaml +8 -0
  45. horcon/_templates/agent-system/packages/agency/topology.yaml +12 -0
  46. horcon/_templates/agent-system/packages/agents/README.md +10 -0
  47. horcon/_templates/agent-system/packages/agents/_ejemplo-coordinator/README.md +8 -0
  48. horcon/_templates/agent-system/packages/agents/_ejemplo-coordinator/manifest.yaml +46 -0
  49. horcon/_templates/agent-system/packages/agents/_ejemplo-critic/README.md +8 -0
  50. horcon/_templates/agent-system/packages/agents/_ejemplo-critic/manifest.yaml +48 -0
  51. horcon/_templates/agent-system/packages/agents/_ejemplo-executor/README.md +8 -0
  52. horcon/_templates/agent-system/packages/agents/_ejemplo-executor/manifest.yaml +50 -0
  53. horcon/_templates/agent-system/packages/application/README.md +8 -0
  54. horcon/_templates/agent-system/packages/contracts/README.md +8 -0
  55. horcon/_templates/agent-system/packages/control/README.md +13 -0
  56. horcon/_templates/agent-system/packages/control/decisions/README.md +8 -0
  57. horcon/_templates/agent-system/packages/control/enforcement/README.md +10 -0
  58. horcon/_templates/agent-system/packages/control/guards/README.md +8 -0
  59. horcon/_templates/agent-system/packages/control/hitl/README.md +10 -0
  60. horcon/_templates/agent-system/packages/control/policies/README.md +8 -0
  61. horcon/_templates/agent-system/packages/control/state-machine/README.md +10 -0
  62. horcon/_templates/agent-system/packages/control/state-machine/session.yaml +143 -0
  63. horcon/_templates/agent-system/packages/domain/README.md +8 -0
  64. horcon/_templates/agent-system/packages/platform/README.md +8 -0
  65. horcon/_templates/agent-system/reports/README.md +8 -0
  66. horcon/agency/README.md +20 -0
  67. horcon/agency/__init__.py +13 -0
  68. horcon/agency/dec05.py +155 -0
  69. horcon/agency/manifest.schema.json +92 -0
  70. horcon/agency/naming.py +70 -0
  71. horcon/agency/registration.py +518 -0
  72. horcon/agency/rename.py +144 -0
  73. horcon/agency/role_rules.py +602 -0
  74. horcon/agency/validator.py +116 -0
  75. horcon/api/README.md +33 -0
  76. horcon/api/__init__.py +10 -0
  77. horcon/api/_traces.py +628 -0
  78. horcon/api/app.py +86 -0
  79. horcon/api/deps.py +106 -0
  80. horcon/api/routers/__init__.py +4 -0
  81. horcon/api/routers/engagements.py +112 -0
  82. horcon/api/routers/governance.py +119 -0
  83. horcon/api/routers/health.py +32 -0
  84. horcon/api/routers/kill.py +159 -0
  85. horcon/api/routers/projects.py +163 -0
  86. horcon/api/routers/registry.py +21 -0
  87. horcon/api/routers/traces.py +184 -0
  88. horcon/application/README.md +52 -0
  89. horcon/application/__init__.py +2 -0
  90. horcon/application/agregar_especialista.py +125 -0
  91. horcon/application/agregar_evidencia.py +89 -0
  92. horcon/application/dar_de_alta.py +36 -0
  93. horcon/application/ejecutar_simulacion.py +98 -0
  94. horcon/application/nuevo_encargo.py +132 -0
  95. horcon/application/pasar_aduana.py +275 -0
  96. horcon/application/proyectos.py +275 -0
  97. horcon/cli/README.md +14 -0
  98. horcon/cli/__init__.py +4 -0
  99. horcon/cli/__main__.py +2487 -0
  100. horcon/cli/context.py +484 -0
  101. horcon/cli/dotenv.py +46 -0
  102. horcon/contracts/README.md +13 -0
  103. horcon/contracts/__init__.py +0 -0
  104. horcon/contracts/engagement_scaffold.py +86 -0
  105. horcon/contracts/project_manifest.py +55 -0
  106. horcon/contracts/schemas/critic-signal.schema.json +17 -0
  107. horcon/contracts/schemas/decision-record.schema.json +24 -0
  108. horcon/contracts/schemas/engagement.schema.json +149 -0
  109. horcon/contracts/schemas/evidence-ref.schema.json +16 -0
  110. horcon/contracts/schemas/receipt.schema.json +18 -0
  111. horcon/control/README.md +29 -0
  112. horcon/control/__init__.py +12 -0
  113. horcon/control/decisions/README.md +8 -0
  114. horcon/control/decisions/__init__.py +0 -0
  115. horcon/control/decisions/enums.py +134 -0
  116. horcon/control/decisions/from_agent.py +233 -0
  117. horcon/control/decisions/policy_gate.py +95 -0
  118. horcon/control/decisions/signals.py +61 -0
  119. horcon/control/enforcement/README.md +20 -0
  120. horcon/control/enforcement/__init__.py +0 -0
  121. horcon/control/enforcement/external_processing.py +143 -0
  122. horcon/control/enforcement/grants.py +77 -0
  123. horcon/control/enforcement/killswitch.py +240 -0
  124. horcon/control/enforcement/ledger.py +473 -0
  125. horcon/control/enforcement/review_load.py +229 -0
  126. horcon/control/enforcement/workspace.py +71 -0
  127. horcon/control/guards/README.md +6 -0
  128. horcon/control/guards/__init__.py +0 -0
  129. horcon/control/guards/input_firewall.py +77 -0
  130. horcon/control/guards/output_firewall.py +55 -0
  131. horcon/control/hitl/README.md +29 -0
  132. horcon/control/hitl/__init__.py +0 -0
  133. horcon/control/hitl/adr.py +167 -0
  134. horcon/control/hitl/custody.py +657 -0
  135. horcon/control/hitl/keyring_directory.py +330 -0
  136. horcon/control/hitl/receipts.py +367 -0
  137. horcon/control/hitl/sign_helper.py +82 -0
  138. horcon/control/hitl/signing.py +142 -0
  139. horcon/control/policies/README.md +7 -0
  140. horcon/control/policies/__init__.py +0 -0
  141. horcon/control/policies/pol_001_evidencia_citada.py +23 -0
  142. horcon/control/policies/pol_002_claims_prohibidos.py +20 -0
  143. horcon/control/policies/pol_003_asesoria_legal_multipais.py +23 -0
  144. horcon/control/policies/pol_004_compuerta_por_riesgo.py +28 -0
  145. horcon/control/policies/pol_005_no_falsa_mayoria.py +24 -0
  146. horcon/control/policies/pol_006_firewall_entrada_salida.py +27 -0
  147. horcon/control/policies/pol_007_presupuesto_ttl_traza.py +24 -0
  148. horcon/control/policies/pol_008_deliberacion_acotada.py +23 -0
  149. horcon/control/policies/pol_009_receipt_hitl.py +20 -0
  150. horcon/control/policies/pol_010_impacto_humano.py +26 -0
  151. horcon/control/ports.py +62 -0
  152. horcon/control/state_machine/README.md +16 -0
  153. horcon/control/state_machine/__init__.py +0 -0
  154. horcon/control/state_machine/engagement.yaml +50 -0
  155. horcon/control/state_machine/engine.py +204 -0
  156. horcon/control/state_machine/fsm.py +86 -0
  157. horcon/crews/README.md +12 -0
  158. horcon/crews/__init__.py +4 -0
  159. horcon/crews/mirror.py +220 -0
  160. horcon/crews/validate_crew.py +362 -0
  161. horcon/diagrams/README.md +11 -0
  162. horcon/diagrams/__init__.py +8 -0
  163. horcon/diagrams/generator.py +93 -0
  164. horcon/diagrams/sync.py +101 -0
  165. horcon/docs_audit/README.md +14 -0
  166. horcon/docs_audit/__init__.py +8 -0
  167. horcon/docs_audit/auditor.py +145 -0
  168. horcon/docs_site/README.md +16 -0
  169. horcon/docs_site/__init__.py +12 -0
  170. horcon/docs_site/builder.py +326 -0
  171. horcon/observability/README.md +12 -0
  172. horcon/observability/__init__.py +14 -0
  173. horcon/observability/events.py +35 -0
  174. horcon/observability/otel_export.py +211 -0
  175. horcon/observability/timeline.py +507 -0
  176. horcon/observability/trace.py +15 -0
  177. horcon/platform/README.md +11 -0
  178. horcon/platform/__init__.py +0 -0
  179. horcon/platform/persistence/README.md +5 -0
  180. horcon/platform/persistence/__init__.py +0 -0
  181. horcon/platform/retrieval/README.md +22 -0
  182. horcon/platform/retrieval/__init__.py +0 -0
  183. horcon/platform/retrieval/bundle.py +141 -0
  184. horcon/platform/retrieval/datasheet.py +59 -0
  185. horcon/platform/tools/README.md +5 -0
  186. horcon/platform/tools/__init__.py +0 -0
  187. horcon/redact.py +79 -0
  188. horcon/registry/README.md +21 -0
  189. horcon/registry/__init__.py +15 -0
  190. horcon/registry/registry.schema.json +42 -0
  191. horcon/registry/store.py +53 -0
  192. horcon/registry/validator.py +31 -0
  193. horcon/resources.py +41 -0
  194. horcon/runtime/README.md +26 -0
  195. horcon/runtime/__init__.py +0 -0
  196. horcon/runtime/crewai_adapter.py +97 -0
  197. horcon/runtime/executor.py +418 -0
  198. horcon/runtime/profiles.yaml +44 -0
  199. horcon/runtime/providers.py +260 -0
  200. horcon/runtime/team.py +375 -0
  201. horcon/scaffold/README.md +19 -0
  202. horcon/scaffold/__init__.py +8 -0
  203. horcon/scaffold/agent_templates/coordinator/output.schema.json +22 -0
  204. horcon/scaffold/agent_templates/coordinator/prompt.md +19 -0
  205. horcon/scaffold/agent_templates/critic/output.schema.json +17 -0
  206. horcon/scaffold/agent_templates/critic/prompt.md +17 -0
  207. horcon/scaffold/agent_templates/executor/output.schema.json +23 -0
  208. horcon/scaffold/agent_templates/executor/prompt.md +17 -0
  209. horcon/scaffold/digest.py +58 -0
  210. horcon/scaffold/generator.py +542 -0
  211. horcon/scaffold/reset.py +340 -0
  212. horcon/scaffold/template_root.py +30 -0
  213. horcon/validate.py +481 -0
  214. horcon-0.8.2a1.dist-info/METADATA +213 -0
  215. horcon-0.8.2a1.dist-info/RECORD +219 -0
  216. horcon-0.8.2a1.dist-info/WHEEL +4 -0
  217. horcon-0.8.2a1.dist-info/entry_points.txt +2 -0
  218. horcon-0.8.2a1.dist-info/licenses/LICENSE +201 -0
  219. horcon-0.8.2a1.dist-info/licenses/NOTICE +20 -0
horcon/__init__.py ADDED
@@ -0,0 +1,57 @@
1
+ # Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente
2
+ # @ai-generated by Claude Sonnet 5 (2026-09-20); revisado por: pendiente — H02/A1: fuente única
3
+ # de versión (reports/2026-09-20-plan-mejoras.md).
4
+ """Horcón: framework que genera y valida sistemas multiagente deterministas.
5
+
6
+ Perfil MILPA: library. Este paquete no ejecuta agentes propios ni llama a
7
+ ningún modelo; produce proyectos (plantilla `agent-system`) y los valida.
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import sys
13
+ from importlib import metadata as _metadata
14
+ from pathlib import Path
15
+
16
+ if sys.version_info >= (3, 11):
17
+ import tomllib as _tomllib
18
+ else: # pragma: no cover - este repo fija Python >= 3.11 (pyproject), es sólo un resguardo
19
+ import tomli as _tomllib # type: ignore[no-redef]
20
+
21
+
22
+ def _version_desde_pyproject() -> str | None:
23
+ """Lee ``project.version`` de ``pyproject.toml`` cuando el paquete corre desde el árbol
24
+ fuente (checkout de desarrollo, instalación editable).
25
+
26
+ Existe porque el ``.dist-info`` de una instalación editable puede quedar desactualizado
27
+ respecto de ``pyproject.toml`` (H02: `.venv` con `horcon` 0.2.3 en `pyproject.toml` pero
28
+ `.dist-info` congelado en 0.1.0). Cuando hay `pyproject.toml` dos niveles arriba de este
29
+ archivo, esa es la fuente de verdad; si no existe (paquete instalado como wheel/sdist en un
30
+ entorno sin el árbol fuente), no hay nada que leer y se cae al metadato instalado.
31
+ """
32
+ pyproject = Path(__file__).resolve().parents[2] / "pyproject.toml"
33
+ if not pyproject.is_file():
34
+ return None
35
+ try:
36
+ data = _tomllib.loads(pyproject.read_text(encoding="utf-8"))
37
+ except (OSError, UnicodeDecodeError, _tomllib.TOMLDecodeError):
38
+ return None
39
+ project = data.get("project")
40
+ if not isinstance(project, dict):
41
+ return None
42
+ version = project.get("version")
43
+ return version if isinstance(version, str) else None
44
+
45
+
46
+ def _resolver_version() -> str:
47
+ desde_arbol = _version_desde_pyproject()
48
+ if desde_arbol is not None:
49
+ return desde_arbol
50
+ try:
51
+ return _metadata.version("horcon")
52
+ except _metadata.PackageNotFoundError:
53
+ # Ni árbol fuente ni distribución instalada: no se inventa un número, se marca.
54
+ return "0.0.0+sin-instalar"
55
+
56
+
57
+ __version__ = _resolver_version()
horcon/__main__.py ADDED
@@ -0,0 +1,9 @@
1
+ # Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente
2
+ """Permite `python -m horcon <comando>` además de `python -m horcon.cli.__main__`."""
3
+
4
+ from __future__ import annotations
5
+
6
+ from horcon.cli.__main__ import main
7
+
8
+ if __name__ == "__main__":
9
+ raise SystemExit(main())
@@ -0,0 +1,10 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # .claude/agents
3
+
4
+ **Para qué existe:** alojar los perfiles de meta-agentes Claude que construyen este proyecto (capa de ingeniería, ver AGENTS.md).
5
+
6
+ **Qué pregunta responde:** ¿qué agente de construcción tiene permiso para tocar qué carpeta?
7
+
8
+ **Qué NO hace:** ningún perfil aquí tiene manifiesto en `packages/agents/`: la capa de ingeniería está fuera de D01-D11 (system-designer.md §3).
9
+
10
+ **Owner:** mantenedor
@@ -0,0 +1,10 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # .codex/agents
3
+
4
+ **Para qué existe:** alojar los perfiles de meta-agentes Codex equivalentes a `.claude/agents/`, mismo contrato (AGENTS.md).
5
+
6
+ **Qué pregunta responde:** ¿qué agente de construcción tiene permiso para tocar qué carpeta?
7
+
8
+ **Qué NO hace:** ningún perfil aquí tiene manifiesto en `packages/agents/`: la capa de ingeniería está fuera de D01-D11.
9
+
10
+ **Owner:** mantenedor
@@ -0,0 +1,13 @@
1
+ # Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente
2
+ .env
3
+ .env.*
4
+ !.env.ejemplo
5
+ tmp/runs/
6
+ tmp/site-src/
7
+ tmp/site/
8
+ tmp/keyring-*/
9
+ tmp/kill-switch/
10
+ tmp/KILL
11
+ __pycache__/
12
+ *.pyc
13
+ .pytest_cache/
@@ -0,0 +1,16 @@
1
+ {
2
+ "id": "{{project_name}}",
3
+ "role": "agent-system",
4
+ "profile": "software-monorepo",
5
+ "level": 1,
6
+ "parent": "../",
7
+ "anchor": "pendiente",
8
+ "scope": "Sistema multiagente generado por horcon init: {{project_name}}",
9
+ "inherits": [],
10
+ "overrides": [],
11
+ "extensions": {
12
+ "horcon": {
13
+ "conformance_profile": "{{profile}}"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,28 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # Contrato para agentes de ingeniería (capa `.claude/`, `.codex/`)
3
+
4
+ Este archivo rige a los meta-agentes que **construyen** este proyecto (capa de ingeniería),
5
+ no a los agentes de dominio que el proyecto instancia (esos viven en `packages/agents/` y se
6
+ rigen por su manifiesto y por `packages/control/`).
7
+
8
+ ## Dónde sí pueden escribir
9
+
10
+ - `tmp/runs/` (ignorado por git) y ramas de git, vía PR.
11
+ - `packages/agents/`, `packages/domain/`, `packages/application/`, `docs/` — siempre vía PR
12
+ revisado por una persona.
13
+
14
+ ## Dónde NO escriben nunca
15
+
16
+ - `.env` (no existe uno real en este repo; sólo `.env.ejemplo`).
17
+ - `governance/axioms.md` — cambio de axiomas exige ADR del Anchor (ver `SOURCE.md` nivel 1).
18
+ - Datos reales de usuarios o del dominio: este proyecto no es un lugar para datos productivos.
19
+ - `packages/agency/registry.yaml` sin receipt humano (alta/baja es fase 2, DEC-03).
20
+
21
+ ## Antes de proponer un manifiesto nuevo en `packages/agents/`
22
+
23
+ 1. El `id` es kebab-case ASCII con sufijo de rol (`-coordinator`, `-critic`) o verbo-objeto
24
+ para ejecutores.
25
+ 2. `prohibited` incluye las reglas negativas mínimas del rol (ver
26
+ `src/horcon/agency/validator.py` en el repo `horcon`, no en este proyecto).
27
+ 3. `affects_people` es obligatorio y explícito; nunca se omite.
28
+ 4. Corre `horcon validate` antes de abrir el PR.
@@ -0,0 +1,15 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # {{project_name}}
3
+
4
+ Proyecto generado por `horcon init` (perfil `{{profile}}`, {{date}}). Sistema multiagente con
5
+ tres capas físicas —ingeniería, host/gobernanza y dominio— separadas en el árbol de carpetas.
6
+
7
+ Antes de tocar nada, lee `AGENTS.md` y `SOURCE.md`. La navegación completa de documentación
8
+ está en [`docs/INDEX.md`](docs/INDEX.md).
9
+
10
+ ## Qué NO hace este proyecto por sí solo
11
+
12
+ - No declara "conforme": `horcon validate` sólo comprueba estructura, nunca comportamiento.
13
+ - No instancia agentes por el solo hecho de tener un manifiesto en `packages/agents/`: sólo
14
+ una entrada en `packages/agency/registry.yaml` (con receipt, fase 2) activa un agente.
15
+ - No tiene kill switch operable ni padrón con alta/baja real (ver `packages/control/README.md`).
@@ -0,0 +1,37 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # SOURCE.md — precedencia de fuentes de verdad
3
+
4
+ Ante una contradicción entre documentos, gana el nivel más bajo. Ningún nivel puede
5
+ contradecir a uno anterior sin un ADR que lo registre.
6
+
7
+ ## Nivel 0 — metodología de referencia
8
+
9
+ Revisión/digest de la metodología externa (Rain), referenciada por digest, nunca copiada.
10
+ Pendiente de asignar en este proyecto (ver `governance/decisions/`).
11
+
12
+ ## Nivel 1 — axiomas
13
+
14
+ `governance/axioms.md`. Sólo cambian por ADR del Anchor con consulta registrada a afectados
15
+ si el proyecto declara `affects_people: true` en algún manifiesto.
16
+
17
+ ## Nivel 2 — ADRs
18
+
19
+ `governance/decisions/ADR-*.md`. Cada ADR aceptado debe propagarse a los niveles 3-5 o
20
+ `horcon validate` debería señalarlo como pendiente (no automatizado en fase 1).
21
+
22
+ ## Nivel 3 — políticas y umbrales
23
+
24
+ `governance/policies/*.md` y, cuando exista, `governance/thresholds.yaml`.
25
+
26
+ ## Nivel 4 — manifiestos y agencia
27
+
28
+ `packages/agency/*.yaml` y `packages/agents/*/manifest.yaml`.
29
+
30
+ ## Nivel 5 — contratos y código
31
+
32
+ `packages/contracts/`, `packages/domain/`, `packages/application/`, `packages/platform/`.
33
+
34
+ ## Nivel 6 — salida del modelo
35
+
36
+ La salida de cualquier agente. Nunca es fuente de verdad, sólo un producto a validar en
37
+ `checkpoint` (ver `packages/control/state-machine/session.yaml`).
@@ -0,0 +1,65 @@
1
+ 596c50d84ae650af06cece5329cf27ed4b383b737b4da226f694aebee7538bfa .claude/agents/README.md
2
+ 319e709553f68b4e79c67d044ad083a9d61398beb05419f127fb8264285d6f08 .codex/agents/README.md
3
+ 1e70ad26ce26d50b2bd62690a04ed8a2bccf43e1caabcae71a269618fb461d45 .env.ejemplo
4
+ 9611d54a772032ed66f10fde6119da1f2642b791ac38c983253112345402f29e .gitignore
5
+ f91300fb98eb6271ba7f6cece8d2e061670047fe6763740939477f074450b14c .milpa-manifest.json
6
+ 7f18f5cf158af9596be2f84c7219ac9af772d3cc5dd5aa6f5f0bb9049aed375a AGENTS.md
7
+ c1320d3b0aeab812dd49617b4aa7fa68fd9f433109e53dec3aa79581c6db3d74 README.md
8
+ 6064d755237c2e2375a67507a64310ab5e8b23f5f1312c72f39b95dcbe41f16f SOURCE.md
9
+ 92c92fb6b85cf5b8fc14711ed2b2a97daffcc51196f4d90cedafc5a31d5d5341 TEMPLATE-DIGEST.txt
10
+ 0ced94ebfeb2577f344d18f5c7ecd7d66ab46c5228a31ce1c87520ea8198503d apps/README.md
11
+ 96764a2f02e4ad2170c277e4429491f54120df11f5769d181c8b34013791ea82 apps/control-api/README.md
12
+ 7e4ecd8f7282557bd4295882d566ab633afe5b422e2aa82300e536dc89529ac7 apps/governance-console/README.md
13
+ 5cc6df59d203a553bbf01d11638b3dcc0c55169585a66d4b2a5f73935fde4832 assurance/README.md
14
+ af3d36ce599e054900fedd0f57324c3f759ac89f47e416ff95e412ba5f0264bf assurance/evals/README.md
15
+ 63af4112345c17c36471e4ebe1c469d8c91afcf348e13a4a9cac64aee8da12ef assurance/tests/README.md
16
+ fab355553750a9e791777f717373e55969870e9e12ce448384d5c5c2fcb81819 docs/00-inicio-rapido/README.md
17
+ 788908400aed530aa296ac893393f894f30db418be9721adc8be2af6d32bc87d docs/00-inicio-rapido/glosario.md
18
+ 743705925b546ff2a1a856334c98cf582018cde93bb456abeced8b7b475c075c docs/01-manifiesto/README.md
19
+ 344b921826a1f6dcb802277b59d0f4387244b92a244b3cfbeb098ce84d3a2ed9 docs/02-diagramas/README.md
20
+ 1a838d32f2f88b2882396ada513f22300df1a15229e877ab04369bcba853f6cd docs/03-operacion/README.md
21
+ 7af588cff70b1294d5bf147de7132c434096261818e0e07117be8a9adda5e63f docs/03-operacion/runbook.md
22
+ af90fd19fce566c4582054f3805cc2e8e0a96e687c0f84efa09eb49af9e0eac6 docs/04-contratos/README.md
23
+ 80f6a80365a9c8f4d58155819a23edd35a25561eee64e42dd5594885c2ebfd54 docs/INDEX.md
24
+ 0fb2e3da1d2315808a8f4703438a20b9244b922542a1874ea0b05d81edaa2732 docs/architecture/README.md
25
+ 7c53b30481ce7313c742e01f42b045af18b2f7cfb686e2b94015d595d64b8cd8 docs/asilo/README.md
26
+ e50bc4eae0b90c075b92ab24850ff1d0b290968d8fbaaf872b54d16254670cb2 governance/README.md
27
+ d04d3f09f36c250c30828966403a1d991e8ea434a52fce040d14c841b1d96a93 governance/axioms.md
28
+ 0c584292be26b16cb7ce8b1b886517ca2a686f8d07cab33690f995f766111a63 governance/charter.md
29
+ 01ea51b11504b24cc864635a83322869aa73aef9341887882ab83e18303302c6 governance/decision-rights.md
30
+ 71c31c057e225b809ccdeaedef807d739927ccdf5e1b2bb56968d47e4281b4ce governance/decisions/ADR-000-plantilla.md
31
+ c7166f15fb04fd767e3ba193dcd09fa03210e216967573024be3476afd5a7a7c governance/exceptions/README.md
32
+ fd60e7233aadee57b5361d0599ac1275a2c57e133be552f8fa32df15ce8d7f0c governance/keyring-directory.yaml
33
+ 1f0e8053f56b1384332f2e5d203972fbb5c225ceacad87c90ac8b0d330226228 governance/policies/README.md
34
+ 98ad2513de353c2307f582b40b2723a683e7cb880f66f5d50c7d2afb64360a35 governance/thresholds.yaml
35
+ c5db48fbca965eda5b0eae246a1b1f05b80985ef1d92ea9d4a83e1655a2ced02 infrastructure/README.md
36
+ 73b9665fa72728974854f5542c6bda4ba4f613b8e68ab94e4ed282993db0f246 mkdocs.yml
37
+ 9a67f056a0cfda36df2066c6cec84b35e0e56cd1ed53356ad599bcef536b3e44 packages/agency/README.md
38
+ 77a03466cf79cc3dd9d02faebc58a0179d8f921c9fefde950c5dbb07e4fd6f8c packages/agency/capabilities.yaml
39
+ ef4046eff5a8b134fe4ed6311f10821cdbe30ba5df113a1b9e200e1e75c11316 packages/agency/coordination/README.md
40
+ 16310ef4f78ac230d32a8b15a3de9edc825babf41998a13d957605df24ef1641 packages/agency/coordination/deliberation.yaml
41
+ 15410212c0beafbdb99d52537ae8a74de92959aa824b1b4602c03d6e4cbdcf51 packages/agency/coordination/tribunal.yaml
42
+ d46a28b17341f996f228405e06997466232edefe3287c20daabed8c27ddb16e0 packages/agency/registry.yaml
43
+ e1607e3961f1f5f045f31321bcbd79bf05d69ada737b79290d77499d2597aba1 packages/agency/roles.yaml
44
+ 70fbc00a9c6db1452b654b4058512fb5cc53030e7c218619b9a5e98c9d054aad packages/agency/topology.yaml
45
+ e5b22a98dd69335b1b22c35e835b1f17a126e5331c5d5117ab5b90ba70487e7a packages/agents/README.md
46
+ cd65af5445a0ee9d36656f77303917fe24def68092aaa5f9366f8aa28f3a67ba packages/agents/_ejemplo-coordinator/README.md
47
+ e57ec28b50f94712e9d890be167fcb7291912f32d7348fd4bbc71a6216052070 packages/agents/_ejemplo-coordinator/manifest.yaml
48
+ dc73286bc02708f68b1e31c001ce5c7173b172cf70c4519f9becda820e691f89 packages/agents/_ejemplo-critic/README.md
49
+ 7158c26cb9c8af570c69cf99b3c71c0aed7e64a7fb8fcdb5407c4218f66496d4 packages/agents/_ejemplo-critic/manifest.yaml
50
+ a9130525d04ae2d4331838d3107bfeec6a87b0d7d23c57b50b7614d22ed5865f packages/agents/_ejemplo-executor/README.md
51
+ eb4f4fbd1eb7d02832c9a89659820fa2a61d972e77984da429a8bcab724bb76e packages/agents/_ejemplo-executor/manifest.yaml
52
+ 6e4cbdd2dd823c31417a8f7e99d23b5c06eeb27d62ba10d8cb7d5f01ff1497bc packages/application/README.md
53
+ b02bca7cc5802553e404c76e97696c489418b9eeaa6505ce883e36ad2ea34603 packages/contracts/README.md
54
+ 8d4e9297548380115636c0d5423c3f0a3f6e6beef2c74d081a124e1454eb485a packages/control/README.md
55
+ 2ef776f583209d90ca5b1995be2fe3ca315c5dcf9e2e011c2c286fd77aea435e packages/control/decisions/README.md
56
+ 87594c7600a9607aaeadef79f52e0f5a2467911289db0cfc56c9a7e610d65119 packages/control/enforcement/README.md
57
+ d7a5787643a0624c79b937dc2c23fe063dd54baa7daaec1a92635b112a337063 packages/control/guards/README.md
58
+ 4e8d7552431443f38b2db1488941a1ec1e7d8bafd6e8744d96901f143248ad72 packages/control/hitl/README.md
59
+ 316c5f00162d005807dedc117fee9dda2799d17cb0c7b854f9971675f2ccffe5 packages/control/policies/README.md
60
+ 3674c2d3c7c5830121c7409cf25190ddd09c0faf2f863d2c5fc05024c80238d9 packages/control/state-machine/README.md
61
+ e05810a1e92a1f5dfd7fbd9e2dd6a8c0a2810ef25d99bc83ad26ca0188b62328 packages/control/state-machine/session.yaml
62
+ d7472e7232c6adf5b797f70aaeabaf4a6b6edb6a1c9c474a316352d0cfe06e88 packages/domain/README.md
63
+ 452e337c8576a375b4a45a4742c85bf8ed05216d34db32431f04887f176bc180 packages/platform/README.md
64
+ eed08fd03dd562ad0c832e6a163cb5994cfcf8eec586f34c1f79c3bdaaee0808 reports/README.md
65
+ 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b tmp/.gitkeep
@@ -0,0 +1,10 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # apps
3
+
4
+ **Para qué existe:** marcar dónde irían las aplicaciones host (consola de gobernanza, API de control) si algún día se construyen.
5
+
6
+ **Qué pregunta responde:** ¿qué interfaz humana y qué API existen hoy?
7
+
8
+ **Qué NO hace:** ninguna app tiene código en fase 1: ambas están objetadas (ver subcarpetas).
9
+
10
+ **Owner:** mantenedor
@@ -0,0 +1,12 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # control-api (objetado)
3
+
4
+ **Para qué existe:** documentar la intención de una API determinista como único PEP (punto de aplicación de política).
5
+
6
+ **Qué pregunta responde:** ¿quién aplica una decisión de política, y con qué identidad de llamador?
7
+
8
+ **Por qué no hay código:** sT STC-01 muestra rutas directas que rodean a "el único PEP"
9
+ (runtime -> vector, runtime -> egress, runtime -> observabilidad) y sT STC-02 señala que la API
10
+ no tendría identidad de llamador. Bloqueado hasta DEC-19 y DEC-21 (ver `packages/control/README.md`).
11
+
12
+ **Owner:** owner de seguridad
@@ -0,0 +1,12 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # governance-console (objetado)
3
+
4
+ **Para qué existe:** documentar la intención de una consola `/` (persona usuaria) y `/admin` (gobernanza), nunca un cliente de modelo.
5
+
6
+ **Qué pregunta responde:** ¿quién vería y aprobaría decisiones humanas si esto existiera?
7
+
8
+ **Por qué no hay código:** DOSSIER §8 prohíbe un editor de gobernanza en `/admin` que escriba
9
+ MD/ADR/manifiestos "con firma" hasta que exista ADR (DEC-20); sT STC-05 señala que "editor con
10
+ firma" y "sólo borrador" son dos afirmaciones contradictorias en el bundle de diseño.
11
+
12
+ **Owner:** mantenedor
@@ -0,0 +1,8 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # assurance
3
+
4
+ **Para qué existe:** reunir los tests deterministas y las evaluaciones de este proyecto.
5
+
6
+ **Qué pregunta responde:** ¿cómo sé que un cambio no rompió lo que ya funcionaba, sin llamar a un modelo real?
7
+
8
+ **Owner:** mantenedor
@@ -0,0 +1,10 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # evals
3
+
4
+ **Para qué existe:** marcar dónde irían las evaluaciones con modelo real (datos sintéticos, doble bandera), si este proyecto las necesita.
5
+
6
+ **Qué pregunta responde:** ¿qué tan bien responde el sistema en casos representativos, medido con un dataset y un dueño declarados?
7
+
8
+ **Qué NO hace hoy:** no hay ningún eval ejecutable en fase 1; esto es un README de intención.
9
+
10
+ **Owner:** mantenedor
@@ -0,0 +1,10 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ # tests
3
+
4
+ **Para qué existe:** tests deterministas (pytest), sin red, sin modelo: valida manifiestos, padrón y session.yaml de este proyecto.
5
+
6
+ **Qué pregunta responde:** ¿la estructura de este proyecto sigue siendo válida tras el último cambio?
7
+
8
+ **Cómo correr:** `horcon validate .` y `horcon audit-docs .` desde la raíz del proyecto.
9
+
10
+ **Owner:** mantenedor
@@ -0,0 +1,52 @@
1
+ <!-- Generado con asistencia de IA (Claude Fable 5.1, 2026-09-19); revisado por: pendiente -->
2
+ ---
3
+ title: Empieza aqui
4
+ certainty: Reference
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # Empieza aquí — {{project_name}}
11
+
12
+ Este proyecto es un despacho de especialistas con inteligencia artificial que no deciden solos:
13
+ cada encargo pasa por una aduana con reglas fijas y, cuando importa, por la firma de una persona.
14
+ Hay dos maneras de usarlo; las dos escriben en los mismos archivos de esta carpeta.
15
+
16
+ ## Con la consola (sin escribir comandos)
17
+
18
+ 1. Abre la consola de Horcón en `http://127.0.0.1:5173` (quien la administra la levanta con
19
+ `scripts/arrancar` en la carpeta de Horcón).
20
+ 2. **Proyectos** → **Nuevo proyecto**: nombre, carpeta (esta), ¿afecta a personas?, ámbito.
21
+ 3. **Equipo** → **Nuevo especialista** (nombre, papel, para qué, herramientas) → **Crear ficha**
22
+ → **Dar de alta** (pide rol, nombre y razón de quien firma).
23
+ 4. **Encargos** → **Nuevo encargo** (título, objetivo, nivel de cuidado) → en la página del
24
+ encargo: **Carpeta de evidencia** (añade rutas de este proyecto), **Ejecutar en simulación**,
25
+ **Pasar por la aduana** y, si la aduana lo pide, **Ir a la bandeja de revisión** para firmar.
26
+
27
+ ## Con la terminal (comandos)
28
+
29
+ Desde la carpeta de Horcón, con `--project` apuntando a esta carpeta:
30
+
31
+ ```bash
32
+ horcon agent add --project . --id <id> --role executor --label "..." --purpose "..."
33
+ horcon agent register --project . --id <id> --role anchor --reviewer-id <tu-id> --rationale "..."
34
+ horcon engagement new --project . --title "..." --objective "..." --risk low
35
+ horcon bundle --project . --trace <numero-de-expediente> <archivos...>
36
+ horcon run --project . --trace <numero-de-expediente> --agent <id> --provider fake
37
+ horcon gate --project . --trace <numero-de-expediente> --from-agent <id>
38
+ horcon state --project . --trace <numero-de-expediente>
39
+ ```
40
+
41
+ Para firmar hace falta una llave propia (`horcon keys init --role anchor --reviewer-id <tu-id>`),
42
+ guardada fuera de este proyecto. Todo corre en **modo simulación** por defecto: sin proveedor real,
43
+ sin internet y sin gasto. Validar y auditar: `horcon validate .` y `horcon audit-docs .`.
44
+
45
+ ## Dónde sigue
46
+
47
+ - [Glosario](glosario.md) — cada palabra de la consola con su analogía.
48
+ - [Manifiesto](../01-manifiesto/README.md), [diagramas](../02-diagramas/README.md),
49
+ [operación](../03-operacion/README.md) y [contratos](../04-contratos/README.md) de este proyecto.
50
+ - El libro completo de Horcón vive en el repositorio del framework (`docs/INDEX.md`).
51
+
52
+ [Índice](../INDEX.md) · [Siguiente](glosario.md)
@@ -0,0 +1,35 @@
1
+ <!-- Generado con asistencia de IA (Claude Fable 5.1, 2026-09-19); revisado por: pendiente -->
2
+ ---
3
+ title: Glosario
4
+ certainty: Reference
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # Glosario — {{project_name}}
11
+
12
+ Las palabras de la consola y de la terminal, con su analogía y, al final, el término técnico que
13
+ usan los archivos de este proyecto.
14
+
15
+ | Cómo se dice | Analogía | Término técnico |
16
+ |---|---|---|
17
+ | proyecto | abrir un expediente en un despacho | esta carpeta, generada por `horcon init` |
18
+ | encargo | pedir un trabajo a un despacho | engagement (`encargos/*.json`) |
19
+ | equipo y especialistas | despacho y sus profesionales | agentes (`packages/agents/`) |
20
+ | ficha del especialista | tarjeta de identidad + contrato: qué puede y qué no | manifiesto (`manifest.yaml`) |
21
+ | papel: coordina / ejecuta / revisa | el puesto | role: coordinator / executor / critic |
22
+ | padrón | lista de empleados dados de alta | registry (`packages/agency/registry.yaml`) |
23
+ | dar de alta | recursos humanos firma la contratación | `agent register` |
24
+ | carpeta de evidencia | los documentos que se pueden citar | bundle (`evidence-manifest.json`) |
25
+ | aduana | revisa con reglas fijas, sin opinión | policy gate / compuerta |
26
+ | nivel de cuidado | el nivel de la póliza | risk: low / medium / high |
27
+ | firma | la persona responsable firma la decisión | receipt |
28
+ | bandeja de revisión | lo que espera una firma humana | HITL / human_handoff |
29
+ | botón de paro | el paro de emergencia de una fábrica | kill switch (`tmp/KILL`) |
30
+ | contador de gasto | el taxímetro | ledger (`ledger.jsonl`) |
31
+ | número de expediente | folio | trace_id (`rec-…`) |
32
+ | etapas del encargo | recibido → en estudio → revisado → entregado | máquina de estados (`packages/control/state-machine/session.yaml`) |
33
+ | modo simulación | ensayo con maniquíes antes de usar personas reales | proveedor `fake` |
34
+
35
+ [Anterior](README.md) · [Índice](../INDEX.md) · [Siguiente](../01-manifiesto/README.md)
@@ -0,0 +1,18 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ ---
3
+ title: Manifiesto - menu
4
+ certainty: Hypothesis
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # 01-manifiesto
11
+
12
+ Nivel para cualquier persona, sin jerga técnica. Completa este nivel para tu proyecto: qué
13
+ problema resuelve, qué NO hace y qué límites tiene.
14
+
15
+ Recuerda: ningún documento de este nivel afirma cumplimiento total ni promete un resultado
16
+ absoluto sin citar el test que lo respalda (ver `horcon audit-docs`).
17
+
18
+ [Anterior](../00-inicio-rapido/glosario.md) · [Índice](../INDEX.md)
@@ -0,0 +1,16 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ ---
3
+ title: Diagramas - menu
4
+ certainty: Hypothesis
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # 02-diagramas
11
+
12
+ `D07-maquina-de-estados.md` se genera con `horcon diagrams .` a partir de
13
+ `packages/control/state-machine/session.yaml`: no lo edites a mano, cambia el YAML y
14
+ regenera.
15
+
16
+ [Índice](../INDEX.md)
@@ -0,0 +1,19 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ ---
3
+ title: Operacion - menu
4
+ certainty: Hypothesis
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # 03-operacion
11
+
12
+ Cómo levantar y operar este proyecto: perfiles de `horcon up`, cómo correr `horcon validate`
13
+ y `horcon audit-docs`, y qué observabilidad tiene sentido mirar.
14
+
15
+ {{#p3}}
16
+ En perfil `P3`, este nivel incluye además [`runbook.md`](runbook.md).
17
+ {{/p3}}
18
+
19
+ [Índice](../INDEX.md)
@@ -0,0 +1,49 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ ---
3
+ title: Runbook de operacion
4
+ certainty: Hypothesis
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # Runbook de operación (perfil P3)
11
+
12
+ Este documento sólo existe en proyectos generados con `--profile P3`.
13
+
14
+ ## Arranque
15
+
16
+ 1. `horcon doctor` — confirma qué SDKs y qué docker están disponibles.
17
+ 2. `horcon up --profile core` — servicios base.
18
+ 3. Si el proyecto usa agentes: `horcon up --profile agents --approve-network --acknowledge-cost`.
19
+
20
+ ## Incidente
21
+
22
+ 1. Si algo debe detenerse ya: `horcon kill` (hoy: "no implementado: DEC-21", código 3 — ver
23
+ `packages/control/README.md`). Mientras tanto, usa `horcon down` y el control manual de
24
+ docker.
25
+ 2. Registra lo ocurrido en `reports/`.
26
+
27
+ ## Sin quien firme (safe_exit, H-6)
28
+
29
+ Si un encargo de riesgo alto llega a necesitar una firma humana y hoy no hay ninguna persona con
30
+ autoridad disponible para darla, el sistema **se detiene** (no aprueba por silencio ni adivina
31
+ una respuesta): el estado queda en espera de revisión o en `safe_exit`, nunca se entrega nada.
32
+
33
+ Texto para la persona usuaria en ese caso (adapta el recurso a tu contexto; nunca inventes un
34
+ número de línea de crisis: eso lo redacta `legal-counsel`, no un agente):
35
+
36
+ > No hay nadie disponible ahora mismo para revisar tu caso con el cuidado que necesita. Si es
37
+ > urgente, por favor contacta [recurso humano externo al sistema: línea, persona o servicio que
38
+ > tu organización haya designado]. Volveremos a intentarlo en cuanto haya alguien disponible.
39
+
40
+ Sin una segunda persona con autoridad de firma, este proyecto no debería operar con personas
41
+ reales en encargos de riesgo alto (ver `docs/03-operacion/10-que-no-esta-implementado.md` del
42
+ framework, "sin segunda persona no hay piloto con personas reales").
43
+
44
+ ## Qué no está implementado todavía
45
+
46
+ Ver `docs/03-operacion/04-que-no-esta-implementado.md` si este proyecto lo agrega, o
47
+ `governance/decisions/` para el estado de cada DEC-NN pendiente.
48
+
49
+ [Índice](../INDEX.md)
@@ -0,0 +1,15 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ ---
3
+ title: Contratos - menu
4
+ certainty: Hypothesis
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # 04-contratos
11
+
12
+ Los contratos formales de este proyecto: schema de manifiesto de agente, padrón central,
13
+ máquina de estados de sesión y precedencia de fuentes de verdad (`SOURCE.md`).
14
+
15
+ [Índice](../INDEX.md)
@@ -0,0 +1,24 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ ---
3
+ title: Indice de documentacion
4
+ certainty: Hypothesis
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # docs/INDEX.md — {{project_name}}
11
+
12
+ Mapa de la documentación de este proyecto: una parte de inicio para todos y cuatro niveles de
13
+ menor a mayor tecnicismo.
14
+
15
+ 0. [00-inicio-rapido/](00-inicio-rapido/README.md) — cómo usar este proyecto con la consola y con
16
+ la terminal, y el [glosario](00-inicio-rapido/glosario.md).
17
+ 1. [01-manifiesto/](01-manifiesto/README.md) — qué es y qué no es este sistema, sin jerga.
18
+ 2. [02-diagramas/](02-diagramas/README.md) — diagramas de arquitectura y de la máquina de estados.
19
+ 3. [03-operacion/](03-operacion/README.md) — cómo se levanta y se opera.
20
+ 4. [04-contratos/](04-contratos/README.md) — manifiestos, padrón, máquina de estados y fuentes de verdad.
21
+
22
+ Ruta de lectura sugerida: cualquier persona → 00 · persona no técnica → 01 · arquitecto → 02 · operador → 03 · auditor → 04.
23
+
24
+
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: Arquitectura
3
+ certainty: Reference
4
+ status: draft
5
+ updated: 2026-09-24
6
+ owner: mantenedor
7
+ ---
8
+
9
+ # Arquitectura
10
+
11
+ Este directorio contiene los diagramas y decisiones de arquitectura del sistema generado.
12
+
13
+ [Índice](../INDEX.md)
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: Contratos de ASILO
3
+ certainty: Reference
4
+ status: draft
5
+ updated: 2026-09-24
6
+ owner: mantenedor
7
+ ---
8
+
9
+ # Contratos de ASILO
10
+
11
+ Este directorio documenta los límites de seguridad, evidencia y gobernanza que adopta el proyecto.
12
+
13
+ [Índice](../INDEX.md)
@@ -0,0 +1,17 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ ---
3
+ title: Gobernanza del proyecto
4
+ certainty: Hypothesis
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # governance
11
+
12
+ **Para qué existe:** reunir charter, axiomas, derechos de decisión, políticas y ADRs de este
13
+ proyecto, en un solo lugar con precedencia fijada por `SOURCE.md`.
14
+
15
+ **Qué pregunta responde:** ¿quién decide qué, con qué criterio, y qué pasó cuando cambió?
16
+
17
+ **Owner:** mantenedor (hasta que el proyecto nombre un Anchor propio).
@@ -0,0 +1,16 @@
1
+ <!-- Generado con asistencia de IA (Claude Code, 2026-09-17); revisado por: pendiente -->
2
+ ---
3
+ title: Axiomas
4
+ certainty: Hypothesis
5
+ status: draft
6
+ updated: {{date}}
7
+ owner: mantenedor
8
+ ---
9
+
10
+ # Axiomas
11
+
12
+ Plantilla vacía a propósito: los axiomas los declara el Anchor de este proyecto, no `horcon
13
+ init`. Ningún agente de la capa de ingeniería edita este archivo (ver `AGENTS.md`).
14
+
15
+ Cambiar un axioma exige un ADR nuevo en `governance/decisions/` (ver `ADR-000-plantilla.md`)
16
+ firmado por una persona, nunca por un meta-agente.