@kal-elsam/kairo-runtime 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +937 -0
- package/bin/harness.js +11 -0
- package/bin/kairo-runtime.js +11 -0
- package/bin/kairo.js +11 -0
- package/global-template/components/catalog.json +25 -0
- package/global-template/components/orchestrator/orchestrator.md +55 -0
- package/global-template/components/sdd-core/handoff.md +38 -0
- package/global-template/components/sdd-core/spec-sizing.md +38 -0
- package/global-template/components/sdd-core/workflow.md +31 -0
- package/global-template/core/orchestrator.md +55 -0
- package/package.json +64 -0
- package/prompts/HARNESS_ENFORCEMENT_UPGRADE.md +11 -0
- package/prompts/HARNESS_ENTERPRISE.md +33 -0
- package/prompts/HARNESS_INSTALLER_MASTER.md +853 -0
- package/prompts/HARNESS_MINIMAL.md +30 -0
- package/prompts/HARNESS_SPEC_SIZING_UPGRADE.md +41 -0
- package/prompts/HARNESS_STANDARD.md +35 -0
- package/prompts/HARNESS_UNIVERSAL_PARITY.md +56 -0
- package/repo-template/.claude/agents/adapter-parity-reviewer.md +17 -0
- package/repo-template/.claude/agents/architect.md +17 -0
- package/repo-template/.claude/agents/eval-engineer.md +17 -0
- package/repo-template/.claude/agents/reviewer.md +17 -0
- package/repo-template/.claude/agents/sdd-reviewer.md +17 -0
- package/repo-template/.claude/agents/sdd-spec-writer.md +17 -0
- package/repo-template/.claude/skills/checkpoint/SKILL.md +13 -0
- package/repo-template/.claude/skills/eval-design/SKILL.md +3 -0
- package/repo-template/.claude/skills/evals/SKILL.md +13 -0
- package/repo-template/.claude/skills/loop-engineering/SKILL.md +16 -0
- package/repo-template/.claude/skills/maintainability-review/SKILL.md +3 -0
- package/repo-template/.claude/skills/quality-gate-review/SKILL.md +3 -0
- package/repo-template/.claude/skills/sdd/SKILL.md +13 -0
- package/repo-template/.claude/skills/spec-complexity-classifier/SKILL.md +10 -0
- package/repo-template/.claude/skills/spec-escalation-review/SKILL.md +10 -0
- package/repo-template/.claude/skills/spec-intake/SKILL.md +10 -0
- package/repo-template/.claude/skills/tdd/SKILL.md +13 -0
- package/repo-template/.claude/skills/trust-review/SKILL.md +3 -0
- package/repo-template/.codex/skills/adapter-parity/SKILL.md +29 -0
- package/repo-template/.codex/skills/checkpoint/SKILL.md +36 -0
- package/repo-template/.codex/skills/eval-design/SKILL.md +3 -0
- package/repo-template/.codex/skills/evals/SKILL.md +28 -0
- package/repo-template/.codex/skills/loop-engineering/SKILL.md +24 -0
- package/repo-template/.codex/skills/maintainability-review/SKILL.md +3 -0
- package/repo-template/.codex/skills/quality-gate-review/SKILL.md +3 -0
- package/repo-template/.codex/skills/sdd/SKILL.md +30 -0
- package/repo-template/.codex/skills/spec-complexity-classifier/SKILL.md +10 -0
- package/repo-template/.codex/skills/spec-escalation-review/SKILL.md +10 -0
- package/repo-template/.codex/skills/spec-intake/SKILL.md +10 -0
- package/repo-template/.codex/skills/tdd/SKILL.md +27 -0
- package/repo-template/.codex/skills/trust-review/SKILL.md +3 -0
- package/repo-template/.cursor/agents/adapter-parity-reviewer.md +29 -0
- package/repo-template/.cursor/agents/architect.md +27 -0
- package/repo-template/.cursor/agents/context-engineer.md +27 -0
- package/repo-template/.cursor/agents/debugger.md +27 -0
- package/repo-template/.cursor/agents/eval-engineer.md +27 -0
- package/repo-template/.cursor/agents/harness-orchestrator.md +27 -0
- package/repo-template/.cursor/agents/loop-controller.md +17 -0
- package/repo-template/.cursor/agents/loop-debugger.md +16 -0
- package/repo-template/.cursor/agents/reviewer.md +27 -0
- package/repo-template/.cursor/agents/sdd/sdd-acceptance-reviewer.md +31 -0
- package/repo-template/.cursor/agents/sdd/sdd-implementation-guardian.md +31 -0
- package/repo-template/.cursor/agents/sdd/sdd-intake-analyst.md +31 -0
- package/repo-template/.cursor/agents/sdd/sdd-orchestrator.md +31 -0
- package/repo-template/.cursor/agents/sdd/sdd-spec-reviewer.md +31 -0
- package/repo-template/.cursor/agents/sdd/sdd-spec-writer.md +31 -0
- package/repo-template/.cursor/agents/sdd/sdd-task-breakdown.md +31 -0
- package/repo-template/.cursor/agents/sdd/sdd-technical-planner.md +31 -0
- package/repo-template/.cursor/agents/sdd/sdd-test-planner.md +31 -0
- package/repo-template/.cursor/agents/spec-intake-analyst.md +14 -0
- package/repo-template/.cursor/agents/test-engineer.md +27 -0
- package/repo-template/.cursor/commands/adapter-parity.md +34 -0
- package/repo-template/.cursor/commands/checkpoint.md +30 -0
- package/repo-template/.cursor/commands/debug.md +13 -0
- package/repo-template/.cursor/commands/init-eval.md +12 -0
- package/repo-template/.cursor/commands/init-feature.md +12 -0
- package/repo-template/.cursor/commands/init-harness.md +13 -0
- package/repo-template/.cursor/commands/loop-debug.md +3 -0
- package/repo-template/.cursor/commands/loop-review.md +3 -0
- package/repo-template/.cursor/commands/loop-run.md +5 -0
- package/repo-template/.cursor/commands/review.md +21 -0
- package/repo-template/.cursor/commands/sdd-intake.md +18 -0
- package/repo-template/.cursor/commands/sdd-plan.md +18 -0
- package/repo-template/.cursor/commands/sdd-spec.md +18 -0
- package/repo-template/.cursor/commands/sdd-tasks.md +18 -0
- package/repo-template/.cursor/commands/sdd-validate.md +18 -0
- package/repo-template/.cursor/commands/spec-escalate.md +9 -0
- package/repo-template/.cursor/commands/spec-intake.md +10 -0
- package/repo-template/.cursor/commands/spec-size.md +21 -0
- package/repo-template/.cursor/rules/adapter-parity.mdc +20 -0
- package/repo-template/.cursor/rules/api.mdc +12 -0
- package/repo-template/.cursor/rules/core.mdc +21 -0
- package/repo-template/.cursor/rules/enforcement.mdc +16 -0
- package/repo-template/.cursor/rules/evals.mdc +10 -0
- package/repo-template/.cursor/rules/git.mdc +19 -0
- package/repo-template/.cursor/rules/harness.mdc +14 -0
- package/repo-template/.cursor/rules/loops.mdc +17 -0
- package/repo-template/.cursor/rules/testing.mdc +13 -0
- package/repo-template/.cursor/rules/ui.mdc +13 -0
- package/repo-template/.cursor/skills/api-design/SKILL.md +23 -0
- package/repo-template/.cursor/skills/architecture/SKILL.md +23 -0
- package/repo-template/.cursor/skills/code-review/SKILL.md +23 -0
- package/repo-template/.cursor/skills/context-graph/SKILL.md +23 -0
- package/repo-template/.cursor/skills/debugging/SKILL.md +23 -0
- package/repo-template/.cursor/skills/evals/SKILL.md +23 -0
- package/repo-template/.cursor/skills/git-workflow/SKILL.md +23 -0
- package/repo-template/.cursor/skills/testing/SKILL.md +23 -0
- package/repo-template/.cursor/skills/ui-design/SKILL.md +23 -0
- package/repo-template/.gentle-ai/README.md +37 -0
- package/repo-template/.gentle-ai/loops/README.md +27 -0
- package/repo-template/.gentle-ai/loops/sdd-tdd-repair.loop.md +27 -0
- package/repo-template/.gentle-ai/model-routing.md +25 -0
- package/repo-template/.github/copilot-instructions.md +37 -0
- package/repo-template/.github/dependabot.yml +11 -0
- package/repo-template/.github/instructions/harness.instructions.md +11 -0
- package/repo-template/.github/workflows/harness-quality-gate.yml +67 -0
- package/repo-template/.github/workflows/harness-security-gate.yml +32 -0
- package/repo-template/.harness/spec-sizing.json +33 -0
- package/repo-template/.opencode/README.md +71 -0
- package/repo-template/.opencode/agents/adapter-parity-reviewer.md +23 -0
- package/repo-template/.opencode/agents/architect.md +38 -0
- package/repo-template/.opencode/agents/checkpoint-reviewer.md +38 -0
- package/repo-template/.opencode/agents/eval-engineer.md +38 -0
- package/repo-template/.opencode/agents/loop-controller.md +38 -0
- package/repo-template/.opencode/agents/loop-debugger.md +38 -0
- package/repo-template/.opencode/agents/model-router.md +38 -0
- package/repo-template/.opencode/agents/sdd-orchestrator.md +38 -0
- package/repo-template/.opencode/agents/sdd-spec-reviewer.md +38 -0
- package/repo-template/.opencode/agents/spec-intake-analyst.md +19 -0
- package/repo-template/.opencode/agents/tdd-engineer.md +38 -0
- package/repo-template/.opencode/commands/checkpoint.md +3 -0
- package/repo-template/.opencode/commands/eval-design.md +3 -0
- package/repo-template/.opencode/commands/maintainability-review.md +3 -0
- package/repo-template/.opencode/commands/quality-gate.md +3 -0
- package/repo-template/.opencode/commands/spec-escalate.md +9 -0
- package/repo-template/.opencode/commands/spec-intake.md +10 -0
- package/repo-template/.opencode/commands/spec-size.md +21 -0
- package/repo-template/.opencode/commands/trust-review.md +3 -0
- package/repo-template/.opencode/loops/ai-behavior-improvement.loop.md +15 -0
- package/repo-template/.opencode/loops/bug-repair.loop.md +16 -0
- package/repo-template/.opencode/loops/documentation-sync.loop.md +13 -0
- package/repo-template/.opencode/loops/feature-development.loop.md +25 -0
- package/repo-template/.opencode/skills/spec-complexity-classifier/SKILL.md +10 -0
- package/repo-template/.opencode/skills/spec-escalation-review/SKILL.md +10 -0
- package/repo-template/.opencode/skills/spec-intake/SKILL.md +10 -0
- package/repo-template/.pi/README.md +21 -0
- package/repo-template/.pi/prompts/checkpoint.md +11 -0
- package/repo-template/.pi/prompts/loop-run.md +10 -0
- package/repo-template/.pi/prompts/sdd-plan.md +11 -0
- package/repo-template/.pi/prompts/sdd-spec.md +13 -0
- package/repo-template/.pi/prompts/spec-escalate.md +9 -0
- package/repo-template/.pi/prompts/spec-intake.md +10 -0
- package/repo-template/.pi/prompts/spec-size.md +21 -0
- package/repo-template/.pi/skills/adapter-parity/SKILL.md +7 -0
- package/repo-template/.pi/skills/checkpoint/SKILL.md +7 -0
- package/repo-template/.pi/skills/eval-design/SKILL.md +3 -0
- package/repo-template/.pi/skills/evals/SKILL.md +7 -0
- package/repo-template/.pi/skills/loop-engineering/SKILL.md +7 -0
- package/repo-template/.pi/skills/maintainability-review/SKILL.md +3 -0
- package/repo-template/.pi/skills/quality-gate-review/SKILL.md +3 -0
- package/repo-template/.pi/skills/sdd/SKILL.md +7 -0
- package/repo-template/.pi/skills/spec-complexity-classifier/SKILL.md +10 -0
- package/repo-template/.pi/skills/spec-escalation-review/SKILL.md +10 -0
- package/repo-template/.pi/skills/spec-intake/SKILL.md +10 -0
- package/repo-template/.pi/skills/tdd/SKILL.md +7 -0
- package/repo-template/.pi/skills/trust-review/SKILL.md +3 -0
- package/repo-template/AGENT.md +8 -0
- package/repo-template/AGENTS.md +165 -0
- package/repo-template/CLAUDE.md +9 -0
- package/repo-template/GEMINI.md +9 -0
- package/repo-template/docs/ai/adapter-parity.md +135 -0
- package/repo-template/docs/ai/agent-workflow.md +45 -0
- package/repo-template/docs/ai/api.md +28 -0
- package/repo-template/docs/ai/architecture.md +53 -0
- package/repo-template/docs/ai/context-budget.md +54 -0
- package/repo-template/docs/ai/context-graph.md +39 -0
- package/repo-template/docs/ai/conventions.md +34 -0
- package/repo-template/docs/ai/decision-log.md +5 -0
- package/repo-template/docs/ai/enforcement.md +63 -0
- package/repo-template/docs/ai/eval-strategy.md +42 -0
- package/repo-template/docs/ai/evals.md +44 -0
- package/repo-template/docs/ai/git-workflow.md +35 -0
- package/repo-template/docs/ai/governance.md +61 -0
- package/repo-template/docs/ai/harness.md +49 -0
- package/repo-template/docs/ai/installer-cli.md +34 -0
- package/repo-template/docs/ai/loop-log.md +5 -0
- package/repo-template/docs/ai/loop-observability.md +57 -0
- package/repo-template/docs/ai/loop-policy.md +86 -0
- package/repo-template/docs/ai/loops.md +95 -0
- package/repo-template/docs/ai/maintainability-gates.md +26 -0
- package/repo-template/docs/ai/memory.md +71 -0
- package/repo-template/docs/ai/model-policy.md +105 -0
- package/repo-template/docs/ai/observability-runtime.md +48 -0
- package/repo-template/docs/ai/provider-routing.md +138 -0
- package/repo-template/docs/ai/quality-gates.md +48 -0
- package/repo-template/docs/ai/rollback-runtime.md +25 -0
- package/repo-template/docs/ai/security.md +12 -0
- package/repo-template/docs/ai/spec-driven-development.md +124 -0
- package/repo-template/docs/ai/spec-escalation.md +44 -0
- package/repo-template/docs/ai/spec-intake.md +46 -0
- package/repo-template/docs/ai/spec-sizing.md +207 -0
- package/repo-template/docs/ai/test-driven-development.md +35 -0
- package/repo-template/docs/ai/testing.md +28 -0
- package/repo-template/docs/ai/tool-adapters.md +186 -0
- package/repo-template/docs/ai/trust-allowlist.md +5 -0
- package/repo-template/docs/ai/trust-policy.md +41 -0
- package/repo-template/docs/ai/ui.md +17 -0
- package/repo-template/docs/skills/adapter-parity-review.md +46 -0
- package/repo-template/docs/skills/api-design.md +37 -0
- package/repo-template/docs/skills/architecture.md +37 -0
- package/repo-template/docs/skills/code-review.md +37 -0
- package/repo-template/docs/skills/context-graph.md +38 -0
- package/repo-template/docs/skills/debugging.md +37 -0
- package/repo-template/docs/skills/eval-design.md +12 -0
- package/repo-template/docs/skills/evals.md +37 -0
- package/repo-template/docs/skills/git-workflow.md +37 -0
- package/repo-template/docs/skills/look-trust-review.md +12 -0
- package/repo-template/docs/skills/loop-debugging.md +16 -0
- package/repo-template/docs/skills/loop-design.md +39 -0
- package/repo-template/docs/skills/loop-retrospective.md +15 -0
- package/repo-template/docs/skills/loop-review.md +16 -0
- package/repo-template/docs/skills/maintainability-review.md +12 -0
- package/repo-template/docs/skills/model-selection.md +36 -0
- package/repo-template/docs/skills/quality-gate-review.md +12 -0
- package/repo-template/docs/skills/spec-complexity-classifier.md +41 -0
- package/repo-template/docs/skills/spec-escalation-review.md +34 -0
- package/repo-template/docs/skills/spec-intake.md +25 -0
- package/repo-template/docs/skills/testing.md +37 -0
- package/repo-template/docs/skills/tool-adapter-sync.md +36 -0
- package/repo-template/docs/skills/ui-design.md +37 -0
- package/repo-template/docs/specs/README.md +9 -0
- package/repo-template/docs/specs/templates/basic-spec.md +41 -0
- package/repo-template/docs/specs/templates/complex-spec.md +145 -0
- package/repo-template/docs/specs/templates/standard-spec.md +58 -0
- package/repo-template/evals/README.md +11 -0
- package/repo-template/evals/golden/sample-golden.json +12 -0
- package/repo-template/evals/loop-regression/README.md +11 -0
- package/repo-template/evals/regression/sample-regression.json +12 -0
- package/repo-template/evals/schema/sample-schema.json +12 -0
- package/repo-template/evals/tool-calls/sample-tool-calls.json +12 -0
- package/repo-template/opencode.json.sample +29 -0
- package/repo-template/scripts/harness/backup.mjs +7 -0
- package/repo-template/scripts/harness/doctor.mjs +20 -0
- package/repo-template/scripts/harness/run-evals.mjs +27 -0
- package/repo-template/setup-agent-links.sh +54 -0
- package/scripts/check-published-release.mjs +127 -0
- package/scripts/check-release-commit.mjs +32 -0
- package/scripts/install.sh +225 -0
- package/scripts/installer-smoke-test.sh +155 -0
- package/scripts/lib/attribution-guard.mjs +59 -0
- package/scripts/registry-smoke-test.sh +149 -0
- package/scripts/smoke-test.sh +197 -0
- package/scripts/ux-smoke-test.sh +140 -0
- package/src/cli.js +625 -0
- package/src/doctor.js +68 -0
- package/src/global/adapter-context.js +27 -0
- package/src/global/adapter-matrix.js +38 -0
- package/src/global/adapters/claude.js +8 -0
- package/src/global/adapters/codex.js +8 -0
- package/src/global/adapters/cursor.js +8 -0
- package/src/global/adapters/opencode.js +8 -0
- package/src/global/agents.js +7 -0
- package/src/global/apply-confirmation.js +62 -0
- package/src/global/backups.js +54 -0
- package/src/global/brand/cli.js +52 -0
- package/src/global/brand/index.js +85 -0
- package/src/global/clack/setup-preview.js +48 -0
- package/src/global/clack/setup-wizard-constants.js +6 -0
- package/src/global/clack/setup-wizard.js +207 -0
- package/src/global/clack/theme.js +145 -0
- package/src/global/component-authoring.js +121 -0
- package/src/global/component-builders.js +43 -0
- package/src/global/component-distribution.js +270 -0
- package/src/global/component-installer.js +106 -0
- package/src/global/component-paths.js +22 -0
- package/src/global/component-registry.js +89 -0
- package/src/global/components/orchestrator.js +14 -0
- package/src/global/components/sdd-core.js +17 -0
- package/src/global/diff.js +233 -0
- package/src/global/drift.js +264 -0
- package/src/global/explain.js +144 -0
- package/src/global/global-cli.js +1145 -0
- package/src/global/global-doctor.js +67 -0
- package/src/global/global-installer.js +284 -0
- package/src/global/history.js +313 -0
- package/src/global/ink/run-setup-ink.js +77 -0
- package/src/global/ink/setup-app.js +278 -0
- package/src/global/ink/setup-routing.js +51 -0
- package/src/global/ink/setup-state.js +180 -0
- package/src/global/ink/terminal.js +13 -0
- package/src/global/json-output.js +22 -0
- package/src/global/load-component-catalog.js +41 -0
- package/src/global/load-workspace-component-catalog.js +123 -0
- package/src/global/managed-body.js +28 -0
- package/src/global/managed-config-adapter.js +134 -0
- package/src/global/managed-section.js +73 -0
- package/src/global/npm-registry.js +25 -0
- package/src/global/paths.js +22 -0
- package/src/global/policy.js +344 -0
- package/src/global/preflight.js +65 -0
- package/src/global/registry.js +79 -0
- package/src/global/report.js +110 -0
- package/src/global/rollback.js +126 -0
- package/src/global/setup.js +284 -0
- package/src/global/state-migration.js +65 -0
- package/src/global/state.js +50 -0
- package/src/global/status.js +94 -0
- package/src/global/sync.js +129 -0
- package/src/global/upgrade.js +145 -0
- package/src/harness-files.js +145 -0
- package/src/harness-updater.js +120 -0
- package/src/hash.js +5 -0
- package/src/manifest.js +36 -0
- package/src/project-detection.js +105 -0
- package/src/template-installer.js +72 -0
- package/src/text-template.js +24 -0
- package/src/workspace-cli.js +115 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Loop Policy
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Definir límites, escalación y condiciones de salida para loops agénticos.
|
|
6
|
+
|
|
7
|
+
## Límites globales
|
|
8
|
+
|
|
9
|
+
| Límite | Default |
|
|
10
|
+
|---|---:|
|
|
11
|
+
| Repair attempts por task | 3 |
|
|
12
|
+
| Archivos modificados antes de review | 8 |
|
|
13
|
+
| Iteraciones sin progreso | 2 |
|
|
14
|
+
| Cambios de arquitectura sin approval | 0 |
|
|
15
|
+
| Cambios de DB destructivos sin approval | 0 |
|
|
16
|
+
| Cambios de seguridad/auth sin approval | 0 |
|
|
17
|
+
| Evals fallidas aceptables en IA | 0 críticas |
|
|
18
|
+
|
|
19
|
+
## Señales de éxito
|
|
20
|
+
|
|
21
|
+
Un loop puede cerrar cuando:
|
|
22
|
+
|
|
23
|
+
- spec sigue vigente
|
|
24
|
+
- tests relevantes pasan
|
|
25
|
+
- evals relevantes pasan
|
|
26
|
+
- lint/typecheck/build pasan si aplican
|
|
27
|
+
- no hay issues críticos en review
|
|
28
|
+
- riesgos documentados
|
|
29
|
+
- humano aprueba si el impacto es alto
|
|
30
|
+
|
|
31
|
+
## Señales de fallo
|
|
32
|
+
|
|
33
|
+
Detener y escalar si:
|
|
34
|
+
|
|
35
|
+
- se alcanza el máximo de repair attempts
|
|
36
|
+
- el agente repite el mismo cambio
|
|
37
|
+
- aparecen errores nuevos no relacionados
|
|
38
|
+
- aumenta el scope
|
|
39
|
+
- se modifican capas no previstas
|
|
40
|
+
- falla seguridad/auth/data/infra
|
|
41
|
+
- evals degradan comportamiento anterior
|
|
42
|
+
- el modelo reporta baja confianza
|
|
43
|
+
|
|
44
|
+
## Model routing dentro del loop
|
|
45
|
+
|
|
46
|
+
### DeepSeek / económico
|
|
47
|
+
|
|
48
|
+
Puede ejecutar:
|
|
49
|
+
|
|
50
|
+
- intake
|
|
51
|
+
- task breakdown
|
|
52
|
+
- scaffolding
|
|
53
|
+
- tests simples
|
|
54
|
+
- repair attempts 1-2
|
|
55
|
+
- documentación base
|
|
56
|
+
- extracción de contexto
|
|
57
|
+
|
|
58
|
+
No puede aprobar:
|
|
59
|
+
|
|
60
|
+
- arquitectura
|
|
61
|
+
- seguridad
|
|
62
|
+
- auth/pagos
|
|
63
|
+
- DB destructiva
|
|
64
|
+
- aceptación final crítica
|
|
65
|
+
- cambios productivos de alto impacto
|
|
66
|
+
|
|
67
|
+
### Modelo fuerte
|
|
68
|
+
|
|
69
|
+
Debe intervenir para:
|
|
70
|
+
|
|
71
|
+
- spec review crítica
|
|
72
|
+
- arquitectura
|
|
73
|
+
- debugging complejo
|
|
74
|
+
- security review
|
|
75
|
+
- eval strategy
|
|
76
|
+
- acceptance review
|
|
77
|
+
|
|
78
|
+
## Rollback
|
|
79
|
+
|
|
80
|
+
Si el loop degrada el sistema:
|
|
81
|
+
|
|
82
|
+
1. Detener ejecución.
|
|
83
|
+
2. Reportar diff.
|
|
84
|
+
3. Identificar último estado válido.
|
|
85
|
+
4. Proponer rollback.
|
|
86
|
+
5. Esperar aprobación humana si hay cambios destructivos.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Loop Engineering
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Definir ciclos controlados de trabajo agéntico para que el agente no dependa de prompts manuales en cada paso.
|
|
6
|
+
|
|
7
|
+
Loop Engineering no significa dejar que el agente itere sin control. Significa diseñar:
|
|
8
|
+
|
|
9
|
+
- estado inicial
|
|
10
|
+
- objetivo
|
|
11
|
+
- ciclo permitido
|
|
12
|
+
- herramientas permitidas
|
|
13
|
+
- intentos máximos
|
|
14
|
+
- presupuesto de costo/tokens
|
|
15
|
+
- señales de éxito
|
|
16
|
+
- señales de fallo
|
|
17
|
+
- escalación
|
|
18
|
+
- logs
|
|
19
|
+
- rollback
|
|
20
|
+
- aprendizaje documentado
|
|
21
|
+
|
|
22
|
+
## Relación con el harness
|
|
23
|
+
|
|
24
|
+
```txt
|
|
25
|
+
Harness Engineering = infraestructura de control
|
|
26
|
+
Loop Engineering = ciclos de ejecución, reparación y aprendizaje dentro de esa infraestructura
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Modelo base
|
|
30
|
+
|
|
31
|
+
```txt
|
|
32
|
+
Plan → Execute → Observe → Evaluate → Repair → Learn → Repeat
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Loop de feature
|
|
36
|
+
|
|
37
|
+
```txt
|
|
38
|
+
Spec approved
|
|
39
|
+
→ select next task
|
|
40
|
+
→ write failing test
|
|
41
|
+
→ implement minimum change
|
|
42
|
+
→ run test
|
|
43
|
+
→ repair if needed
|
|
44
|
+
→ run validation
|
|
45
|
+
→ review
|
|
46
|
+
→ checkpoint
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Loop de bug
|
|
50
|
+
|
|
51
|
+
```txt
|
|
52
|
+
Bug report
|
|
53
|
+
→ reproduce
|
|
54
|
+
→ isolate cause
|
|
55
|
+
→ write regression test
|
|
56
|
+
→ fix
|
|
57
|
+
→ run test
|
|
58
|
+
→ repair if needed
|
|
59
|
+
→ run full validation
|
|
60
|
+
→ document root cause
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Loop de IA
|
|
64
|
+
|
|
65
|
+
```txt
|
|
66
|
+
Failed conversation/eval
|
|
67
|
+
→ classify failure
|
|
68
|
+
→ identify prompt/tool/context issue
|
|
69
|
+
→ propose minimal change
|
|
70
|
+
→ run evals
|
|
71
|
+
→ compare baseline
|
|
72
|
+
→ accept/revert
|
|
73
|
+
→ document learning
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Loop de documentación
|
|
77
|
+
|
|
78
|
+
```txt
|
|
79
|
+
Architecture/spec/code change
|
|
80
|
+
→ detect stale docs
|
|
81
|
+
→ update docs
|
|
82
|
+
→ check contradictions
|
|
83
|
+
→ update decision log
|
|
84
|
+
→ checkpoint
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Regla central
|
|
88
|
+
|
|
89
|
+
```txt
|
|
90
|
+
No autonomous loop without boundaries.
|
|
91
|
+
No repair loop without max attempts.
|
|
92
|
+
No learning loop without evals.
|
|
93
|
+
No production loop without observability.
|
|
94
|
+
No critical loop without human approval.
|
|
95
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Maintainability Gates
|
|
2
|
+
|
|
3
|
+
## Reglas
|
|
4
|
+
|
|
5
|
+
- Preferir cambios pequeños y localizados.
|
|
6
|
+
- No mezclar refactor + feature + bugfix.
|
|
7
|
+
- No duplicar lógica de dominio.
|
|
8
|
+
- No introducir abstracciones prematuras.
|
|
9
|
+
- No crear helpers genéricos sin casos reales.
|
|
10
|
+
- No modificar arquitectura sin ADR.
|
|
11
|
+
- No aumentar acoplamiento innecesario.
|
|
12
|
+
- No cambiar contratos públicos sin tests.
|
|
13
|
+
- No esconder errores con catch silencioso.
|
|
14
|
+
- No usar any/unknown sin justificación en TypeScript.
|
|
15
|
+
|
|
16
|
+
## Checklist
|
|
17
|
+
|
|
18
|
+
- [ ] cumple el spec
|
|
19
|
+
- [ ] diff mínimo
|
|
20
|
+
- [ ] nombres claros
|
|
21
|
+
- [ ] no hay dead code
|
|
22
|
+
- [ ] no hay duplicación innecesaria
|
|
23
|
+
- [ ] no hay cambios no relacionados
|
|
24
|
+
- [ ] tests cubren comportamiento
|
|
25
|
+
- [ ] diseño escalable
|
|
26
|
+
- [ ] mantenible por otro humano/agente
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Memory
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Definir cómo se maneja memoria persistente del proyecto y cuándo Engram debe intervenir.
|
|
6
|
+
|
|
7
|
+
## Fuentes
|
|
8
|
+
|
|
9
|
+
| Fuente | Rol |
|
|
10
|
+
|---|---|
|
|
11
|
+
| Repo | Fuente primaria |
|
|
12
|
+
| AGENTS.md | Instrucciones universales |
|
|
13
|
+
| docs/ai | Documentación técnica |
|
|
14
|
+
| docs/specs | Intención/versionado de features |
|
|
15
|
+
| Engram | Memoria/indexación externa |
|
|
16
|
+
| Graphify | Grafo contextual externo |
|
|
17
|
+
|
|
18
|
+
## Qué guardar en Engram
|
|
19
|
+
|
|
20
|
+
Guardar:
|
|
21
|
+
|
|
22
|
+
- Decisiones de arquitectura y su razonamiento, no solo el resultado.
|
|
23
|
+
- Bugs recurrentes y su causa raíz.
|
|
24
|
+
- Convenciones descubiertas que no estaban documentadas.
|
|
25
|
+
- Aprendizajes de retrospectivas de loops (`docs/ai/loop-log.md`).
|
|
26
|
+
- Enfoques descartados y por qué se descartaron.
|
|
27
|
+
- Contexto de decisiones de modelo/routing que resultaron caras o incorrectas.
|
|
28
|
+
|
|
29
|
+
No guardar:
|
|
30
|
+
|
|
31
|
+
- Secrets, tokens, credenciales o datos personales.
|
|
32
|
+
- Volcados completos de código fuente; el repo ya es la fuente.
|
|
33
|
+
- Output de debug efímero sin valor de largo plazo.
|
|
34
|
+
- Cualquier cosa que ya esté documentada en `AGENTS.md` o `docs/ai/`. No dupliques la fuente de verdad.
|
|
35
|
+
|
|
36
|
+
## Cuándo buscar memoria
|
|
37
|
+
|
|
38
|
+
Buscar en Engram antes de:
|
|
39
|
+
|
|
40
|
+
- Iniciar una tarea no trivial o una spec `standard`/`complex`.
|
|
41
|
+
- Diagnosticar un bug que "se siente familiar".
|
|
42
|
+
- Proponer una decisión de arquitectura o convención nueva.
|
|
43
|
+
- Retomar trabajo después de una compactación de contexto o nueva sesión.
|
|
44
|
+
- Repetir una tarea de loop (ver `docs/ai/loop-retrospective.md`).
|
|
45
|
+
|
|
46
|
+
No es necesario buscar memoria para:
|
|
47
|
+
|
|
48
|
+
- Cambios triviales (typos, formato, comentarios).
|
|
49
|
+
- Tareas ya completamente especificadas en una spec activa.
|
|
50
|
+
|
|
51
|
+
## Cuándo el repo gana sobre la memoria externa
|
|
52
|
+
|
|
53
|
+
```txt
|
|
54
|
+
Current user instruction
|
|
55
|
+
→ AGENTS.md
|
|
56
|
+
→ docs/ai/
|
|
57
|
+
→ docs/specs/
|
|
58
|
+
→ Engram (memoria)
|
|
59
|
+
→ Graphify (grafo)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Reglas explícitas:
|
|
63
|
+
|
|
64
|
+
- Si Engram contradice `AGENTS.md` o `docs/ai/`, gana el archivo del repo. Actualizar o descartar la memoria obsoleta.
|
|
65
|
+
- Si Engram sugiere una convención que el código actual ya no sigue, verificar el código primero: la memoria puede estar desactualizada.
|
|
66
|
+
- Si Graphify contradice código o documentación, reportar la discrepancia y regenerar el grafo; no editar el grafo a mano.
|
|
67
|
+
- Ninguna memoria externa autoriza saltarse SDD, TDD, evals o aprobación humana.
|
|
68
|
+
|
|
69
|
+
## Registro de decisiones
|
|
70
|
+
|
|
71
|
+
Las decisiones importantes deben quedar trazables en `docs/ai/decision-log.md` o un ADR, no solo en Engram. Engram indexa; el repo certifica.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Model Policy
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Definir qué tipo de modelo debe ejecutar cada clase de tarea.
|
|
6
|
+
|
|
7
|
+
El harness debe funcionar con cualquier proveedor: DeepSeek, OpenAI/Codex, Claude, Gemini, modelos locales u otros modelos vía Gentle AI/OpenRouter.
|
|
8
|
+
|
|
9
|
+
## Principio
|
|
10
|
+
|
|
11
|
+
```txt
|
|
12
|
+
Use the cheapest model that can safely complete the task.
|
|
13
|
+
Escalate when ambiguity, risk, architecture, security or multi-file reasoning increases.
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Clases de modelos
|
|
17
|
+
|
|
18
|
+
| Clase | Uso recomendado |
|
|
19
|
+
|---|---|
|
|
20
|
+
| Economic | Scaffolding, docs, tests simples, tareas mecánicas |
|
|
21
|
+
| Standard | Implementación normal, refactors moderados, análisis local |
|
|
22
|
+
| Strong | Arquitectura, debugging complejo, specs críticas, review |
|
|
23
|
+
| Specialist | Seguridad, performance, evals, RAG, data, infra |
|
|
24
|
+
| Local/private | Análisis sensible, privacidad, preprocesamiento |
|
|
25
|
+
|
|
26
|
+
## Modelos económicos
|
|
27
|
+
|
|
28
|
+
Ejemplos: DeepSeek u otros modelos de bajo costo.
|
|
29
|
+
|
|
30
|
+
Usar para:
|
|
31
|
+
|
|
32
|
+
- scaffolding
|
|
33
|
+
- task breakdown
|
|
34
|
+
- documentación base
|
|
35
|
+
- generación de tests simples
|
|
36
|
+
- extracción de contexto
|
|
37
|
+
- refactors mecánicos
|
|
38
|
+
- limpieza de archivos
|
|
39
|
+
- primeras hipótesis de debugging
|
|
40
|
+
|
|
41
|
+
No usar sin revisión para:
|
|
42
|
+
|
|
43
|
+
- decisiones arquitectónicas críticas
|
|
44
|
+
- seguridad
|
|
45
|
+
- auth/payment/data loss
|
|
46
|
+
- cambios de DB sin migration plan
|
|
47
|
+
- specs críticas de negocio
|
|
48
|
+
- debugging multiarchivo de alto riesgo
|
|
49
|
+
- cierre final de cambios importantes
|
|
50
|
+
|
|
51
|
+
## Modelos fuertes
|
|
52
|
+
|
|
53
|
+
Usar para:
|
|
54
|
+
|
|
55
|
+
- arquitectura
|
|
56
|
+
- diseño de specs críticas
|
|
57
|
+
- revisión de seguridad
|
|
58
|
+
- debugging complejo
|
|
59
|
+
- razonamiento multiarchivo
|
|
60
|
+
- diseño de evals complejas
|
|
61
|
+
- aceptación final de cambios críticos
|
|
62
|
+
|
|
63
|
+
## Escalation policy
|
|
64
|
+
|
|
65
|
+
Escalar a modelo fuerte o humano si:
|
|
66
|
+
|
|
67
|
+
- hay contradicciones entre docs y código
|
|
68
|
+
- el cambio afecta auth, pagos, datos, seguridad o infra
|
|
69
|
+
- hay más de 5 archivos críticos involucrados
|
|
70
|
+
- el agente propone nueva arquitectura
|
|
71
|
+
- tests/evals fallan repetidamente
|
|
72
|
+
- el modelo reporta baja confianza
|
|
73
|
+
- hay riesgo de pérdida de datos
|
|
74
|
+
- se requiere decisión de producto
|
|
75
|
+
|
|
76
|
+
## Regla final
|
|
77
|
+
|
|
78
|
+
El modelo ejecuta. El harness controla. El humano aprueba impacto.
|
|
79
|
+
|
|
80
|
+
## Loop-aware model policy
|
|
81
|
+
|
|
82
|
+
Los modelos económicos pueden iterar dentro de loops solo si:
|
|
83
|
+
|
|
84
|
+
- hay max attempts
|
|
85
|
+
- hay tests/evals
|
|
86
|
+
- el scope está definido
|
|
87
|
+
- el rollback es posible
|
|
88
|
+
- no hay impacto crítico
|
|
89
|
+
|
|
90
|
+
Los modelos fuertes deben cerrar o revisar loops de alto impacto.
|
|
91
|
+
|
|
92
|
+
## Adapter-independent model policy
|
|
93
|
+
|
|
94
|
+
This policy applies regardless of where the model is used:
|
|
95
|
+
|
|
96
|
+
- OpenCode
|
|
97
|
+
- Cursor
|
|
98
|
+
- Codex
|
|
99
|
+
- Claude
|
|
100
|
+
- Gemini
|
|
101
|
+
- Pi
|
|
102
|
+
- any future CLI or IDE agent
|
|
103
|
+
|
|
104
|
+
Do not encode model safety rules only inside one adapter.
|
|
105
|
+
The source must live here and be referenced by adapters.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Runtime Observability
|
|
2
|
+
|
|
3
|
+
## Eventos mínimos
|
|
4
|
+
|
|
5
|
+
```txt
|
|
6
|
+
agent_run_started
|
|
7
|
+
agent_run_finished
|
|
8
|
+
loop_started
|
|
9
|
+
loop_iteration
|
|
10
|
+
loop_escalated
|
|
11
|
+
loop_stopped
|
|
12
|
+
quality_gate_failed
|
|
13
|
+
quality_gate_passed
|
|
14
|
+
eval_run_finished
|
|
15
|
+
human_approval_required
|
|
16
|
+
rollback_created
|
|
17
|
+
rollback_executed
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Campos mínimos
|
|
21
|
+
|
|
22
|
+
```txt
|
|
23
|
+
run_id
|
|
24
|
+
timestamp
|
|
25
|
+
adapter
|
|
26
|
+
agent
|
|
27
|
+
model
|
|
28
|
+
task
|
|
29
|
+
spec
|
|
30
|
+
files_changed
|
|
31
|
+
commands_run
|
|
32
|
+
tests_run
|
|
33
|
+
evals_run
|
|
34
|
+
token_estimate
|
|
35
|
+
cost_estimate
|
|
36
|
+
status
|
|
37
|
+
risk_level
|
|
38
|
+
approval_status
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Archivos locales
|
|
42
|
+
|
|
43
|
+
```txt
|
|
44
|
+
.harness/logs/runs.jsonl
|
|
45
|
+
.harness/logs/evals.jsonl
|
|
46
|
+
.harness/logs/quality-gates.jsonl
|
|
47
|
+
.harness/logs/approvals.jsonl
|
|
48
|
+
```
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Provider Routing
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Definir cómo enrutar tareas entre modelos/proveedores.
|
|
6
|
+
|
|
7
|
+
## Matriz de routing
|
|
8
|
+
|
|
9
|
+
| Tarea | Economic / DeepSeek | Strong / GPT-Claude-Gemini | Humano |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| Intake inicial | Sí | Opcional | No |
|
|
12
|
+
| Spec simple | Sí | Review opcional | No |
|
|
13
|
+
| Spec crítica | Borrador | Sí | Aprobación |
|
|
14
|
+
| Plan técnico simple | Sí | Opcional | No |
|
|
15
|
+
| Arquitectura | No | Sí | Aprobación |
|
|
16
|
+
| Task breakdown | Sí | Opcional | No |
|
|
17
|
+
| Tests simples | Sí | Opcional | No |
|
|
18
|
+
| Tests críticos | Borrador | Sí | No |
|
|
19
|
+
| Evals IA | Borrador | Sí | Aprobación si negocio |
|
|
20
|
+
| Scaffolding | Sí | Opcional | No |
|
|
21
|
+
| Refactor mecánico | Sí | Review | No |
|
|
22
|
+
| Debugging complejo | Hipótesis | Sí | Si riesgo |
|
|
23
|
+
| Security review | No | Sí | Sí si crítico |
|
|
24
|
+
| Checkpoint final | No | Sí | Sí |
|
|
25
|
+
|
|
26
|
+
## Gentle AI
|
|
27
|
+
|
|
28
|
+
Gentle AI puede usar modelos económicos para fases de bajo riesgo.
|
|
29
|
+
|
|
30
|
+
Recomendación:
|
|
31
|
+
|
|
32
|
+
```txt
|
|
33
|
+
DeepSeek:
|
|
34
|
+
- intake
|
|
35
|
+
- task breakdown
|
|
36
|
+
- scaffolding
|
|
37
|
+
- tests simples
|
|
38
|
+
- docs base
|
|
39
|
+
|
|
40
|
+
Modelo fuerte:
|
|
41
|
+
- spec review
|
|
42
|
+
- architecture
|
|
43
|
+
- eval strategy
|
|
44
|
+
- security review
|
|
45
|
+
- acceptance review
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Codex App / Codex CLI
|
|
49
|
+
|
|
50
|
+
Usar Codex para:
|
|
51
|
+
|
|
52
|
+
- ejecución puntual con `AGENTS.md`
|
|
53
|
+
- refactors acotados
|
|
54
|
+
- generación de tests
|
|
55
|
+
- revisión con skills
|
|
56
|
+
- checkpoints
|
|
57
|
+
|
|
58
|
+
Codex debe respetar `AGENTS.md` y skills en `.codex/skills/` cuando existan.
|
|
59
|
+
|
|
60
|
+
## Cursor
|
|
61
|
+
|
|
62
|
+
Usar Cursor para:
|
|
63
|
+
|
|
64
|
+
- edición interactiva
|
|
65
|
+
- navegación del repo
|
|
66
|
+
- subagentes por fase
|
|
67
|
+
- comandos de workflow
|
|
68
|
+
- integración rápida con reglas del editor
|
|
69
|
+
|
|
70
|
+
## Claude/Gemini
|
|
71
|
+
|
|
72
|
+
Usar para:
|
|
73
|
+
|
|
74
|
+
- razonamiento fuerte
|
|
75
|
+
- arquitectura
|
|
76
|
+
- review
|
|
77
|
+
- debugging complejo
|
|
78
|
+
- análisis de ambigüedad
|
|
79
|
+
- redacción/refinamiento de specs críticas
|
|
80
|
+
|
|
81
|
+
## Regla de costo
|
|
82
|
+
|
|
83
|
+
Preferir modelo económico cuando el output sea verificable con tests/evals.
|
|
84
|
+
Preferir modelo fuerte cuando el output sea una decisión difícil de verificar automáticamente.
|
|
85
|
+
|
|
86
|
+
## OpenCode + Gentle AI + DeepSeek
|
|
87
|
+
|
|
88
|
+
Este es el execution path principal recomendado.
|
|
89
|
+
|
|
90
|
+
```txt
|
|
91
|
+
OpenCode session
|
|
92
|
+
→ Gentle AI SDD/TDD workflow
|
|
93
|
+
→ DeepSeek for low-risk iterations
|
|
94
|
+
→ Strong model/human for critical review
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### DeepSeek dentro del loop
|
|
98
|
+
|
|
99
|
+
Permitido:
|
|
100
|
+
|
|
101
|
+
- intake
|
|
102
|
+
- task breakdown
|
|
103
|
+
- scaffolding
|
|
104
|
+
- tests simples
|
|
105
|
+
- repair attempts 1-2
|
|
106
|
+
- documentación base
|
|
107
|
+
|
|
108
|
+
Escalar después de:
|
|
109
|
+
|
|
110
|
+
- 2 intentos sin progreso
|
|
111
|
+
- scope creep
|
|
112
|
+
- fallo de arquitectura
|
|
113
|
+
- fallo de seguridad
|
|
114
|
+
- error de auth/pagos/DB/infra
|
|
115
|
+
- eval crítica fallida
|
|
116
|
+
|
|
117
|
+
## Provider routing is adapter-independent
|
|
118
|
+
|
|
119
|
+
Model routing must not depend on one tool.
|
|
120
|
+
|
|
121
|
+
The same model policy applies in:
|
|
122
|
+
|
|
123
|
+
```txt
|
|
124
|
+
OpenCode
|
|
125
|
+
Cursor
|
|
126
|
+
Codex
|
|
127
|
+
Claude
|
|
128
|
+
Gemini
|
|
129
|
+
Pi
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Adapter-specific syntax may change, but routing policy does not.
|
|
133
|
+
|
|
134
|
+
```txt
|
|
135
|
+
Economic models = low-risk, verifiable execution.
|
|
136
|
+
Strong models = ambiguous, high-risk, architectural or security-sensitive work.
|
|
137
|
+
Human = impact approval.
|
|
138
|
+
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Quality Gates
|
|
2
|
+
|
|
3
|
+
## Gates mínimos
|
|
4
|
+
|
|
5
|
+
| Gate | Required | Bloqueante |
|
|
6
|
+
|---|---:|---:|
|
|
7
|
+
| format check | yes | yes |
|
|
8
|
+
| lint | yes | yes |
|
|
9
|
+
| typecheck | yes | yes |
|
|
10
|
+
| unit tests | yes | yes |
|
|
11
|
+
| integration tests | when applicable | yes |
|
|
12
|
+
| E2E smoke | when UI/API critical | yes |
|
|
13
|
+
| AI evals | when AI behavior changes | yes |
|
|
14
|
+
| build | yes | yes |
|
|
15
|
+
| dependency review | yes | yes |
|
|
16
|
+
| secret scan | yes | yes |
|
|
17
|
+
| license policy | yes | yes |
|
|
18
|
+
| architecture review | high-impact | yes |
|
|
19
|
+
| human approval | critical impact | yes |
|
|
20
|
+
|
|
21
|
+
## Definition of Done
|
|
22
|
+
|
|
23
|
+
Un cambio está listo solo si:
|
|
24
|
+
|
|
25
|
+
- cumple el spec
|
|
26
|
+
- no expande scope silenciosamente
|
|
27
|
+
- incluye pruebas o evals relevantes
|
|
28
|
+
- pasa quality gates
|
|
29
|
+
- documenta tradeoffs relevantes
|
|
30
|
+
- actualiza ADRs si cambia arquitectura
|
|
31
|
+
- no introduce dependencias inseguras o no aprobadas
|
|
32
|
+
- tiene rollback path si toca producción
|
|
33
|
+
|
|
34
|
+
## Reglas
|
|
35
|
+
|
|
36
|
+
```txt
|
|
37
|
+
Every fixed bug must add or update a regression test.
|
|
38
|
+
Every AI behavior change must add or update evals.
|
|
39
|
+
Every architecture-changing decision must add or update an ADR.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Spec-level quality gates
|
|
43
|
+
|
|
44
|
+
| Spec level | Required gates |
|
|
45
|
+
|---|---|
|
|
46
|
+
| basic | lint/typecheck/relevant test or manual check |
|
|
47
|
+
| standard | lint/typecheck/unit/integration/build/checkpoint |
|
|
48
|
+
| complex | all standard gates + ADR/security/evals/rollback/human approval when applicable |
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Rollback Runtime
|
|
2
|
+
|
|
3
|
+
## Snapshot policy
|
|
4
|
+
|
|
5
|
+
Crear snapshot antes de:
|
|
6
|
+
|
|
7
|
+
- loop autónomo
|
|
8
|
+
- cambios multiarchivo
|
|
9
|
+
- migraciones
|
|
10
|
+
- cambios de auth
|
|
11
|
+
- cambios de infraestructura
|
|
12
|
+
- cambios IA productivos
|
|
13
|
+
- actualizaciones de dependencias
|
|
14
|
+
|
|
15
|
+
## Git policy
|
|
16
|
+
|
|
17
|
+
Antes de cambios grandes:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
git status
|
|
21
|
+
git diff
|
|
22
|
+
git branch --show-current
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Preferir worktrees/branches aisladas para agentes.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Security
|
|
2
|
+
|
|
3
|
+
## Reglas no negociables
|
|
4
|
+
|
|
5
|
+
- No commitear secretos.
|
|
6
|
+
- No exponer tokens en logs.
|
|
7
|
+
- No copiar valores reales de `.env`.
|
|
8
|
+
- Validar input en fronteras de sistema.
|
|
9
|
+
- Validar response de APIs externas.
|
|
10
|
+
- Aplicar principio de mínimo privilegio.
|
|
11
|
+
- Revisar authz además de authn.
|
|
12
|
+
- Documentar riesgos de seguridad en specs.
|