@tacuchi/agent-workflow-cli 6.1.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -12
- package/dist/application/profile/profile-service.d.ts +53 -0
- package/dist/application/profile/profile-service.d.ts.map +1 -0
- package/dist/application/profile/profile-service.js +210 -0
- package/dist/application/profile/profile-service.js.map +1 -0
- package/dist/application/render/history-row.d.ts.map +1 -1
- package/dist/application/render/history-row.js +5 -0
- package/dist/application/render/history-row.js.map +1 -1
- package/dist/application/self/bootstrap.js +2 -1
- package/dist/application/self/bootstrap.js.map +1 -1
- package/dist/application/self/detect-hosts.d.ts +18 -0
- package/dist/application/self/detect-hosts.d.ts.map +1 -0
- package/dist/application/self/detect-hosts.js +37 -0
- package/dist/application/self/detect-hosts.js.map +1 -0
- package/dist/application/self/install-hooks.d.ts +30 -0
- package/dist/application/self/install-hooks.d.ts.map +1 -0
- package/dist/application/self/install-hooks.js +253 -0
- package/dist/application/self/install-hooks.js.map +1 -0
- package/dist/application/self/install-skill.d.ts +2 -0
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +69 -3
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/session-close-service.d.ts +10 -0
- package/dist/application/session-close-service.d.ts.map +1 -1
- package/dist/application/session-close-service.js +87 -10
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/cli/commands/self.d.ts.map +1 -1
- package/dist/cli/commands/self.js +9 -1
- package/dist/cli/commands/self.js.map +1 -1
- package/dist/cli/commands/session-close.d.ts.map +1 -1
- package/dist/cli/commands/session-close.js +11 -0
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +100 -24
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/package.json +2 -2
- package/skills/agent-workflow/commands/README.md +24 -0
- package/skills/agent-workflow/commands/agent-workflow-compact.md +24 -0
- package/skills/agent-workflow/commands/agent-workflow-doctor.md +100 -0
- package/skills/agent-workflow/commands/agent-workflow-export-arq.md +77 -0
- package/skills/agent-workflow/commands/agent-workflow-export-conclusions.md +78 -0
- package/skills/agent-workflow/commands/agent-workflow-export-plan.md +74 -0
- package/skills/agent-workflow/commands/agent-workflow-export-qa-note.md +30 -0
- package/skills/agent-workflow/commands/agent-workflow-export-report.md +78 -0
- package/skills/agent-workflow/commands/agent-workflow-export-requirement.md +30 -0
- package/skills/agent-workflow/commands/agent-workflow-export-scripts.md +92 -0
- package/skills/agent-workflow/commands/agent-workflow-export-tech-manuals.md +75 -0
- package/skills/agent-workflow/commands/agent-workflow-export-tech-note.md +30 -0
- package/skills/agent-workflow/commands/agent-workflow-hub-init.md +82 -0
- package/skills/agent-workflow/commands/agent-workflow-migrate.md +56 -0
- package/skills/agent-workflow/commands/agent-workflow-project-init.md +60 -0
- package/skills/agent-workflow/commands/agent-workflow-resume.md +22 -0
- package/skills/agent-workflow/commands/agent-workflow-rules.md +40 -0
- package/skills/agent-workflow/commands/agent-workflow-session.md +35 -0
- package/skills/agent-workflow/doctrine/README.md +15 -0
- package/skills/agent-workflow/doctrine/compact/SKILL.md +145 -0
- package/skills/agent-workflow/doctrine/doctor/SKILL.md +86 -0
- package/skills/agent-workflow/doctrine/doctor/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/hub-init/SKILL.md +157 -0
- package/skills/agent-workflow/doctrine/hub-init/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/hub-init/references/multiroot-manual.md +51 -0
- package/skills/agent-workflow/doctrine/implement/SKILL.md +290 -0
- package/skills/agent-workflow/doctrine/implement/references/branch-verification.md +16 -0
- package/skills/agent-workflow/doctrine/implement/references/design-md-template.md +108 -0
- package/skills/agent-workflow/doctrine/implement/references/rollback-guide.md +81 -0
- package/skills/agent-workflow/doctrine/migrate/SKILL.md +281 -0
- package/skills/agent-workflow/doctrine/migrate/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/project-init/SKILL.md +100 -0
- package/skills/agent-workflow/doctrine/project-init/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/refactor/SKILL.md +208 -0
- package/skills/agent-workflow/doctrine/refactor/references/refactor-md-template.md +108 -0
- package/skills/agent-workflow/doctrine/refactor/references/strangler-checklist.md +116 -0
- package/skills/agent-workflow/doctrine/resume/SKILL.md +199 -0
- package/skills/agent-workflow/doctrine/rules/SKILL.md +224 -0
- package/skills/agent-workflow/doctrine/rules/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/doctrine/session/SKILL.md +383 -0
- package/skills/agent-workflow/doctrine/session/references/auto-plan-rules.md +63 -0
- package/skills/agent-workflow/doctrine/session/references/backlog-template.md +95 -0
- package/skills/agent-workflow/doctrine/session/references/branch-verification.md +198 -0
- package/skills/agent-workflow/doctrine/session/references/commits-policy.md +111 -0
- package/skills/agent-workflow/doctrine/session/references/communication-style.md +50 -0
- package/skills/agent-workflow/doctrine/session/references/graduacion-routing.md +88 -0
- package/skills/agent-workflow/doctrine/session/references/lifecycle-deep.md +160 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/C1-specialty-selection.md +11 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/C2-cost-guard.md +14 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M1-closure-commit-prompt.md +104 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M10-next-step.md +17 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M11-context.md +16 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M2-branch-caso-A.md +14 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M3-branch-caso-C.md +33 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M4-cross-source-hard-gate.md +33 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M5-modality-analyze.md +15 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M6-phase-gate.md +31 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M7-refactor-legacy-detected.md +28 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M8-refactor-cleanup.md +16 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/M9-contract-review.md +39 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S1-type-design.md +15 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S2-topic-change-detection.md +14 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S3-flow-detection.md +28 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S4-resume.md +27 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S5-post-compact.md +17 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S6-scope.md +16 -0
- package/skills/agent-workflow/doctrine/session/references/prompts/S7-design-review.md +37 -0
- package/skills/agent-workflow/doctrine/session/references/prompts-catalog.md +210 -0
- package/skills/agent-workflow/doctrine/session/references/sandbox-readonly-rules.md +82 -0
- package/skills/agent-workflow/doctrine/session/references/specialty-decision-tree.md +56 -0
- package/skills/agent-workflow/doctrine/session/references/topic-change-rules.md +67 -0
- package/skills/agent-workflow/exports/README.md +15 -0
- package/skills/agent-workflow/exports/export-arq/SKILL.md +229 -0
- package/skills/agent-workflow/exports/export-arq/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/exports/export-arq/references/lexico-tecnico.md +94 -0
- package/skills/agent-workflow/exports/export-arq/references/template-c4.md +293 -0
- package/skills/agent-workflow/exports/export-arq/references/template-plantuml.puml +77 -0
- package/skills/agent-workflow/exports/export-arq/references/template-structurizr.dsl +72 -0
- package/skills/agent-workflow/exports/export-arq/references/validations.md +231 -0
- package/skills/agent-workflow/exports/export-conclusions/SKILL.md +169 -0
- package/skills/agent-workflow/exports/export-conclusions/references/dedup-rules.md +154 -0
- package/skills/agent-workflow/exports/export-conclusions/references/template-conclusions.md +158 -0
- package/skills/agent-workflow/exports/export-plan/SKILL.md +225 -0
- package/skills/agent-workflow/exports/export-plan/references/state-transitions.md +141 -0
- package/skills/agent-workflow/exports/export-plan/references/template-plan.md +132 -0
- package/skills/agent-workflow/exports/export-qa-note/SKILL.md +31 -0
- package/skills/agent-workflow/exports/export-report/SKILL.md +262 -0
- package/skills/agent-workflow/exports/export-report/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/exports/export-report/references/lexico.md +174 -0
- package/skills/agent-workflow/exports/export-report/references/template-a.md +95 -0
- package/skills/agent-workflow/exports/export-report/references/template-b.md +221 -0
- package/skills/agent-workflow/exports/export-report/references/template-c.md +180 -0
- package/skills/agent-workflow/exports/export-report/references/validations.md +255 -0
- package/skills/agent-workflow/exports/export-requirement/SKILL.md +31 -0
- package/skills/agent-workflow/exports/export-scripts/SKILL.md +324 -0
- package/skills/agent-workflow/exports/export-scripts/references/code-scan-recommendations.md +83 -0
- package/skills/agent-workflow/exports/export-scripts/references/deprecation-plan.md +80 -0
- package/skills/agent-workflow/exports/export-scripts/references/lexico-tecnico.md +80 -0
- package/skills/agent-workflow/exports/export-scripts/references/manifest-template.md +253 -0
- package/skills/agent-workflow/exports/export-scripts/references/readme-template.md +79 -0
- package/skills/agent-workflow/exports/export-scripts/references/theme-handling.md +168 -0
- package/skills/agent-workflow/exports/export-scripts/references/validations.md +242 -0
- package/skills/agent-workflow/exports/export-tech-manuals/SKILL.md +214 -0
- package/skills/agent-workflow/exports/export-tech-manuals/references/lexico-tecnico.md +97 -0
- package/skills/agent-workflow/exports/export-tech-manuals/references/template-index.md +123 -0
- package/skills/agent-workflow/exports/export-tech-manuals/references/template-manual.md +143 -0
- package/skills/agent-workflow/exports/export-tech-manuals/references/validations.md +211 -0
- package/skills/agent-workflow/exports/export-tech-note/SKILL.md +31 -0
- package/skills/agent-workflow/hooks/README.md +15 -0
- package/skills/agent-workflow/hooks/hooks.template.json +90 -0
- package/skills/agent-workflow/references/README.md +12 -0
- package/skills/agent-workflow/references/legacy-anchors.md +50 -0
- package/skills/agent-workflow/references/profile-parametrization.md +88 -0
- package/skills/agent-workflow/specialties/README.md +14 -0
- package/skills/agent-workflow/specialties/analyze-conclude/SKILL.md +175 -0
- package/skills/agent-workflow/specialties/analyze-conclude/references/incident-classification.md +61 -0
- package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md +148 -0
- package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/specialties/analyze-investigate/references/cost-guard.md +85 -0
- package/skills/agent-workflow/specialties/analyze-synthesize/SKILL.md +127 -0
- package/skills/agent-workflow/specialties/design-brief/SKILL.md +90 -0
- package/skills/agent-workflow/specialties/design-deliver/SKILL.md +121 -0
- package/skills/agent-workflow/specialties/design-develop/SKILL.md +115 -0
- package/skills/agent-workflow/specialties/design-discover/SKILL.md +103 -0
- package/skills/agent-workflow/standards/README.md +12 -0
- package/skills/agent-workflow/standards/coding-standards/SKILL.md +102 -0
- package/skills/agent-workflow/standards/coding-standards/SKILL.md.tmp +0 -0
- package/skills/agent-workflow/standards/coding-standards/references/angular-typescript.md +266 -0
- package/skills/agent-workflow/standards/coding-standards/references/database-conventions.md +170 -0
- package/skills/agent-workflow/standards/coding-standards/references/fe-be-integration.md +300 -0
- package/skills/agent-workflow/standards/coding-standards/references/frontend-structure.md +182 -0
- package/skills/agent-workflow/standards/coding-standards/references/java-spring.md +244 -0
- package/skills/agent-workflow/standards/coding-standards/references/project-structure.md +197 -0
- package/skills/agent-workflow/standards/frontend-design/SKILL.md +62 -0
- package/skills/agent-workflow/standards/frontend-design/references/feedback-toasts-patterns.md +249 -0
- package/skills/agent-workflow/standards/frontend-design/references/form-patterns.md +278 -0
- package/skills/agent-workflow/standards/frontend-design/references/list-patterns.md +256 -0
- package/skills/agent-workflow/standards/frontend-design/references/modal-patterns.md +220 -0
- package/skills/agent-workflow/standards/frontend-design/references/navigation-patterns.md +224 -0
- package/skills/agent-workflow/standards/redaccion-simple/SKILL.md +128 -0
- package/skills/agent-workflow/standards/sql-rollback-generator/SKILL.md +197 -0
- package/skills/agent-workflow/standards/sql-rollback-generator/references/irreversible-checklist.md +161 -0
- package/skills/agent-workflow/standards/sql-rollback-generator/references/release-rollback.md +131 -0
- package/skills/agent-workflow/standards/sql-rollback-generator/references/rollback-patterns.md +255 -0
- package/skills/agent-workflow/standards/sql-script-organizer/SKILL.md +244 -0
- package/skills/agent-workflow/standards/sql-script-organizer/references/bundle-readme-template.md +82 -0
- package/skills/agent-workflow/standards/sql-script-organizer/references/categorization-rules.md +122 -0
- package/skills/agent-workflow/standards/sql-script-organizer/references/consolidation-cross-session.md +125 -0
- package/skills/agent-workflow/standards/sql-script-organizer/references/scripts-sql-format.md +140 -0
- package/skills/agent-workflow/standards/testing-strategy/SKILL.md +113 -0
- package/skills/agent-workflow/standards/testing-strategy/references/test-levels.md +255 -0
- package/skills/agent-workflow/workflows/README.md +12 -0
- package/skills/agent-workflow/workflows/analyze-workflow/SKILL.md +107 -0
- package/skills/agent-workflow/workflows/design-workflow/SKILL.md +100 -0
- package/skills/agent-workflow/workflows/dev-workflow/SKILL.md +195 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Catálogo de patrones de code-scan + recomendaciones
|
|
2
|
+
|
|
3
|
+
> **Port directo** de `agent-workflow/skills/release/references/code-scan-patterns.md` v2.0.0. DEC-004 de session061: el contenido es idéntico al original. Si Fase 2 remueve `release`, este archivo queda como canónico.
|
|
4
|
+
|
|
5
|
+
## Patrones built-in del CLI `agent-workflow code-scan`
|
|
6
|
+
|
|
7
|
+
| ID | Severidad | Patrón | Recomendación |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| `LOCALHOST` | media | `http://localhost`, `127.0.0.1`, `0.0.0.0` literal | Reemplazar por env var o configuración por ambiente. |
|
|
10
|
+
| `IP_LITERAL` | media | IP estática IPv4 en código (excepto `127.0.0.1` ya capturado) | Mover a configuración externa. |
|
|
11
|
+
| `TODO` | baja | `TODO`, `FIXME`, `XXX`, `HACK` en comentarios | Resolver antes de release o documentar deuda técnica. |
|
|
12
|
+
| `HARDCODED_SECRET` | alta | strings con `password=`, `api_key=`, `secret=`, tokens base64 largos | Mover a env var o gestor de secretos. Si fue commiteado: **rotar la credencial**. |
|
|
13
|
+
| `CONSOLE_LOG` | baja | `console.log`, `console.debug`, `print()`, `System.out.println` en código de producción | Eliminar o reemplazar por logger por nivel. |
|
|
14
|
+
|
|
15
|
+
## Patrones extendidos (opt-in vía `--pattern`)
|
|
16
|
+
|
|
17
|
+
| ID | Severidad | Patrón | Recomendación |
|
|
18
|
+
|---|---|---|---|
|
|
19
|
+
| `SQL_INJECTION` | alta | string concatenation en construcción de SQL | Usar prepared statements / query parameters. |
|
|
20
|
+
| `DEPRECATED_API` | baja | uso de APIs marcadas deprecated en deps actuales | Migrar antes del próximo upgrade mayor. |
|
|
21
|
+
| `MAGIC_NUMBER` | baja | literal numérico sin constante con nombre | Extraer a constante con nombre descriptivo. |
|
|
22
|
+
| `TODO_FECHADO` | media | `TODO(YYYY-MM-DD)` con fecha pasada | Resolver — la deuda venció. |
|
|
23
|
+
|
|
24
|
+
## Override de patrones
|
|
25
|
+
|
|
26
|
+
Pasar al CLI:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
agent-workflow code-scan --pattern "SQL_INJECTION:string\.format.*SELECT:high" \
|
|
30
|
+
--pattern "DEPRECATED_API:@Deprecated:low"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
O archivo de patterns:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"patterns": [
|
|
38
|
+
{ "id": "CUSTOM_RULE", "regex": "...", "severity": "medium", "recommendation": "..." }
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Excludes y extensiones
|
|
44
|
+
|
|
45
|
+
Default excludes: `node_modules/`, `target/`, `dist/`, `build/`, `.workflow/`, `docs/`, `tests/`, `test/`, `.git/`, `__pycache__/`, `.idea/`, `.vscode/`.
|
|
46
|
+
|
|
47
|
+
Default extensions: `.java`, `.ts`, `.js`, `.py`, `.go`, `.rb`, `.php`, `.cs`, `.kt`, `.scala`, `.vue`, `.tsx`, `.jsx`, `.properties`, `.yml`, `.yaml`, `.json`, `.xml`, `.sql`.
|
|
48
|
+
|
|
49
|
+
Override:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
agent-workflow code-scan --exclude vendor/,third_party/ --ext .java,.ts,.kt
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Output del CLI
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"matches": [
|
|
60
|
+
{
|
|
61
|
+
"pattern_id": "HARDCODED_SECRET",
|
|
62
|
+
"severity": "high",
|
|
63
|
+
"file": "src/main/java/com/example/Config.java",
|
|
64
|
+
"line": 42,
|
|
65
|
+
"snippet": "password = \"...\"",
|
|
66
|
+
"recommendation": "Mover a variable de entorno o gestor de secretos. Rotar la credencial si fue commiteada."
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"counts": { "high": 1, "medium": 3, "low": 12 },
|
|
70
|
+
"by_severity": { ... },
|
|
71
|
+
"total_matches": 16
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Integración con el manifest
|
|
76
|
+
|
|
77
|
+
El skill `export-scripts` consume este output y lo presenta en §5 del `manifest.md`:
|
|
78
|
+
- §5.1 — severidad alta (tabla completa).
|
|
79
|
+
- §5.2 — severidad media (tabla completa).
|
|
80
|
+
- §5.3 — severidad baja (top 10 + conteo si >20).
|
|
81
|
+
- §5.4 — alcance del escaneo (excludes + extensiones efectivas).
|
|
82
|
+
|
|
83
|
+
Si `--skip-code-scan` se usó, §5 se reemplaza por nota inline `_(Escaneo omitido por --skip-code-scan)_` (V4.b de `validations.md`).
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Plan de deprecación — `release` + `release-scripts` → `export-scripts`
|
|
2
|
+
|
|
3
|
+
Plan canónico definido en Propuesta 007 R2 y materializado en session061.
|
|
4
|
+
|
|
5
|
+
## Estado (plugin v2.8.0 — Fase 1)
|
|
6
|
+
|
|
7
|
+
### `release` v2.0.0 → v2.0.1
|
|
8
|
+
|
|
9
|
+
- **SKILL.md**: banner deprecation en la primera línea del body.
|
|
10
|
+
- **commands/release.md**: banner equivalente.
|
|
11
|
+
- Comportamiento: **idéntico al v2.0.0**. Output sigue siendo `docs/release/NNN-informe-release.md` + `docs/scripts/NNN-sessionXXX-<slug>/`.
|
|
12
|
+
- Invocaciones automatizadas (CI, makefiles, scripts internos) NO se rompen.
|
|
13
|
+
|
|
14
|
+
### `release-scripts` v2.0.0 → v2.0.1
|
|
15
|
+
|
|
16
|
+
- Mismo tratamiento: banner pasivo, comportamiento sin cambios.
|
|
17
|
+
- Output sigue siendo `docs/release/NNN-release-*/scripts-por-tema/`.
|
|
18
|
+
|
|
19
|
+
### Banner canónico (texto literal)
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
> ⚠️ **DEPRECATED desde plugin v2.8.0**: usar `/agent-workflow:export-scripts` (refactor que consolida release + release-scripts en un único output dir). Este comando se mantiene por compatibilidad; remoción prevista en plugin v3.0.0. Detalles: `docs/conclusiones/007-export-commands-family.md` §R2.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Estado (plugin v3.0.0 — Fase 2 — futuro)
|
|
26
|
+
|
|
27
|
+
**Sin compromiso de fecha**. Disparadores que activarían Fase 2:
|
|
28
|
+
|
|
29
|
+
1. Telemetría / encuesta confirma que ≥80% de workspaces migraron a `/agent-workflow:export-scripts`.
|
|
30
|
+
2. Ningún PR en los últimos 3 meses depende de output legacy (`docs/release/`).
|
|
31
|
+
3. Equipo runtime confirma que el plan deprecation Fase 1 cubrió todos los edge cases.
|
|
32
|
+
|
|
33
|
+
Cuando se active:
|
|
34
|
+
- Remover `skills/release/` y `commands/release.md`.
|
|
35
|
+
- Remover `skills/release-scripts/` y `commands/release-scripts.md`.
|
|
36
|
+
- Decisión sobre `docs/release/` legacy en cada workspace: **NO** se migra. Queda como histórico fijo (workspaces de producto los preservan; el AI los lee si el usuario pregunta).
|
|
37
|
+
- Bump plugin a v3.0.0 (BREAKING).
|
|
38
|
+
|
|
39
|
+
## Compatibilidad cross-skill
|
|
40
|
+
|
|
41
|
+
### Skills/refs que aún apuntan a `release` o `release-scripts`
|
|
42
|
+
|
|
43
|
+
Lista a verificar al cerrar Fase 1:
|
|
44
|
+
|
|
45
|
+
| Skill / archivo | Referencia | Acción Fase 1 | Acción Fase 2 |
|
|
46
|
+
|---|---|---|---|
|
|
47
|
+
| `agent-workflow:session/SKILL.md` §"Cerrar sesión" tabla de kinds | `/agent-workflow:release` como único disparador de kind `script` y `release` | Mantener — `release` legacy sigue funcionando | Reemplazar por `/agent-workflow:export-scripts` |
|
|
48
|
+
| `agent-workflow:dev-workflow/SKILL.md` | Referencia release como punto de entrada | Mantener | Actualizar |
|
|
49
|
+
| `agent-workflow:release/SKILL.md` | Banner deprecation | Banner agregado | Skill removido |
|
|
50
|
+
| `agent-workflow:release-scripts/SKILL.md` | Banner deprecation | Banner agregado | Skill removido |
|
|
51
|
+
| `qtc-plugins-marketplace/.claude-plugin/marketplace.json` | Descripción del plugin | v2.8.0 con texto nuevo + deprecation note | v3.0.0 sin mención de release legacy |
|
|
52
|
+
| `agent-workflow/README.md` | Header de versión | v2.8.0 + 13 commands | v3.0.0 + 11 commands |
|
|
53
|
+
|
|
54
|
+
### Reusos cross-skill durante Fase 1
|
|
55
|
+
|
|
56
|
+
`export-scripts` referencia (no porta) algunos archivos de release/release-scripts:
|
|
57
|
+
|
|
58
|
+
| Skill | Archivo referenciado | Por qué reference y no port |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| `release` | `references/manual-actions-catalog.md` | Contenido invariante (matriz acción↔condición). Deduplicar. |
|
|
61
|
+
|
|
62
|
+
Cuando Fase 2 remueva `release`/`release-scripts`: este archivo se **colapsa** al port (mover a `export-scripts/references/manual-actions-catalog.md`). Es parte del checklist de Fase 2.
|
|
63
|
+
|
|
64
|
+
## Comunicación a usuarios
|
|
65
|
+
|
|
66
|
+
Al cargar `release` o `release-scripts` legacy (v2.0.1):
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
> ⚠️ Comando deprecated desde plugin v2.8.0
|
|
70
|
+
> Migrar a: /agent-workflow:export-scripts
|
|
71
|
+
> Detalles: docs/conclusiones/007-export-commands-family.md §R2
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
El banner se imprime una vez por sesión (no spammea). El skill continúa ejecutando normalmente.
|
|
75
|
+
|
|
76
|
+
## Decisiones de no-acción
|
|
77
|
+
|
|
78
|
+
- **NO** redirigir `/agent-workflow:release` a `/agent-workflow:export-scripts` internamente. El refactor no es semánticamente idéntico (output dir + estructura cambian). Un redirect silencioso confundiría a workspaces con CI que asume `docs/release/`.
|
|
79
|
+
- **NO** migrar `docs/release/` histórico de workspaces de producto. Cada workspace lo decide cuando active export-scripts.
|
|
80
|
+
- **NO** crear `--legacy-output` flag en export-scripts. Romper la simetría del patrón export-* por compat sería deuda futura.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Léxico técnico — limpieza mínima de noise para export-scripts
|
|
2
|
+
|
|
3
|
+
A diferencia de `export-report/references/lexico.md` (que traduce técnico→ejecutivo para audiencia gerencial), este léxico es **mínimo**: la audiencia de `export-scripts` es técnica (devs / DBAs / release managers) y los términos técnicos son bienvenidos. Sólo se veta el noise interno: placeholders sin reemplazar, paths del developer, restos de plantilla.
|
|
4
|
+
|
|
5
|
+
## Lista vetada (V2 — para grep determinista)
|
|
6
|
+
|
|
7
|
+
Términos / patrones que **no deben aparecer** en el cuerpo del `manifest.md` rendered (excepto en `## 10. Metadata`):
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
{{
|
|
11
|
+
}}
|
|
12
|
+
{{PRODUCTO}}
|
|
13
|
+
{{FECHA}}
|
|
14
|
+
{{SOURCE}}
|
|
15
|
+
[entre corchetes]
|
|
16
|
+
[YYYY-MM-DD]
|
|
17
|
+
[nombre-rama]
|
|
18
|
+
[nombre]
|
|
19
|
+
[lista]
|
|
20
|
+
[N]
|
|
21
|
+
[motivo 1]
|
|
22
|
+
[motivo 2]
|
|
23
|
+
[breve descripción]
|
|
24
|
+
[resumen 1 línea]
|
|
25
|
+
[título]
|
|
26
|
+
[fecha objetivo]
|
|
27
|
+
[correo-destino]
|
|
28
|
+
[correo-cc]
|
|
29
|
+
[servicio 1]
|
|
30
|
+
[servicio 2]
|
|
31
|
+
[sha corto]
|
|
32
|
+
[mensaje]
|
|
33
|
+
[salida de
|
|
34
|
+
sessionXXX
|
|
35
|
+
sessionYYY
|
|
36
|
+
sessionNNN
|
|
37
|
+
session001-nombre
|
|
38
|
+
session002-nombre
|
|
39
|
+
NNN-export-scripts-YYYY-MM-DD
|
|
40
|
+
NNN-informe-release
|
|
41
|
+
NNN-release-YYYY-MM-DD
|
|
42
|
+
DEC-NNN
|
|
43
|
+
ACT-NNN
|
|
44
|
+
ACT-001
|
|
45
|
+
ACT-002
|
|
46
|
+
H1
|
|
47
|
+
M1
|
|
48
|
+
/Users/
|
|
49
|
+
~/Git/
|
|
50
|
+
C:\Users\
|
|
51
|
+
TODO:
|
|
52
|
+
FIXME:
|
|
53
|
+
WIP:
|
|
54
|
+
XXX:
|
|
55
|
+
<-- TODO
|
|
56
|
+
<-- FIXME
|
|
57
|
+
<-- WIP
|
|
58
|
+
resto de acciones detectadas automáticamente
|
|
59
|
+
otras advertencias dinámicas según lo detectado
|
|
60
|
+
Si vacío:
|
|
61
|
+
Si no hay irreversibles:
|
|
62
|
+
Si no existe vista por tema:
|
|
63
|
+
Si --skip-code-scan fue usado:
|
|
64
|
+
Si no hay advertencias:
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Cómo extraer la lista para `grep -F -f`
|
|
68
|
+
|
|
69
|
+
El validator de V2 (descrito en `validations.md` §V2) procesa este `.md` extrayendo sólo las líneas **dentro del fenced block**, no toda la prosa. Pre-proceso típico:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
awk '/^```$/{flag=!flag; next} flag' lexico-tecnico.md > /tmp/lexico-vetado.txt
|
|
73
|
+
grep -n -F -f /tmp/lexico-vetado.txt /tmp/manifest-body.md
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
El primer awk toggle-extrae las líneas entre triple-backticks (alterna `flag` cada `\`\`\`` solitario); el segundo grep matchea como fixed strings.
|
|
77
|
+
|
|
78
|
+
## Total ≈ 50 términos vetados
|
|
79
|
+
|
|
80
|
+
Mantenimiento: revisar tras cada change major del template; los términos derivan 1:1 de los placeholders activos en `manifest-template.md`.
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# Plantilla — Informe del bundle export-scripts
|
|
2
|
+
|
|
3
|
+
Plantilla exacta que usa el skill `export-scripts` para generar `manifest.md` dentro del output dir. Reemplazar los placeholders `[entre corchetes]` con valores reales al momento de generar.
|
|
4
|
+
|
|
5
|
+
> **Heredada de `release/references/report-template.md` v2.0.0**. Cambios respecto al original: (1) paths actualizados al nuevo output dir único; (2) sección 4.4 "Vista por tema" condicional (V4.a); (3) header con readiness color emoji; (4) sección 10 cita `export-scripts v1.0.0`.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# Informe del bundle NNN — [YYYY-MM-DD]
|
|
11
|
+
|
|
12
|
+
- **Rama actual:** `[nombre-rama]`
|
|
13
|
+
- **Rama destino:** `certificacion`
|
|
14
|
+
- **Sesiones incluidas:** [N]
|
|
15
|
+
- **Readiness:** [🟢 verde | 🟡 amarillo | 🔴 rojo]
|
|
16
|
+
- **Generado por:** agent-workflow · skill `export-scripts`
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 1. Resumen ejecutivo
|
|
21
|
+
|
|
22
|
+
[1-2 párrafos sintetizando qué entra en este bundle: módulos tocados, tipo de cambios predominantes (features, fixes, migración de datos), y el juicio general de readiness con 1-2 motivos principales.]
|
|
23
|
+
|
|
24
|
+
**Motivos del color de readiness:**
|
|
25
|
+
- [motivo 1]
|
|
26
|
+
- [motivo 2]
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 2. Sesiones incluidas
|
|
31
|
+
|
|
32
|
+
| # | Sesión | Estado | Fase | Fechas | Resumen | Refs |
|
|
33
|
+
|---|---|---|---|---|---|---|
|
|
34
|
+
| 1 | session001-nombre | closed | 5 | YYYY-MM-DD → YYYY-MM-DD | [resumen 1 línea] | [DEC](../decisiones/001-*.md) · [SQL](por-sesion/sessionXXX-*/) |
|
|
35
|
+
| 2 | session002-nombre | ⚠ active | 3 | YYYY-MM-DD → — | [resumen 1 línea] + motivo de apertura | — |
|
|
36
|
+
|
|
37
|
+
**Sesiones abiertas:** destacadas con ⚠. Cada una baja la readiness del bundle. Motivo y próxima acción debe quedar explícito en el resumen.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 3. Acciones manuales previas a producción
|
|
42
|
+
|
|
43
|
+
Checklist ordenado. Marcar cada ítem antes del despliegue.
|
|
44
|
+
|
|
45
|
+
- [ ] **ACT-001** — [Título corto]
|
|
46
|
+
- **Motivo:** [por qué es necesaria]
|
|
47
|
+
- **Quién:** [rol/persona sugerida]
|
|
48
|
+
- **Detalle:** [qué hacer, con qué entrada/salida esperada]
|
|
49
|
+
|
|
50
|
+
- [ ] **ACT-002** — Solicitar API keys de producción
|
|
51
|
+
- **Motivo:** REQUIREMENTS de session003 menciona integración con servicio externo pero no hay claves concretas.
|
|
52
|
+
- **Quién:** Administrador de infraestructura
|
|
53
|
+
- **Detalle:** enviar correo con plantilla abajo (sección 3.1).
|
|
54
|
+
|
|
55
|
+
### 3.1 Plantillas de correo
|
|
56
|
+
|
|
57
|
+
Copiar, personalizar y enviar manualmente. **Este plugin no envía correos.**
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Para: [correo-destino]
|
|
61
|
+
CC: [correo-cc]
|
|
62
|
+
Asunto: [Bundle NNN] Solicitud de API keys de producción
|
|
63
|
+
|
|
64
|
+
Buen día,
|
|
65
|
+
|
|
66
|
+
Para el bundle NNN-[nombre] que se despliega el [fecha objetivo] requerimos las siguientes credenciales de producción:
|
|
67
|
+
|
|
68
|
+
- [servicio 1] — URL y token de acceso
|
|
69
|
+
- [servicio 2] — usuario/clave técnica
|
|
70
|
+
|
|
71
|
+
Adjunto el manifest con detalle técnico: docs/scripts/NNN-export-scripts-[YYYY-MM-DD]/manifest.md
|
|
72
|
+
|
|
73
|
+
Quedamos atentos.
|
|
74
|
+
Saludos.
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 4. Base de datos
|
|
80
|
+
|
|
81
|
+
### 4.1 Secuencia de ejecución
|
|
82
|
+
|
|
83
|
+
Orden obligatorio (01 → 02 → 03 → 04) por sesión cronológica. Detalle completo en `ORDER.md`.
|
|
84
|
+
|
|
85
|
+
Resumen alto nivel:
|
|
86
|
+
|
|
87
|
+
1. **session001** → `por-sesion/session001-[slug]/01-ddl-tablas/...`
|
|
88
|
+
2. **session001** → `por-sesion/session001-[slug]/02-ddl-funciones/...`
|
|
89
|
+
3. **session001** → `por-sesion/session001-[slug]/03-migracion/...`
|
|
90
|
+
4. **session001** → `por-sesion/session001-[slug]/04-inserts/...`
|
|
91
|
+
5. **session002** → ...
|
|
92
|
+
|
|
93
|
+
### 4.2 Rollback
|
|
94
|
+
|
|
95
|
+
Bundle global: `rollback-global.sql` (en este mismo directorio).
|
|
96
|
+
|
|
97
|
+
Orden inverso absoluto: última sesión → primera, y dentro de cada una 04 → 03 → 02 → 01. Ejecutable dentro de un único `BEGIN; … COMMIT;`.
|
|
98
|
+
|
|
99
|
+
**Operaciones irreversibles detectadas:**
|
|
100
|
+
|
|
101
|
+
| Script | Sesión origen | Operación | Mitigación disponible |
|
|
102
|
+
|---|---|---|---|
|
|
103
|
+
| `por-sesion/session003-*/03-migracion/001-*.sql` | session003 | `DROP COLUMN col_legacy` | Respaldo en `esq_audit.tb_bkp_...` (script `000-backup-*.sql`) |
|
|
104
|
+
|
|
105
|
+
Si no hay irreversibles: incluir un placeholder con "Sin operaciones irreversibles en este bundle." (el AI debe reemplazar la tabla por esta frase única).
|
|
106
|
+
|
|
107
|
+
### 4.3 Impacto
|
|
108
|
+
|
|
109
|
+
- **Tablas creadas:** [lista]
|
|
110
|
+
- **Tablas modificadas:** [lista, indicando tipo de ALTER]
|
|
111
|
+
- **Funciones creadas/modificadas:** [lista]
|
|
112
|
+
- **Filas afectadas por migración:** [estimación si hay count en sesiones]
|
|
113
|
+
|
|
114
|
+
### 4.4 Vista por tema
|
|
115
|
+
|
|
116
|
+
> **Condicional V4.a**: incluir esta sub-sección **sólo si** `por-tema/` se generó (temas declarados, `## Temas` en OBJECTIVE, o `--themes infer`). Si no se generó, omitir entera la sub-sección 4.4 (sin header).
|
|
117
|
+
|
|
118
|
+
Bundle por tema: `por-tema/`
|
|
119
|
+
|
|
120
|
+
- **Orden ejecutable cross-tema:** `por-tema/ORDER.md`
|
|
121
|
+
- **Temas incluidos:** [slug1], [slug2], [slug3] — [N] scripts.
|
|
122
|
+
|
|
123
|
+
Mapeo tema ↔ sesión ↔ scripts: `README.md` §"Mapping".
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 5. Código fuente — hallazgos del escaneo
|
|
128
|
+
|
|
129
|
+
> **Condicional V4.b**: si `--skip-code-scan` fue usado, esta sección contiene **sólo** una nota inline `_(Escaneo omitido por --skip-code-scan)_` y nada más.
|
|
130
|
+
|
|
131
|
+
**Resumen:** [X] críticos · [Y] medios · [Z] bajos
|
|
132
|
+
|
|
133
|
+
### 5.1 Severidad alta (bloqueantes para producción)
|
|
134
|
+
|
|
135
|
+
| # | Patrón | Archivo:línea | Snippet | Recomendación |
|
|
136
|
+
|---|---|---|---|---|
|
|
137
|
+
| H1 | Credencial hardcodeada | `src/.../Config.java:42` | `password = "..."` | Mover a variable de entorno o gestor de secretos. Rotar la credencial si fue commiteada. |
|
|
138
|
+
|
|
139
|
+
Si vacío: incluir un placeholder con "Sin hallazgos de severidad alta." (frase única que reemplaza la tabla).
|
|
140
|
+
|
|
141
|
+
### 5.2 Severidad media
|
|
142
|
+
|
|
143
|
+
| # | Patrón | Archivo:línea | Snippet | Recomendación |
|
|
144
|
+
|---|---|---|---|---|
|
|
145
|
+
| M1 | URL localhost | `src/.../api.service.ts:18` | `http://localhost:8080` | Reemplazar por `environment.apiUrl` u otro mecanismo de configuración. |
|
|
146
|
+
|
|
147
|
+
### 5.3 Severidad baja
|
|
148
|
+
|
|
149
|
+
Agrupados por patrón, con conteo. Lista expandida si hay menos de 20; si más, mostrar top 10 y conteo total.
|
|
150
|
+
|
|
151
|
+
| Patrón | Conteo | Ejemplos |
|
|
152
|
+
|---|---|---|
|
|
153
|
+
| `TODO` | 7 | `UserService.java:88`, `OrderService.java:42`, ... |
|
|
154
|
+
| `FIXME` | 2 | `validator.ts:15`, `payment.ts:103` |
|
|
155
|
+
|
|
156
|
+
### 5.4 Alcance del escaneo
|
|
157
|
+
|
|
158
|
+
- **Directorios incluidos:** [lista]
|
|
159
|
+
- **Directorios excluidos:** `node_modules/`, `target/`, `dist/`, `build/`, `.workflow/`, `docs/`, `tests/`, `test/`, `.git/`
|
|
160
|
+
- **Extensiones:** [lista]
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 6. Git y ramas
|
|
165
|
+
|
|
166
|
+
- **Rama actual:** `[nombre]`
|
|
167
|
+
- **Rama destino:** `certificacion`
|
|
168
|
+
- **Commits pendientes de merge (rama actual → certificacion):** [N]
|
|
169
|
+
|
|
170
|
+
### 6.1 Commits pendientes
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
[sha corto] [mensaje]
|
|
174
|
+
[sha corto] [mensaje]
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### 6.2 Archivos modificados (git diff --stat)
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
[salida de git diff certificacion --stat]
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 6.3 Cambios sin commitear
|
|
184
|
+
|
|
185
|
+
Si `git status` muestra archivos modificados/untracked:
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
[salida de git status --porcelain]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Acción recomendada:** el usuario decide si esos cambios entran al bundle (commit) o no (stash/descartar).
|
|
192
|
+
|
|
193
|
+
### 6.4 PR sugerido (texto — no se crea)
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
Título: [feat/fix/chore]: [resumen del bundle]
|
|
197
|
+
Rama origen: [rama actual]
|
|
198
|
+
Rama destino: certificacion
|
|
199
|
+
Descripción:
|
|
200
|
+
- Bundle NNN consolidando las siguientes sesiones:
|
|
201
|
+
- session001 — [título]
|
|
202
|
+
- session002 — [título]
|
|
203
|
+
- Manifest completo: docs/scripts/NNN-export-scripts-[YYYY-MM-DD]/manifest.md
|
|
204
|
+
- Bundle SQL: docs/scripts/NNN-export-scripts-[YYYY-MM-DD]/por-sesion/
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 7. Documentación graduada
|
|
210
|
+
|
|
211
|
+
| Sesión | Decisiones | Manuales | Especificaciones | Conclusiones |
|
|
212
|
+
|---|---|---|---|---|
|
|
213
|
+
| session001 | `001-*.md`, `002-*.md` | — | — | — |
|
|
214
|
+
| session002 | — | `003-*.md` | — | — |
|
|
215
|
+
| session003 | `004-*.md` | — | `001-*/` | — |
|
|
216
|
+
|
|
217
|
+
Nota: el modelo nuevo gradua 6 kinds (`decision`, `manual`, `script`, `especificacion`, `conclusion`, `release`). Este manifest enlaza los 4 primeros; `release` queda implícito en este mismo dossier; `script` queda implícito en `por-sesion/`.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 8. Checklist final de producción
|
|
222
|
+
|
|
223
|
+
Lista única consolidada. Todos los ítems deben marcarse antes del "go":
|
|
224
|
+
|
|
225
|
+
- [ ] **BD:** respaldo completo del esquema afectado tomado y verificado
|
|
226
|
+
- [ ] **BD:** scripts ejecutados en orden (01 → 02 → 03 → 04)
|
|
227
|
+
- [ ] **BD:** rollback probado en staging/certificación
|
|
228
|
+
- [ ] **Infra:** variables de entorno actualizadas (ver sección 3)
|
|
229
|
+
- [ ] **Infra:** API keys de producción solicitadas y configuradas
|
|
230
|
+
- [ ] **Código:** hallazgos de severidad alta resueltos (sección 5.1)
|
|
231
|
+
- [ ] **Git:** rama mergeada a `certificacion` (o PR aprobado)
|
|
232
|
+
- [ ] **Git:** tag/release creado en el repositorio
|
|
233
|
+
- [ ] **Stakeholders:** notificación enviada antes y después del despliegue
|
|
234
|
+
- [ ] **Acciones manuales:** todos los ACT-XXX de la sección 3 completados
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 9. Advertencias
|
|
239
|
+
|
|
240
|
+
Cosas que el skill detectó pero no pudo validar automáticamente. Leer antes de marcar el checklist como completo.
|
|
241
|
+
|
|
242
|
+
Si no hay advertencias: incluir un placeholder con "Sin advertencias pendientes." (frase única).
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 10. Metadata
|
|
247
|
+
|
|
248
|
+
- **Generado:** YYYY-MM-DD HH:MM
|
|
249
|
+
- **Versión del skill:** export-scripts v1.0.0
|
|
250
|
+
- **Argumentos usados:** `[sin argumentos | --since sessionNNN | --themes slug1,slug2 | --dry-run | --skip-code-scan]`
|
|
251
|
+
- **Comando original:** `/agent-workflow:export-scripts [args]`
|
|
252
|
+
- **Reemplaza:** `/agent-workflow:release` v2.0.0 + `/agent-workflow:release-scripts` v2.0.0 (ambos en deprecation Fase 1 desde plugin v2.8.0)
|
|
253
|
+
```
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Plantilla — README del bundle export-scripts
|
|
2
|
+
|
|
3
|
+
Plantilla exacta para el `README.md` del output dir. Se escribe junto con `manifest.md`. Reemplazar `[entre corchetes]` con valores reales.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Bundle export-scripts NNN — [YYYY-MM-DD]
|
|
9
|
+
|
|
10
|
+
Bundle SQL + informe consolidado para paso a producción. Generado por `/agent-workflow:export-scripts`.
|
|
11
|
+
|
|
12
|
+
## Contenido
|
|
13
|
+
|
|
14
|
+
| Archivo | Propósito |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `manifest.md` | Informe consolidado: sesiones, acciones manuales, BD, hallazgos code-scan, git state, checklist final. |
|
|
17
|
+
| `ORDER.md` | Secuencia ejecutable cross-bundle (01 → 02 → 03 → 04 por sesión, intercalado por tema si aplica). |
|
|
18
|
+
| `rollback-global.sql` | Rollback encadenado inverso (toda sesión → primera, 04 → 01 dentro de cada una). |
|
|
19
|
+
| `por-sesion/` | Bundle SQL por sesión, organizado en 4 categorías. |
|
|
20
|
+
| `por-tema/` | (opcional) Bundle consolidado cross-session por tema/funcionalidad. |
|
|
21
|
+
|
|
22
|
+
## Mapping sesión ↔ tema ↔ scripts
|
|
23
|
+
|
|
24
|
+
> **Condicional**: incluir esta sección **sólo si** `por-tema/` se generó.
|
|
25
|
+
|
|
26
|
+
| Sesión | Tema | Scripts |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| session001 | `tema-rbac` | `01-rol-permiso.sql`, `02-fn-validacion.sql`, `03-mig-roles.sql` |
|
|
29
|
+
| session002 | `tema-rbac` | `01-asignacion-default.sql` |
|
|
30
|
+
| session003 | `tema-lista-negra-blanca` | `01-listas-table.sql`, `04-inserts-iniciales.sql` |
|
|
31
|
+
|
|
32
|
+
## Cómo ejecutar el bundle
|
|
33
|
+
|
|
34
|
+
### Paso 1 — Validar pre-condiciones
|
|
35
|
+
|
|
36
|
+
1. Revisar `manifest.md` §3 (acciones manuales) — completar antes de ejecutar SQL.
|
|
37
|
+
2. Revisar `manifest.md` §5 (hallazgos code-scan) — resolver severidades altas.
|
|
38
|
+
3. Tomar respaldo completo del esquema afectado.
|
|
39
|
+
|
|
40
|
+
### Paso 2 — Ejecutar SQL
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Opción A: orden por sesión (default)
|
|
44
|
+
cat ORDER.md # ver secuencia
|
|
45
|
+
|
|
46
|
+
# Ejecutar manualmente cada script en orden:
|
|
47
|
+
psql -h <host> -U <user> -d <db> -f por-sesion/session001-<slug>/01-ddl-tablas/001-*.sql
|
|
48
|
+
# ... continuar con 02, 03, 04 ...
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
> **Importante**: este plugin NO ejecuta SQL. El usuario aplica los scripts manualmente.
|
|
52
|
+
|
|
53
|
+
### Paso 3 — Validar post-ejecución
|
|
54
|
+
|
|
55
|
+
1. Marcar checklist final de `manifest.md` §8.
|
|
56
|
+
2. Si algo falló: aplicar `rollback-global.sql` en una sola transacción.
|
|
57
|
+
|
|
58
|
+
## Rollback
|
|
59
|
+
|
|
60
|
+
Bundle global: `rollback-global.sql` (este directorio).
|
|
61
|
+
|
|
62
|
+
Orden inverso absoluto: última sesión → primera; dentro de cada una 04 → 03 → 02 → 01.
|
|
63
|
+
|
|
64
|
+
**Operaciones irreversibles** (si las hay): listadas en `manifest.md` §4.2 con su mitigación. Revisar antes de ejecutar rollback.
|
|
65
|
+
|
|
66
|
+
## Re-generación
|
|
67
|
+
|
|
68
|
+
Para regenerar este bundle:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
/agent-workflow:export-scripts [--since sessionNNN] [--themes slug1,slug2]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Cada invocación toma siguiente NNN. NO sobrescribe bundles previos.
|
|
75
|
+
|
|
76
|
+
## Relación con release legacy
|
|
77
|
+
|
|
78
|
+
Este bundle reemplaza el output que generaban `/agent-workflow:release` + `/agent-workflow:release-scripts` legacy (ambos en deprecation Fase 1 desde plugin v2.8.0). Si tu workspace tiene `docs/release/` poblado: queda como histórico, no se migra.
|
|
79
|
+
```
|