@christianmaf80/agentic-workflow 1.8.0-beta.1 → 1.11.0-beta.1
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/dist/artifacts/1-mcp-server-extensio-cli/analysis.md +480 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/architect/review.md +285 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/changelog.md +29 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/implementer-agent/subtask-implementation.md +321 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/plan.md +522 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/researcher/research.md +270 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/results.md +143 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/task-metrics.md +33 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/task.md +178 -0
- package/dist/artifacts/1-mcp-server-extensio-cli/walkthrough.md +69 -0
- package/dist/artifacts/10-shard-build-plugin/analysis.md +290 -0
- package/dist/artifacts/10-shard-build-plugin/architect/subtask-implementation.md +105 -0
- package/dist/artifacts/10-shard-build-plugin/plan.md +409 -0
- package/dist/artifacts/10-shard-build-plugin/researcher/research.md +109 -0
- package/dist/artifacts/10-shard-build-plugin/task.md +124 -0
- package/dist/artifacts/11-revision-sistema-agentic/analysis.md +43 -0
- package/dist/artifacts/11-revision-sistema-agentic/cli-mcp-impact.md +186 -0
- package/dist/artifacts/11-revision-sistema-agentic/core-impact.md +162 -0
- package/dist/artifacts/11-revision-sistema-agentic/metrics.md +82 -0
- package/dist/artifacts/11-revision-sistema-agentic/modules-create-v2.md +126 -0
- package/dist/artifacts/11-revision-sistema-agentic/modules-v2.md +250 -0
- package/dist/artifacts/11-revision-sistema-agentic/pages-v2.md +366 -0
- package/dist/artifacts/11-revision-sistema-agentic/researcher/research.md +131 -0
- package/dist/artifacts/11-revision-sistema-agentic/results.md +116 -0
- package/dist/artifacts/11-revision-sistema-agentic/shards-v2.md +424 -0
- package/dist/artifacts/11-revision-sistema-agentic/task.md +145 -0
- package/dist/artifacts/11-revision-sistema-agentic/verification.md +119 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/analysis-architecture-change.md +305 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/analysis.md +301 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/error-analysis.md +93 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/implementation-summary.md +111 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/plan.md +387 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/researcher/research.md +266 -0
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/task.md +167 -0
- package/dist/artifacts/13-dual-lifecycle-system/analysis.md +173 -0
- package/dist/artifacts/13-dual-lifecycle-system/architect/review.md +67 -0
- package/dist/artifacts/13-dual-lifecycle-system/plan.md +230 -0
- package/dist/artifacts/13-dual-lifecycle-system/researcher/research.md +243 -0
- package/dist/artifacts/13-dual-lifecycle-system/task.md +130 -0
- package/dist/artifacts/13-dual-lifecycle-system/verification.md +84 -0
- package/dist/artifacts/14-core-tests-refactor/analysis.md +240 -0
- package/dist/artifacts/14-core-tests-refactor/architect/review.md +33 -0
- package/dist/artifacts/14-core-tests-refactor/evaluation.md +40 -0
- package/dist/artifacts/14-core-tests-refactor/plan.md +344 -0
- package/dist/artifacts/14-core-tests-refactor/researcher/research.md +258 -0
- package/dist/artifacts/14-core-tests-refactor/results.md +117 -0
- package/dist/artifacts/14-core-tests-refactor/task.md +163 -0
- package/dist/artifacts/14-core-tests-refactor/verification.md +87 -0
- package/dist/artifacts/15-sistema-evaluacion-agentes/architect/implementation.md +47 -0
- package/dist/artifacts/15-sistema-evaluacion-agentes/brief.md +100 -0
- package/dist/artifacts/15-sistema-evaluacion-agentes/closure.md +81 -0
- package/dist/artifacts/15-sistema-evaluacion-agentes/task.md +83 -0
- package/dist/artifacts/16-refactorizacion-demo-core/analysis.md +160 -0
- package/dist/artifacts/16-refactorizacion-demo-core/architect/implementation.md +180 -0
- package/dist/artifacts/16-refactorizacion-demo-core/changelog.md +15 -0
- package/dist/artifacts/16-refactorizacion-demo-core/metrics.md +17 -0
- package/dist/artifacts/16-refactorizacion-demo-core/plan.md +270 -0
- package/dist/artifacts/16-refactorizacion-demo-core/researcher/research.md +190 -0
- package/dist/artifacts/16-refactorizacion-demo-core/task.md +124 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/analysis.md +108 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/review-subtask-1.md +98 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/review.md +192 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/step-4-postponed.md +41 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/activation-fix-demo.md +73 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/activation-subtask-2.md +80 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/fix-demo-implementation.md +113 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/subtask-2-implementation.md +133 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/subtask-implementation.md +130 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/plan.md +188 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-demo-build.md +80 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-phase-5.md +73 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-subtask-5-7.md +97 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/issue-demo-integrity.md +39 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/subtask-5-7-implementation.md +188 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/verification.md +207 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/researcher/research.md +103 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/subtask-1-engine-refactor.md +64 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/surface-agent/activation-subtask-3.md +81 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/surface-agent/subtask-3-implementation.md +148 -0
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/task.md +146 -0
- package/dist/artifacts/18-refactor-phase-4-implementation/task.md +140 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-scores.md +58 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/1-architect-refactor-research-template.md +78 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/2-architect-refactor-analysis-template.md +76 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/3-architect-update-phase1-workflow.md +77 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/4-architect-update-phase2-workflow.md +76 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/5-architect-create-todo-structure.md +77 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/6-qa-validation.md +95 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/analysis.md +190 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/architect/review.md +68 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/plan.md +203 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/researcher/research.md +296 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/task.md +132 -0
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/verification.md +104 -0
- package/dist/artifacts/2-review-mcp-agent-system/analysis.md +133 -0
- package/dist/artifacts/2-review-mcp-agent-system/architect/infrastructure-migration.md +58 -0
- package/dist/artifacts/2-review-mcp-agent-system/architect/mcp-server-refactor.md +57 -0
- package/dist/artifacts/2-review-mcp-agent-system/architect/review.md +83 -0
- package/dist/artifacts/2-review-mcp-agent-system/changelog.md +22 -0
- package/dist/artifacts/2-review-mcp-agent-system/metrics.md +33 -0
- package/dist/artifacts/2-review-mcp-agent-system/plan.md +141 -0
- package/dist/artifacts/2-review-mcp-agent-system/qa/mcp-test-validation.md +60 -0
- package/dist/artifacts/2-review-mcp-agent-system/researcher/research.md +77 -0
- package/dist/artifacts/2-review-mcp-agent-system/results-acceptance.md +115 -0
- package/dist/artifacts/2-review-mcp-agent-system/task.md +127 -0
- package/dist/artifacts/2-review-mcp-agent-system/verification.md +72 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/analysis.md +139 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/plan.md +146 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/researcher/research.md +142 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/task.md +143 -0
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/verification.md +53 -0
- package/dist/artifacts/2026-01-19-orchestration-init/brief.md +88 -0
- package/dist/artifacts/2026-01-19-orchestration-init/closure.md +80 -0
- package/dist/artifacts/2026-01-19-orchestration-init/implementation.md +20 -0
- package/dist/artifacts/21-portable-agentic-system/researcher/research.md +121 -0
- package/dist/artifacts/21-portable-agentic-system/task.md +115 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/architect/analysis.md +113 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/architect/plan.md +124 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/researcher/research.md +76 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/results.md +36 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/task.md +115 -0
- package/dist/artifacts/22-standardize-phase-0-artifact/verification.md +41 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/acceptance.md +62 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/architect/analysis.md +90 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/architect/plan.md +85 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/audit-report.md +52 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/researcher/research.md +52 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/results.md +31 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/task.md +90 -0
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/verification.md +42 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/analysis.md +64 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/candidate/acceptance.md +68 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/planning.md +79 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/portable-roadmap.md +25 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/researcher/research.md +91 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/task.md +89 -0
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/verification.md +59 -0
- package/dist/artifacts/25-auditoria-omision-gates/acceptance.md +57 -0
- package/dist/artifacts/25-auditoria-omision-gates/brief.md +89 -0
- package/dist/artifacts/25-auditoria-omision-gates/closure.md +88 -0
- package/dist/artifacts/25-auditoria-omision-gates/rca.md +49 -0
- package/dist/artifacts/25-auditoria-omision-gates/task.md +64 -0
- package/dist/artifacts/26-portable-agentic-system/acceptance.md +41 -0
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/1-architect-scaffolding.md +113 -0
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/2-architect-core-migration.md +117 -0
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/3-architect-cli-implementation.md +109 -0
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/4-architect-linking-and-verification.md +104 -0
- package/dist/artifacts/26-portable-agentic-system/analysis.md +117 -0
- package/dist/artifacts/26-portable-agentic-system/architect/review.md +41 -0
- package/dist/artifacts/26-portable-agentic-system/plan.md +146 -0
- package/dist/artifacts/26-portable-agentic-system/researcher/research.md +96 -0
- package/dist/artifacts/26-portable-agentic-system/task.md +50 -0
- package/dist/artifacts/26-portable-agentic-system/verification.md +67 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/acceptance.md +74 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/1-module-agent-update-templates.md +86 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/2-module-agent-update-workflows-long.md +88 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/3-module-agent-update-workflows-short-init.md +89 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/4-module-agent-update-roles.md +85 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/5-module-agent-update-version-manifests.md +84 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/analysis.md +90 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/architect/review.md +44 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/changelog.md +17 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/metrics.md +52 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/plan.md +122 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/researcher/research.md +73 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/results-acceptance.md +51 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/task.md +115 -0
- package/dist/artifacts/27-update-portable-module-agent-identity/verification.md +66 -0
- package/dist/artifacts/28-agent-system-update-conversion/acceptance.md +67 -0
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/1-tooling-agent-migration-infrastructure.md +88 -0
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/2-tooling-agent-content-transformer.md +87 -0
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/3-tooling-agent-cli-wizard-integration.md +86 -0
- package/dist/artifacts/28-agent-system-update-conversion/analysis.md +153 -0
- package/dist/artifacts/28-agent-system-update-conversion/architect/review.md +93 -0
- package/dist/artifacts/28-agent-system-update-conversion/metrics.md +43 -0
- package/dist/artifacts/28-agent-system-update-conversion/plan.md +153 -0
- package/dist/artifacts/28-agent-system-update-conversion/researcher/research.md +66 -0
- package/dist/artifacts/28-agent-system-update-conversion/results-acceptance.md +125 -0
- package/dist/artifacts/28-agent-system-update-conversion/task.md +103 -0
- package/dist/artifacts/28-agent-system-update-conversion/verification.md +60 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/acceptance.md +38 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/1-tooling-agent-core-resolver.md +85 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/2-tooling-agent-init-refactor.md +90 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/3-tooling-agent-scaffolding-system.md +92 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/4-architect-agents-md-trail.md +84 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/5-tooling-agent-mcp-server.md +92 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/6-architect-neo-agent-birth.md +85 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/analysis.md +119 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/architect/review.md +46 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/plan.md +95 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/researcher/research.md +68 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/results-acceptance.md +59 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/task.md +99 -0
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/verification.md +54 -0
- package/dist/artifacts/3-developer-feedback-gate/acceptance-criteria.md +18 -0
- package/dist/artifacts/3-developer-feedback-gate/analysis.md +27 -0
- package/dist/artifacts/3-developer-feedback-gate/changelog.md +10 -0
- package/dist/artifacts/3-developer-feedback-gate/implementation_plan.md +32 -0
- package/dist/artifacts/3-developer-feedback-gate/init.md +13 -0
- package/dist/artifacts/3-developer-feedback-gate/metrics.md +34 -0
- package/dist/artifacts/3-developer-feedback-gate/research.md +28 -0
- package/dist/artifacts/3-developer-feedback-gate/results-acceptance.md +17 -0
- package/dist/artifacts/3-developer-feedback-gate/task.md +17 -0
- package/dist/artifacts/3-developer-feedback-gate/verification.md +35 -0
- package/dist/artifacts/30-task-execution-protocol-gates/acceptance.md +46 -0
- package/dist/artifacts/30-task-execution-protocol-gates/researcher/research.md +34 -0
- package/dist/artifacts/30-task-execution-protocol-gates/task.md +77 -0
- package/dist/artifacts/4-adr-workflows-modulos/adr.md +380 -0
- package/dist/artifacts/4-adr-workflows-modulos/analysis.md +353 -0
- package/dist/artifacts/4-adr-workflows-modulos/plan.md +301 -0
- package/dist/artifacts/4-adr-workflows-modulos/researcher/research.md +253 -0
- package/dist/artifacts/4-adr-workflows-modulos/results.md +202 -0
- package/dist/artifacts/4-adr-workflows-modulos/task.md +143 -0
- package/dist/artifacts/4-adr-workflows-modulos/verification.md +123 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/analysis.md +169 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/architect/review.md +105 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/architect/subtask-implementation.md +90 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/changelog.md +7 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/metrics.md +34 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/plan.md +163 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/researcher/research.md +105 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/results-acceptance.md +153 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/task.md +147 -0
- package/dist/artifacts/5-implementar-adr-crear-modulo/verification.md +79 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/analysis.md +153 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/architect/review.md +103 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/architect/subtask-implementation.md +79 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/changelog.md +8 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/metrics.md +34 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/plan.md +131 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/researcher/research.md +86 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/results-acceptance.md +108 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/task.md +147 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/verification.md +74 -0
- package/dist/artifacts/6-exportar-ciclo-agent-zip/whitelist.txt +33 -0
- package/dist/artifacts/7-modules-globals-constants/analysis.md +205 -0
- package/dist/artifacts/7-modules-globals-constants/architect/review.md +110 -0
- package/dist/artifacts/7-modules-globals-constants/metrics.md +45 -0
- package/dist/artifacts/7-modules-globals-constants/plan.md +276 -0
- package/dist/artifacts/7-modules-globals-constants/researcher/research.md +247 -0
- package/dist/artifacts/7-modules-globals-constants/task.md +112 -0
- package/dist/artifacts/7-modules-globals-constants/verification.md +76 -0
- package/dist/artifacts/8-module-workflow-refactor/analysis.md +131 -0
- package/dist/artifacts/8-module-workflow-refactor/changelog.md +24 -0
- package/dist/artifacts/8-module-workflow-refactor/metrics.md +37 -0
- package/dist/artifacts/8-module-workflow-refactor/plan.md +193 -0
- package/dist/artifacts/8-module-workflow-refactor/researcher/research.md +222 -0
- package/dist/artifacts/8-module-workflow-refactor/results.md +112 -0
- package/dist/artifacts/8-module-workflow-refactor/review.md +76 -0
- package/dist/artifacts/8-module-workflow-refactor/task.md +154 -0
- package/dist/artifacts/8-module-workflow-refactor/verification.md +76 -0
- package/dist/artifacts/8-module-workflow-refactor/walkthrough.md +64 -0
- package/dist/artifacts/9-build-stabilization/analysis.md +62 -0
- package/dist/artifacts/9-build-stabilization/metrics.md +11 -0
- package/dist/artifacts/9-build-stabilization/plan.md +82 -0
- package/dist/artifacts/9-build-stabilization/researcher/research.md +102 -0
- package/dist/artifacts/9-build-stabilization/task.md +23 -0
- package/dist/artifacts/9-build-stabilization/walkthrough.md +56 -0
- package/dist/artifacts/candidate/init.md +34 -0
- package/dist/artifacts/candidate/task.md +24 -0
- package/dist/artifacts/index.md +31 -10
- package/dist/cli/commands/init.js +31 -137
- package/dist/cli/commands/restore.js +4 -11
- package/dist/core/migration/backup.js +2 -3
- package/dist/core/utils/backup.js +3 -24
- package/dist/index.md +57 -0
- package/dist/metrics/agent-scores.md +30 -0
- package/dist/metrics/agents.json +106 -0
- package/dist/metrics/index.md +23 -0
- package/dist/rules/constitution/GEMINI.location.md +17 -14
- package/dist/rules/constitution/agents-behavior.md +111 -107
- package/dist/rules/constitution/clean-code.md +65 -13
- package/dist/rules/constitution/drivers.md +294 -0
- package/dist/rules/constitution/extensio-architecture.md +131 -0
- package/dist/rules/constitution/index.md +20 -17
- package/dist/rules/constitution/modules.md +280 -0
- package/dist/rules/constitution/pages.md +454 -0
- package/dist/rules/constitution/shards.md +484 -0
- package/dist/rules/index.md +57 -12
- package/dist/rules/roles/architect.md +128 -28
- package/dist/rules/roles/driver.md +172 -0
- package/dist/rules/roles/index.md +20 -18
- package/dist/rules/roles/module.md +175 -0
- package/dist/rules/roles/neo.md +6 -18
- package/dist/rules/roles/qa.md +195 -8
- package/dist/rules/roles/researcher.md +75 -10
- package/dist/rules/roles/surface.md +60 -0
- package/dist/rules/roles/tooling.md +55 -9
- package/dist/skills/extensio-build/SKILL.md +161 -0
- package/dist/skills/extensio-create-driver/SKILL.md +89 -0
- package/dist/skills/extensio-create-module/SKILL.md +91 -0
- package/dist/skills/extensio-demo/SKILL.md +84 -0
- package/dist/skills/extensio-test/SKILL.md +96 -0
- package/dist/skills/extensio-validate-code/SKILL.md +262 -0
- package/dist/skills/index.md +79 -0
- package/dist/templates/acceptance.md +20 -20
- package/dist/templates/agent-scores.md +7 -11
- package/dist/templates/agent-task.md +60 -63
- package/dist/templates/analysis.md +92 -92
- package/dist/templates/brief.md +49 -49
- package/dist/templates/changelog.md +8 -12
- package/dist/templates/closure.md +28 -28
- package/dist/templates/driver-create.md +116 -0
- package/dist/templates/driver-delete.md +84 -0
- package/dist/templates/driver-refactor.md +94 -0
- package/dist/templates/index.md +14 -11
- package/dist/templates/init.md +0 -12
- package/dist/templates/module-create.md +117 -0
- package/dist/templates/module-delete.md +79 -0
- package/dist/templates/module-refactor.md +87 -0
- package/dist/templates/planning.md +76 -78
- package/dist/templates/research.md +44 -56
- package/dist/templates/results-acceptance.md +94 -106
- package/dist/templates/review.md +61 -62
- package/dist/templates/subtask-implementation.md +30 -35
- package/dist/templates/supplemental-report.md +8 -12
- package/dist/templates/task-metrics.md +14 -15
- package/dist/templates/task.md +15 -19
- package/dist/templates/todo-item.md +23 -27
- package/dist/templates/verification.md +33 -33
- package/dist/todo/001-anadir-seccion-reasoning.md +42 -0
- package/dist/todo/002-anadir-ejemplos-few-shot.md +46 -0
- package/dist/todo/003-explorar-paralelizacion-phase4.md +46 -0
- package/dist/todo/004-portable-agentic-system.md +44 -0
- package/dist/todo/README.md +58 -0
- package/dist/todo/index.md +27 -0
- package/dist/tools/extensio-cli.md +76 -0
- package/dist/tools/index.md +14 -0
- package/dist/tools/run-command.md +42 -0
- package/dist/workflows/drivers/create.md +139 -0
- package/dist/workflows/drivers/delete.md +124 -0
- package/dist/workflows/drivers/index.md +25 -0
- package/dist/workflows/drivers/refactor.md +125 -0
- package/dist/workflows/index.md +17 -29
- package/dist/workflows/init.md +103 -43
- package/dist/workflows/modules/create.md +160 -0
- package/dist/workflows/modules/delete.md +121 -0
- package/dist/workflows/modules/index.md +27 -0
- package/dist/workflows/modules/pages.create.md +234 -0
- package/dist/workflows/modules/refactor.md +122 -0
- package/dist/workflows/modules/shards.create.md +215 -0
- package/dist/workflows/tasklifecycle-long/index.md +86 -90
- package/dist/workflows/tasklifecycle-long/phase-0-acceptance-criteria.md +130 -118
- package/dist/workflows/tasklifecycle-long/phase-1-research.md +104 -105
- package/dist/workflows/tasklifecycle-long/phase-2-analysis.md +120 -97
- package/dist/workflows/tasklifecycle-long/phase-3-planning.md +136 -75
- package/dist/workflows/tasklifecycle-long/phase-4-implementation.md +163 -73
- package/dist/workflows/tasklifecycle-long/phase-5-verification.md +136 -45
- package/dist/workflows/tasklifecycle-long/phase-6-results-acceptance.md +106 -46
- package/dist/workflows/tasklifecycle-long/phase-7-evaluation.md +96 -51
- package/dist/workflows/tasklifecycle-long/phase-8-commit-push.md +108 -51
- package/dist/workflows/tasklifecycle-short/index.md +30 -27
- package/dist/workflows/tasklifecycle-short/short-phase-1-brief.md +80 -39
- package/dist/workflows/tasklifecycle-short/short-phase-2-implementation.md +78 -44
- package/dist/workflows/tasklifecycle-short/short-phase-3-closure.md +81 -44
- package/package.json +3 -3
- package/dist/bootstrap.md +0 -591
- package/dist/rules/constitution/agent-system.md +0 -77
- package/dist/rules/constitution/project-architecture.md +0 -57
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: model_decision
|
|
3
|
+
description: Se aplica cuando se crean, modifican o auditan Pages, o cuando un agente toma decisiones sobre ellas, garantizando estructura contractual, ciclo de vida y cumplimiento arquitectónico.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
id: constitution.pages
|
|
8
|
+
type: rule
|
|
9
|
+
owner: architect-agent
|
|
10
|
+
version: 2.1.0
|
|
11
|
+
severity: PERMANENT
|
|
12
|
+
scope: global
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# CONSTITUTION: Pages (Extensio)
|
|
16
|
+
|
|
17
|
+
## Objetivo
|
|
18
|
+
Este documento define **reglas obligatorias** y contractuales para las Pages de Extensio.
|
|
19
|
+
Toda Page **DEBE** cumplir estas reglas.
|
|
20
|
+
Los agentes **DEBEN** auditar y hacer cumplir este contrato.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 1. Definición (qué es una Page)
|
|
25
|
+
|
|
26
|
+
Una Page es una **Surface de nivel superior** que representa un documento HTML completo dentro de la extensión.
|
|
27
|
+
|
|
28
|
+
Una Page:
|
|
29
|
+
- Es un documento HTML que vive dentro de la extensión
|
|
30
|
+
- Se renderiza en su propio contexto (popup, tab, panel)
|
|
31
|
+
- Hereda de la clase `Page` que extiende `Surface` → `Core`
|
|
32
|
+
- Carga JavaScript mediante `<script type="module" src="...">`
|
|
33
|
+
- Su documento HTML puede tener de 1 a N scripts asociados
|
|
34
|
+
- Sigue el ciclo de vida estándar de Extensio: `run()` → `listen()` → `start()`
|
|
35
|
+
|
|
36
|
+
Una Page **NO**:
|
|
37
|
+
- Almacena estado de negocio persistente (eso vive en Engine + Storage)
|
|
38
|
+
- Accede directamente al estado del módulo sin usar el sistema reactivo
|
|
39
|
+
- Se instancia directamente; se navega mediante `Engine.navigate()`
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. Jerarquía de Clases
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Core
|
|
47
|
+
└── Surface (clase abstracta)
|
|
48
|
+
└── Page (clase concreta)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Clase Base: `Surface`
|
|
52
|
+
|
|
53
|
+
La clase `Surface` extiende `Core` y añade:
|
|
54
|
+
- Hooks DOM: `onMount()` (inicia ciclo con `run()`), `onUnmount()` (cleanup)
|
|
55
|
+
- Listener de Storage: `onStorageChanged()`, `checkListeners()`
|
|
56
|
+
- El sistema reactivo (`@property`, `@onChanged`) viene de `Core`
|
|
57
|
+
|
|
58
|
+
### Clase: `Page`
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
import { Surface } from '../surface.mts';
|
|
62
|
+
import { Scope } from '../../constants.mts';
|
|
63
|
+
|
|
64
|
+
export class Page extends Surface {
|
|
65
|
+
constructor(name: string, scope: string = Scope.Page) {
|
|
66
|
+
super(name, scope);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 3. Estructura Obligatoria
|
|
74
|
+
|
|
75
|
+
Cada Page **DEBE** seguir esta estructura dentro del módulo:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
packages/modules/<module-name>/
|
|
79
|
+
└── src/
|
|
80
|
+
└── surface/
|
|
81
|
+
└── pages/
|
|
82
|
+
├── index.mts # Índice de Pages (OBLIGATORIO)
|
|
83
|
+
└── <page-name>/
|
|
84
|
+
├── index.html # Documento HTML
|
|
85
|
+
├── index.mts # Script principal (lógica de la Page)
|
|
86
|
+
└── styles.css # Estilos (opcional)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 3.1 Índice de Pages (`src/surface/pages/index.mts`)
|
|
90
|
+
|
|
91
|
+
Este archivo es **OBLIGATORIO** si el módulo define Pages.
|
|
92
|
+
|
|
93
|
+
**Responsabilidad**:
|
|
94
|
+
- Importar todos los archivos `.html` del módulo
|
|
95
|
+
- Exportar las URLs resueltas para uso con `navigate()`
|
|
96
|
+
- Permitir al CLI detectar y procesar las páginas
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
// src/surface/pages/index.mts
|
|
100
|
+
import dashboard from "./dashboard/index.html";
|
|
101
|
+
import settings from "./settings/index.html";
|
|
102
|
+
|
|
103
|
+
export const Pages = {
|
|
104
|
+
dashboard,
|
|
105
|
+
settings,
|
|
106
|
+
};
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
> **IMPORTANTE**: El import de un `.html` es transformado por el CLI en una URL runtime.
|
|
110
|
+
> El valor exportado es un `string` (la URL), **NO** un objeto JavaScript.
|
|
111
|
+
|
|
112
|
+
### 3.2 Documento HTML (`index.html`)
|
|
113
|
+
|
|
114
|
+
El archivo HTML **DEBE**:
|
|
115
|
+
- Ser un documento HTML5 válido
|
|
116
|
+
- Incluir al menos un `<script type="module" src="...">` que cargue el entry point
|
|
117
|
+
- No contener lógica inline (todo en archivos externos)
|
|
118
|
+
|
|
119
|
+
```html
|
|
120
|
+
<!DOCTYPE html>
|
|
121
|
+
<html lang="en">
|
|
122
|
+
<head>
|
|
123
|
+
<meta charset="UTF-8">
|
|
124
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
125
|
+
<title>Dashboard</title>
|
|
126
|
+
<link rel="stylesheet" href="./styles.css">
|
|
127
|
+
</head>
|
|
128
|
+
<body>
|
|
129
|
+
<div id="app"></div>
|
|
130
|
+
<script type="module" src="./index.mts"></script>
|
|
131
|
+
</body>
|
|
132
|
+
</html>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 3.3 Script Principal (`index.mts`)
|
|
136
|
+
|
|
137
|
+
El script de entrada **DEBE**:
|
|
138
|
+
- Extender la clase `Page`
|
|
139
|
+
- Implementar el ciclo de vida de Extensio
|
|
140
|
+
- Llamar a `run()` para iniciar
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
// index.mts
|
|
144
|
+
import { Page } from '@extensio/core/surface/pages';
|
|
145
|
+
|
|
146
|
+
class DashboardPage extends Page {
|
|
147
|
+
constructor() {
|
|
148
|
+
super('dashboard-page');
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Opcional: configurar listeners de eventos/drivers
|
|
152
|
+
override listen() {
|
|
153
|
+
super.listen();
|
|
154
|
+
// Registrar listeners aquí
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Punto de entrada principal - se ejecuta después de cargar props
|
|
158
|
+
override start() {
|
|
159
|
+
this.render();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
private render() {
|
|
163
|
+
const app = document.getElementById('app');
|
|
164
|
+
if (app) {
|
|
165
|
+
app.innerHTML = '<h1>Dashboard</h1>';
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Iniciar la Page
|
|
171
|
+
const page = new DashboardPage();
|
|
172
|
+
page.run();
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 4. Ciclo de Vida de una Page
|
|
178
|
+
|
|
179
|
+
El ciclo de vida de una Page sigue el patrón estándar de Extensio:
|
|
180
|
+
|
|
181
|
+
### 4.1 Secuencia de Ejecución
|
|
182
|
+
|
|
183
|
+
| # | Método | Tipo | Descripción |
|
|
184
|
+
|---|--------|------|-------------|
|
|
185
|
+
| 1 | `constructor()` | Público | Inicializa la Page con nombre |
|
|
186
|
+
| 2 | `run()` | Público | **Punto de entrada**. Inicia el ciclo de vida completo. |
|
|
187
|
+
| 3 | `_setup()` | Privado (Core) | Inicializa infraestructura reactiva. Llama a `_listen()`, `listen()`, `loadProps()`. |
|
|
188
|
+
| 4 | `_listen()` | Privado (Surface) | Registra listener de Storage |
|
|
189
|
+
| 5 | `listen()` | Público | Punto para registrar listeners de eventos y drivers |
|
|
190
|
+
| 6 | `loadProps()` | Interno | Carga propiedades persistentes |
|
|
191
|
+
| 7 | `start()` | Público | **Método principal**. Aquí se ejecuta la lógica de la Page. |
|
|
192
|
+
|
|
193
|
+
### 4.2 Reglas del Ciclo de Vida
|
|
194
|
+
|
|
195
|
+
- `run()` es el **único** punto de arranque de la Page
|
|
196
|
+
- `listen()` es para registrar listeners, **NO** para lógica de negocio
|
|
197
|
+
- `start()` es el primer punto donde se puede leer estado y renderizar
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 5. Navegación
|
|
202
|
+
|
|
203
|
+
### 5.1 Cargar una Page desde el Engine
|
|
204
|
+
|
|
205
|
+
Las Pages se cargan mediante el método `navigate()` del Engine:
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
// En el Engine
|
|
209
|
+
import { Pages } from './surface/pages/index.mts';
|
|
210
|
+
|
|
211
|
+
// Navegar a una Page de la extensión
|
|
212
|
+
// Pages.dashboard es un STRING (la URL del HTML)
|
|
213
|
+
await this.navigate(Pages.dashboard);
|
|
214
|
+
|
|
215
|
+
// Navegar con opciones
|
|
216
|
+
await this.navigate(Pages.settings, {
|
|
217
|
+
type: 'popup',
|
|
218
|
+
rect: { width: 400, height: 600 },
|
|
219
|
+
active: true,
|
|
220
|
+
});
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
> **NOTA**: `navigate()` recibe el **path del HTML** (string), nunca un objeto JavaScript.
|
|
224
|
+
|
|
225
|
+
### 5.2 Cómo funciona `navigate()`
|
|
226
|
+
|
|
227
|
+
```ts
|
|
228
|
+
public async navigate(url: string | { default: string }, options?: NavigationOptions) {
|
|
229
|
+
const resolvedUrl = typeof url === 'object' && 'default' in url
|
|
230
|
+
? url.default
|
|
231
|
+
: this.getUrl(url as string);
|
|
232
|
+
|
|
233
|
+
return Navigation.open(resolvedUrl, options);
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
El método acepta:
|
|
238
|
+
- Un `string` directo (URL o path)
|
|
239
|
+
- Un objeto con `{ default: string }` (para compatibilidad con imports)
|
|
240
|
+
|
|
241
|
+
### 5.3 NavigationOptions
|
|
242
|
+
|
|
243
|
+
| Opción | Tipo | Default | Descripción |
|
|
244
|
+
|--------|------|---------|-------------|
|
|
245
|
+
| `type` | `'regular' \| 'popup'` | `'regular'` | Tipo de ventana |
|
|
246
|
+
| `rect.width` | `number` | - | Ancho de la ventana (solo popup) |
|
|
247
|
+
| `rect.height` | `number` | - | Alto de la ventana (solo popup) |
|
|
248
|
+
| `rect.top` | `number` | - | Posición Y (solo popup) |
|
|
249
|
+
| `rect.left` | `number` | - | Posición X (solo popup) |
|
|
250
|
+
| `active` | `boolean` | `true` | Si la ventana debe tener foco |
|
|
251
|
+
|
|
252
|
+
### 5.4 Escuchar Navegación (onNavigate)
|
|
253
|
+
|
|
254
|
+
Cada Engine tiene un listener `onNavigate` que captura eventos de navegación:
|
|
255
|
+
|
|
256
|
+
```ts
|
|
257
|
+
// En el Engine
|
|
258
|
+
override onNavigate(event: NavigationEvent) {
|
|
259
|
+
console.log('Navegación detectada:', event);
|
|
260
|
+
|
|
261
|
+
if (event.isExtensionPage) {
|
|
262
|
+
// Es una Page de la extensión
|
|
263
|
+
} else {
|
|
264
|
+
// Es una URL externa
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### 5.5 NavigationEvent
|
|
270
|
+
|
|
271
|
+
| Campo | Tipo | Descripción |
|
|
272
|
+
|-------|------|-------------|
|
|
273
|
+
| `event` | `string` | Tipo de evento: `'load'`, `'focus'`, `'window'` |
|
|
274
|
+
| `url` | `string` | URL de la página |
|
|
275
|
+
| `title` | `string?` | Título de la página |
|
|
276
|
+
| `tabId` | `number` | ID del tab |
|
|
277
|
+
| `windowId` | `number` | ID de la ventana |
|
|
278
|
+
| `isExtensionPage` | `boolean` | `true` si es una Page de la extensión |
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 6. Integración con Shards (PENDIENTE)
|
|
283
|
+
|
|
284
|
+
> **NOTA**: Esta funcionalidad está pendiente de implementar en Core.
|
|
285
|
+
|
|
286
|
+
Una Page **PODRÁ**:
|
|
287
|
+
- Registrar Shards locales
|
|
288
|
+
- Cargar Shards dinámicamente en su DOM
|
|
289
|
+
- Comunicarse con Shards mediante el sistema reactivo
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 7. Build y Compilación
|
|
294
|
+
|
|
295
|
+
### 7.1 Plugin `surface-pages`
|
|
296
|
+
|
|
297
|
+
El CLI usa el plugin `surface-pages` para procesar Pages:
|
|
298
|
+
|
|
299
|
+
1. **Detección**: Intercepta imports de archivos `.html`
|
|
300
|
+
2. **Parsing**: Lee el HTML y busca `<script src="...">`
|
|
301
|
+
3. **Compilación**: Compila cada script como módulo ES (`.mjs`)
|
|
302
|
+
4. **Transformación**: Actualiza las referencias en el HTML de `.mts/.ts` a `.mjs`
|
|
303
|
+
5. **Copia**: Escribe el HTML transformado en `dist/`
|
|
304
|
+
6. **Export**: Retorna la URL runtime del HTML
|
|
305
|
+
|
|
306
|
+
### 7.2 Transformación del Import
|
|
307
|
+
|
|
308
|
+
```ts
|
|
309
|
+
// Código fuente
|
|
310
|
+
import dashboard from "./dashboard/index.html";
|
|
311
|
+
|
|
312
|
+
// Código transformado por el CLI
|
|
313
|
+
const runtimeUrl = globalThis.Extension?.Runtime?.getURL("surface/pages/dashboard/index.html") || "surface/pages/dashboard/index.html";
|
|
314
|
+
export default runtimeUrl;
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### 7.3 Output
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
dist/
|
|
321
|
+
└── surface/
|
|
322
|
+
└── pages/
|
|
323
|
+
└── dashboard/
|
|
324
|
+
├── index.html # HTML con referencias actualizadas
|
|
325
|
+
├── index.mjs # Script compilado
|
|
326
|
+
└── styles.css # Estilos copiados
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## 8. Naming Conventions
|
|
332
|
+
|
|
333
|
+
| Elemento | Convención | Ejemplo |
|
|
334
|
+
|----------|------------|---------|
|
|
335
|
+
| Carpeta de Page | kebab-case | `user-settings/` |
|
|
336
|
+
| Archivo HTML | `index.html` | `index.html` |
|
|
337
|
+
| Archivo Script | `index.mts` | `index.mts` |
|
|
338
|
+
| Clase Page | PascalCase + `Page` | `UserSettingsPage` |
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 9. Auditoría
|
|
343
|
+
|
|
344
|
+
Criterios mínimos de auditoría para una Page:
|
|
345
|
+
|
|
346
|
+
| Criterio | Verificación |
|
|
347
|
+
|----------|--------------|
|
|
348
|
+
| Estructura | Conforme a §3 |
|
|
349
|
+
| Índice de Pages | Existe y exporta la Page |
|
|
350
|
+
| HTML válido | Documento HTML5 con `<script type="module">` |
|
|
351
|
+
| Ciclo de vida | Extiende `Page`, usa `run()` y `start()` |
|
|
352
|
+
| Navegación | Se carga mediante `Engine.navigate()` |
|
|
353
|
+
| No lógica de negocio | Solo UI y comunicación reactiva |
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## 10. Severidad
|
|
358
|
+
|
|
359
|
+
Cualquier violación de:
|
|
360
|
+
- Estructura (§3)
|
|
361
|
+
- Ciclo de vida (§4)
|
|
362
|
+
- Navegación (§5)
|
|
363
|
+
|
|
364
|
+
se considera **SEVERITY: HIGH** y bloquea la validación de la Page.
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## 11. Responsabilidades de una Page (SRP)
|
|
369
|
+
|
|
370
|
+
Una Page tiene **tres responsabilidades únicas**:
|
|
371
|
+
|
|
372
|
+
### 11.1 Lógica de Presentación
|
|
373
|
+
- Cómo se muestran los datos al usuario
|
|
374
|
+
- Formateo, ordenación, filtrado visual
|
|
375
|
+
- Transformación de datos para la UI
|
|
376
|
+
|
|
377
|
+
### 11.2 Lógica de Interacción
|
|
378
|
+
- Respuesta a eventos del usuario (clicks, inputs)
|
|
379
|
+
- Validación de formularios
|
|
380
|
+
- Estados de UI (loading, error, success)
|
|
381
|
+
- Navegación interna dentro de la Page
|
|
382
|
+
|
|
383
|
+
### 11.3 Orquestación de Shards
|
|
384
|
+
- Cargar y descargar Shards dinámicamente
|
|
385
|
+
- Coordinar comunicación entre Shards
|
|
386
|
+
- Gestionar el layout de Shards en la Page
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
## 12. Restricciones de una Page
|
|
391
|
+
|
|
392
|
+
Una Page **NO DEBE**:
|
|
393
|
+
|
|
394
|
+
| Restricción | Razón |
|
|
395
|
+
|-------------|-------|
|
|
396
|
+
| Almacenar estado de negocio persistente | Usar Engine + Storage |
|
|
397
|
+
| Ejecutar lógica que afecte otras partes de la extensión | Pasar por Engine |
|
|
398
|
+
| Duplicar lógica que existe en el Engine | Principio DRY |
|
|
399
|
+
| Acceder directamente a drivers para operaciones de negocio | Engine es el orquestador |
|
|
400
|
+
|
|
401
|
+
### Principio Fundamental
|
|
402
|
+
|
|
403
|
+
> **"La Page es el controlador de la vista, no el propietario del estado."**
|
|
404
|
+
|
|
405
|
+
El estado de negocio vive en el Engine (persistente).
|
|
406
|
+
La Page consume ese estado y lo presenta al usuario.
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## 13. Hooks de Ciclo de Vida (Automáticos)
|
|
411
|
+
|
|
412
|
+
Los hooks de Surface se ejecutan **automáticamente**, no son llamados por el desarrollador:
|
|
413
|
+
|
|
414
|
+
### 13.1 onMount()
|
|
415
|
+
- **Cuándo salta**: Automáticamente DESPUÉS de `render()`
|
|
416
|
+
- **Uso**: Lógica post-renderizado (animaciones, focus, inicialización de librerías)
|
|
417
|
+
- **Cómo usarlo**: Sobrescribir el método en la subclase
|
|
418
|
+
|
|
419
|
+
```ts
|
|
420
|
+
class MyPage extends Page {
|
|
421
|
+
protected override onMount(): void {
|
|
422
|
+
// Se ejecuta automáticamente después de renderizar
|
|
423
|
+
console.log('Page montada y visible');
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
### 13.2 onUnmount()
|
|
429
|
+
- **Cuándo salta**: Automáticamente ANTES de destruir el componente
|
|
430
|
+
- **Uso**: Cleanup (remover listeners, cancelar timers, liberar recursos)
|
|
431
|
+
- **Cómo usarlo**: Sobrescribir el método en la subclase
|
|
432
|
+
|
|
433
|
+
```ts
|
|
434
|
+
class MyPage extends Page {
|
|
435
|
+
protected override onUnmount(): void {
|
|
436
|
+
// Se ejecuta automáticamente antes de destruir
|
|
437
|
+
this.cleanup();
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
### 13.3 Secuencia Completa
|
|
443
|
+
|
|
444
|
+
```
|
|
445
|
+
run() → _setup() → listen() → loadProps() → start() → render() → onMount()
|
|
446
|
+
↓
|
|
447
|
+
[Page activa]
|
|
448
|
+
↓
|
|
449
|
+
[usuario cierra tab]
|
|
450
|
+
↓
|
|
451
|
+
onUnmount()
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
---
|