Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
7178948
feat(security): Fase 2 - Protección de identidad en getUserLogs() [si…
Leon64721 Sep 23, 2026
6d680de
feat(security): Fase 0/1 - Consolidar RBAC backend + validaciones [si…
Leon64721 Sep 23, 2026
1498982
chore: Add .claspignore to exclude dev files from clasp push [sin-tic…
Leon64721 Sep 23, 2026
cc208ce
feat(security): Fase 3 - Guardia RBAC en 5 funciones de reportes [sin…
Leon64721 Sep 23, 2026
5a02fea
docs(reflect): Actualizar DOCUMENTACION_TECNICA_VIVA.md - Sección 38 …
Leon64721 Sep 23, 2026
611fc99
docs(close): Sección 39 - Cierre de sesión auditoría RBAC 2026-09-23 …
Leon64721 Sep 23, 2026
01f34df
fix(security): Fase 3 - Agregar guardia RBAC a generarPlantillaAsigna…
Leon64721 Sep 24, 2026
210655f
docs(reflect): Sección 40 - Corrección post-auditoría RBAC en CSV [si…
Leon64721 Sep 24, 2026
533669b
fix(security): Proteger wrapper generarPlantillaAsignacionCSV (2da lí…
Leon64721 Sep 24, 2026
32bad6b
docs(reflect): Sección 40 actualizada - Defense in Depth en 2 niveles…
Leon64721 Sep 24, 2026
23afdab
docs: Sección 41 - Deuda técnica: Funciones indirectas sin guardia pr…
Leon64721 Sep 24, 2026
b41d6a3
docs: Protocolo formal de versionamiento Local-Apps Script-GitHub [si…
Leon64721 Sep 24, 2026
bd58f10
docs(reflect): Sección 42 - Cierre de auditoría RBAC + Protocolo de c…
Leon64721 Sep 24, 2026
f8f7bce
feat(setup): Actualizar IDs post-migración a arquitectura multi-sprea…
Leon64721 Sep 24, 2026
607a8df
feat(setup): Migración completada y archivos organizados en carpeta P…
Leon64721 Sep 24, 2026
550476c
docs: Agregar documentación de URLs del sistema [sin-ticket]
Leon64721 Sep 24, 2026
49b4517
docs(reflect): Sección 43 - Cierre de Fase de Migración de Infraestru…
Leon64721 Sep 24, 2026
91c409d
fix(config): resolver LOGS_ASIGNACION desde Script Properties [sin-ti…
Leon64721 Oct 6, 2026
7ea7b0e
fix(pac): separar destino de escritura de la fuente externa [sin-ticket]
Leon64721 Oct 6, 2026
8f46b95
docs(reflect): Sección 46 - fix de destino PAC y corrección de hipóte…
Leon64721 Oct 6, 2026
4720637
fix(pac): ajustes tras revisión de Tarea C [sin-ticket]
Leon64721 Oct 6, 2026
310868b
fix(permisos): normalizar proyectos a texto antes de escribir [sin-ti…
Leon64721 Oct 6, 2026
c7b2f39
fix(permisos): tratar arreglo vacio de proyectos como ALL, no como er…
Leon64721 Oct 6, 2026
98247bf
feat(diagnostico): estructura de archivos migrados (solo lectura) [si…
Leon64721 Oct 6, 2026
0f14c84
feat(migracion): restaurar hojas desde origen con simulacion previa […
Leon64721 Oct 6, 2026
99d3f27
feat(migracion): restaurar hojas desde origen con simulacion previa […
Leon64721 Oct 6, 2026
0ce0570
feat(migracion): envoltorio sin parametros para ejecutar restauracion…
Leon64721 Oct 6, 2026
915abf6
docs(reflect): registrar ejecucion real de restauracion de hojas [sin…
Leon64721 Oct 6, 2026
356c0ea
fix(security): dejar de imprimir y hardcodear IDs de spreadsheet [sin…
Leon64721 Oct 6, 2026
027e31f
fix(config): corregir mapeo de PAC en organizar_en_carpeta.js [sin-ti…
Leon64721 Oct 6, 2026
c9eff07
fix(pac): mostrar mensaje real de error en sync [sin-ticket]
Leon64721 Oct 6, 2026
16c61dc
fix(ui): detalle de RT mostraba ficha Acerca de [sin-ticket]
Leon64721 Oct 6, 2026
604488a
docs(reflect): Sección 50 - K2b, diagnóstico de sync PAC y fix de mod…
Leon64721 Oct 6, 2026
43bce67
feat(pac): sync seguro con dedup, guarda de eliminación y respaldo [s…
Leon64721 Oct 6, 2026
e0fac39
fix(security): mover URL de Normalizacion a Script Property con RBAC …
Leon64721 Oct 6, 2026
dfb8565
feat(pac): envoltorio con log para pac_verificarAccesoExterno [sin-ti…
Leon64721 Oct 6, 2026
8d6372b
feat(alertas): unificar reglas y preparar el seguimiento del correo […
Leon64721 Oct 18, 2026
dff44d7
feat(alertas): agregar permiso gmail.modify para contestar el hilo [s…
Leon64721 Oct 18, 2026
0db70d8
docs(alertas): plan para mostrar la retroalimentación en la bandeja […
Leon64721 Oct 18, 2026
eb6defc
feat(alertas): configurar la retroalimentación desde la bandeja [sin-…
Leon64721 Oct 18, 2026
4c60c64
docs(alertas): registrar la subida de la retroalimentación [sin-ticket]
Leon64721 Oct 18, 2026
f67ff97
feat(alertas): pedir el permiso de Gmail y planear el cuerpo [sin-tic…
Leon64721 Oct 19, 2026
9496f73
feat(alertas): listar todos los RT y abrir el formulario [sin-ticket]
Leon64721 Oct 19, 2026
ad99cc1
feat(alertas): informe de jefatura y revisión de estado [sin-ticket]
Leon64721 Oct 19, 2026
f121b69
fix(alertas): calcular la fecha del informe y contar solo ese envío […
Leon64721 Oct 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .clasp.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"scriptId": "17Syj1-R3oXZrnYtuLlf_5NitB3N_bz7wq7dIgyog8jRYCQN5kSj8H69h",
"scriptId": "18vY9LSc7K8fL-HErdaCJ0ar9ITO4IpvJ_UDi24rVbFgeGJhzfSny7FGi",
"rootDir": "",
"scriptExtensions": [
".js",
Expand Down
33 changes: 33 additions & 0 deletions .claspignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
**/.git/**
**/.gitignore
**/.gitattributes
**/node_modules/**
**/package.json
**/package-lock.json
**/.husky/**
**/.github/**
**/scripts/lint-html-scripts.js
**/*.md
**/.claude/**
**/.gstack/**
**/consolidacion_colab/**
**/.graphifyignore
graphify-out/**
commitlint.config.js
.claspignore
README.md
CONTRIBUTING.md
DESIGN.md
ROADMAP.md
ACTA_CIERRE_SPRINT1.md
ARCHITECTURE_*.md
DOCUMENTACION_TECNICA_VIVA.md
Documento_Tecnico_Aplicacion_Predios.*
TODOS.md
INICIO_SESION.md
CURRENT_STATE.md
PR_SUMMARY.md
PROTOCOLO_CIERRE_SESION_*.md
QA_SPRINT1_UIUX.md
gitleaks-report.json
--help/**
13 changes: 12 additions & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
{
"permissions": {
"allow": [
"Bash(clasp pull *)",
"Bash(rm -rf _comparacion_produccion)",
"Bash(clasp clone *)",
"Bash(cd \"E:\\\\PROYECTOS\\\\CLAUDE CODE\\\\CREACIÓN APK\\\\Aplicación de Predios\" && rm -rf _comparacion_produccion && echo \"✓ Carpeta temporal _comparacion_produccion eliminada\" && echo \"\" && echo \"=== VERIFICACIÓN FINAL ===\" && ls _comparacion_produccion 2>&1)",
"Bash(xargs -I {} sh -c 'echo \"{}:\"; wc -l {}')",
"Bash(xargs grep -l \"LockService\\\\|worktree\\\\|concurrent\")",
"Bash(grep -v \"//\")"
]
},
"hooks": {
"PreToolUse": [
{
Expand All @@ -21,4 +32,4 @@
}
]
}
}
}
10 changes: 10 additions & 0 deletions .cursor/rules/ciclo-plan-dos-ias.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
description: Ciclo fijo de plan, auditoría y ejecución entre IAs en este repo.
alwaysApply: true
---

# Ciclo de trabajo entre IAs

Misma regla que `~/.cursor/rules/armonia-ias.mdc`: un modelo avanzado planifica, otro audita, se publica un plan conjunto y un modelo económico ejecuta. Cursor, Claude y Copilot alternan esos roles. No hay un segundo plan en paralelo.

En este repo, al ejecutar: script único `18vY9LSc7K8fL-HErdaCJ0ar9ITO4IpvJ_UDi24rVbFgeGJhzfSny7FGi`. Graphify antes de explorar código (`graphify query` / `path` / `explain`).
14 changes: 14 additions & 0 deletions .cursor/rules/convivencia-agentes.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
description: Convivencia de Cursor con Claude Code y GitHub Copilot en este repo.
alwaysApply: true
---

# Alternar IAs en el mismo repo

Cursor entra al mismo modelo que Claude Code (`CLAUDE.md`) y GitHub Copilot (`DOCUMENTACION_TECNICA_VIVA.md` sección 16, `CONTRIBUTING.md`, `INICIO_SESION.md`).

- Una sesión activa por checkout. Si `git status` muestra cambios que no son de esta sesión, no tocarlos ni revertirlos.
- Leer `TODOS.md` antes de proponer trabajo nuevo. Bitácora única: `DOCUMENTACION_TECNICA_VIVA.md`. Solo complementar; no borrar entradas de otro agente. Firmar las entradas nuevas como Cursor.
- `clasp push` solo si el usuario lo pide, y solo al script `18vY9…`. No empujar en paralelo con otra IA.
- Commits solo cuando el usuario lo pida. Formato: `tipo(módulo): descripción [TICKET]`.
- Graphify: la regla `.cursor/rules/graphify.mdc` es el equivalente Cursor del skill que Claude y Copilot ya tienen. Consultar el grafo antes de explorar código.
21 changes: 21 additions & 0 deletions .cursor/rules/graphify.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
description: graphify knowledge graph context
alwaysApply: true
---

This project has a graphify knowledge graph at graphify-out/.

**MANDATORY: Before using Read, Grep, Glob, or Bash to explore the codebase, you MUST run graphify first:**
- `graphify query "<question>"` — scoped subgraph for any codebase or architecture question
- `graphify path "<A>" "<B>"` — dependency path between two symbols
- `graphify explain "<concept>"` — all nodes related to a concept

This applies to YOU and to every subagent you spawn. Include this rule explicitly in every subagent prompt that involves code exploration. Do not skip graphify because files are "already known" or because you are executing a plan — the graph surfaces cross-file dependencies and INFERRED edges that grep and Read cannot find.

Only use Read/Grep/Glob directly when:
1. graphify has already oriented you and you need to modify or debug specific lines
2. `graphify-out/graph.json` does not exist yet

- If `graphify-out/wiki/index.md` exists, navigate it instead of reading raw files
- Read `graphify-out/GRAPH_REPORT.md` only for broad architecture review when query/path/explain do not surface enough context
- After modifying code files, run `graphify update .` to keep the graph current (AST-only, no API cost)
16 changes: 16 additions & 0 deletions .cursor/rules/script-unico.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
description: Solo el Apps Script 18vY9 de trabajo. Nunca otro proyecto de Google.
alwaysApply: true
---

# Un solo script de Google

El único proyecto Apps Script de esta sesión es:

`18vY9LSc7K8fL-HErdaCJ0ar9ITO4IpvJ_UDi24rVbFgeGJhzfSny7FGi`

Editor: https://script.google.com/home/projects/18vY9LSc7K8fL-HErdaCJ0ar9ITO4IpvJ_UDi24rVbFgeGJhzfSny7FGi/edit

Antes de cualquier `clasp push`, `clasp pull`, `clasp deploy` o `clasp clone`, leer `.clasp.json` y confirmar que `scriptId` es exactamente ese valor. Si no coincide, detenerse y avisarlo.

No clonar, empujar ni editar los otros proyectos documentados (`16gqzy…` producción congelada, `17Syj1…` dev/test). No cambiar `scriptId` en `.clasp.json`.
2 changes: 1 addition & 1 deletion ARCHITECTURE_V5.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ARCHITECTURE_V5.md — Sprint 6: Estabilización Post-Línea Cero (Performance, Limpieza y UX)

**Estado:** [PLANIFICACIÓN — investigación completada, código no tocado todavía]
**Estado:** [COMPLETADO Y DESPLEGADO — 2026-08-18. Ver DOCUMENTACION_TECNICA_VIVA.md, Sección 25, para el detalle de la implementación real. Este documento se conserva como registro histórico del plan original.]
**Agente:** Claude Code (Claude Sonnet 5, orquestado con gstack v1.60.1.0).
**Fecha:** 2026-08-18.
**Contexto:** la Línea Cero (Sprint 5) redujo los RTs pendientes de ~9691 a 4690 — éxito confirmado por el usuario en producción. Este sprint no es funcionalidad nueva, es estabilización: 4 puntos críticos de UX/Performance levantados directamente por el usuario tras usar el sistema real.
Expand Down
Loading
Loading