@christianmaf80/agentic-workflow 1.14.0-beta.1 → 1.14.0-beta.2
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/index.md +2 -26
- package/dist/bootstrap.md +204 -151
- package/dist/cli/commands/init.js +0 -5
- package/dist/core/mapping/resolver.js +1 -1
- package/dist/core/migration/detector.js +1 -1
- package/dist/index.md +0 -11
- package/dist/rules/constitution/agents-behavior.md +10 -19
- package/dist/rules/constitution/clean-code.md +10 -11
- package/dist/rules/constitution/index.md +0 -5
- package/dist/rules/index.md +1 -1
- package/dist/rules/roles/architect.md +47 -88
- package/dist/rules/roles/index.md +1 -4
- package/dist/rules/roles/qa.md +61 -136
- package/dist/rules/roles/researcher.md +34 -48
- package/dist/templates/agent-scores.md +6 -7
- package/dist/templates/analysis.md +6 -6
- package/dist/templates/changelog.md +1 -1
- package/dist/templates/closure.md +9 -1
- package/dist/templates/index.md +0 -6
- package/dist/templates/init.md +7 -0
- package/dist/templates/planning.md +10 -10
- package/dist/templates/research.md +1 -1
- package/dist/templates/results-acceptance.md +1 -1
- package/dist/templates/review.md +2 -2
- package/dist/templates/subtask-implementation.md +1 -1
- package/dist/templates/task.md +4 -32
- package/dist/templates/verification.md +3 -3
- package/dist/workflows/index.md +0 -2
- package/dist/workflows/init.md +31 -19
- package/dist/workflows/tasklifecycle-long/phase-0-acceptance-criteria.md +2 -2
- package/dist/workflows/tasklifecycle-long/phase-1-research.md +3 -3
- package/dist/workflows/tasklifecycle-long/phase-2-analysis.md +6 -21
- package/dist/workflows/tasklifecycle-long/phase-3-planning.md +5 -11
- package/dist/workflows/tasklifecycle-long/phase-4-implementation.md +2 -2
- package/dist/workflows/tasklifecycle-long/phase-5-verification.md +3 -3
- package/dist/workflows/tasklifecycle-long/phase-6-results-acceptance.md +1 -1
- package/dist/workflows/tasklifecycle-long/phase-7-evaluation.md +12 -19
- package/dist/workflows/tasklifecycle-long/phase-8-commit-push.md +3 -3
- package/dist/workflows/tasklifecycle-short/short-phase-1-brief.md +2 -2
- package/dist/workflows/tasklifecycle-short/short-phase-2-implementation.md +1 -1
- package/dist/workflows/tasklifecycle-short/short-phase-3-closure.md +5 -5
- package/package.json +2 -2
- package/dist/artifacts/1-mcp-server-extensio-cli/analysis.md +0 -480
- package/dist/artifacts/1-mcp-server-extensio-cli/architect/review.md +0 -285
- package/dist/artifacts/1-mcp-server-extensio-cli/changelog.md +0 -29
- package/dist/artifacts/1-mcp-server-extensio-cli/implementer-agent/subtask-implementation.md +0 -321
- package/dist/artifacts/1-mcp-server-extensio-cli/plan.md +0 -522
- package/dist/artifacts/1-mcp-server-extensio-cli/researcher/research.md +0 -270
- package/dist/artifacts/1-mcp-server-extensio-cli/results.md +0 -143
- package/dist/artifacts/1-mcp-server-extensio-cli/task-metrics.md +0 -33
- package/dist/artifacts/1-mcp-server-extensio-cli/task.md +0 -178
- package/dist/artifacts/1-mcp-server-extensio-cli/walkthrough.md +0 -69
- package/dist/artifacts/10-shard-build-plugin/analysis.md +0 -290
- package/dist/artifacts/10-shard-build-plugin/architect/subtask-implementation.md +0 -105
- package/dist/artifacts/10-shard-build-plugin/plan.md +0 -409
- package/dist/artifacts/10-shard-build-plugin/researcher/research.md +0 -109
- package/dist/artifacts/10-shard-build-plugin/task.md +0 -124
- package/dist/artifacts/11-revision-sistema-agentic/analysis.md +0 -43
- package/dist/artifacts/11-revision-sistema-agentic/cli-mcp-impact.md +0 -186
- package/dist/artifacts/11-revision-sistema-agentic/core-impact.md +0 -162
- package/dist/artifacts/11-revision-sistema-agentic/metrics.md +0 -82
- package/dist/artifacts/11-revision-sistema-agentic/modules-create-v2.md +0 -126
- package/dist/artifacts/11-revision-sistema-agentic/modules-v2.md +0 -250
- package/dist/artifacts/11-revision-sistema-agentic/pages-v2.md +0 -366
- package/dist/artifacts/11-revision-sistema-agentic/researcher/research.md +0 -131
- package/dist/artifacts/11-revision-sistema-agentic/results.md +0 -116
- package/dist/artifacts/11-revision-sistema-agentic/shards-v2.md +0 -424
- package/dist/artifacts/11-revision-sistema-agentic/task.md +0 -145
- package/dist/artifacts/11-revision-sistema-agentic/verification.md +0 -119
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/analysis-architecture-change.md +0 -305
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/analysis.md +0 -301
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/error-analysis.md +0 -93
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/implementation-summary.md +0 -111
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/plan.md +0 -387
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/researcher/research.md +0 -266
- package/dist/artifacts/12-adaptacion-core-cli-surfaces/task.md +0 -167
- package/dist/artifacts/13-dual-lifecycle-system/analysis.md +0 -173
- package/dist/artifacts/13-dual-lifecycle-system/architect/review.md +0 -67
- package/dist/artifacts/13-dual-lifecycle-system/plan.md +0 -230
- package/dist/artifacts/13-dual-lifecycle-system/researcher/research.md +0 -243
- package/dist/artifacts/13-dual-lifecycle-system/task.md +0 -130
- package/dist/artifacts/13-dual-lifecycle-system/verification.md +0 -84
- package/dist/artifacts/14-core-tests-refactor/analysis.md +0 -240
- package/dist/artifacts/14-core-tests-refactor/architect/review.md +0 -33
- package/dist/artifacts/14-core-tests-refactor/evaluation.md +0 -40
- package/dist/artifacts/14-core-tests-refactor/plan.md +0 -344
- package/dist/artifacts/14-core-tests-refactor/researcher/research.md +0 -258
- package/dist/artifacts/14-core-tests-refactor/results.md +0 -117
- package/dist/artifacts/14-core-tests-refactor/task.md +0 -163
- package/dist/artifacts/14-core-tests-refactor/verification.md +0 -87
- package/dist/artifacts/15-sistema-evaluacion-agentes/architect/implementation.md +0 -47
- package/dist/artifacts/15-sistema-evaluacion-agentes/brief.md +0 -100
- package/dist/artifacts/15-sistema-evaluacion-agentes/closure.md +0 -81
- package/dist/artifacts/15-sistema-evaluacion-agentes/task.md +0 -83
- package/dist/artifacts/16-refactorizacion-demo-core/analysis.md +0 -160
- package/dist/artifacts/16-refactorizacion-demo-core/architect/implementation.md +0 -180
- package/dist/artifacts/16-refactorizacion-demo-core/changelog.md +0 -15
- package/dist/artifacts/16-refactorizacion-demo-core/metrics.md +0 -17
- package/dist/artifacts/16-refactorizacion-demo-core/plan.md +0 -270
- package/dist/artifacts/16-refactorizacion-demo-core/researcher/research.md +0 -190
- package/dist/artifacts/16-refactorizacion-demo-core/task.md +0 -124
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/analysis.md +0 -108
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/review-subtask-1.md +0 -98
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/review.md +0 -192
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/architect/step-4-postponed.md +0 -41
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/activation-fix-demo.md +0 -73
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/activation-subtask-2.md +0 -80
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/fix-demo-implementation.md +0 -113
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/subtask-2-implementation.md +0 -133
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/module-agent/subtask-implementation.md +0 -130
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/plan.md +0 -188
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-demo-build.md +0 -80
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-phase-5.md +0 -73
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/activation-subtask-5-7.md +0 -97
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/issue-demo-integrity.md +0 -39
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/subtask-5-7-implementation.md +0 -188
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/qa-agent/verification.md +0 -207
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/researcher/research.md +0 -103
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/subtask-1-engine-refactor.md +0 -64
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/surface-agent/activation-subtask-3.md +0 -81
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/surface-agent/subtask-3-implementation.md +0 -148
- package/dist/artifacts/17-implementacion-loadshard-external-agnostic--esm/task.md +0 -146
- package/dist/artifacts/18-refactor-phase-4-implementation/task.md +0 -140
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-scores.md +0 -58
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/1-architect-refactor-research-template.md +0 -78
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/2-architect-refactor-analysis-template.md +0 -76
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/3-architect-update-phase1-workflow.md +0 -77
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/4-architect-update-phase2-workflow.md +0 -76
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/5-architect-create-todo-structure.md +0 -77
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/agent-tasks/6-qa-validation.md +0 -95
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/analysis.md +0 -190
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/architect/review.md +0 -68
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/plan.md +0 -203
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/researcher/research.md +0 -296
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/task.md +0 -132
- package/dist/artifacts/19-refinar-sistema-agentes-ciclo-vida/verification.md +0 -104
- package/dist/artifacts/2-review-mcp-agent-system/analysis.md +0 -133
- package/dist/artifacts/2-review-mcp-agent-system/architect/infrastructure-migration.md +0 -58
- package/dist/artifacts/2-review-mcp-agent-system/architect/mcp-server-refactor.md +0 -57
- package/dist/artifacts/2-review-mcp-agent-system/architect/review.md +0 -83
- package/dist/artifacts/2-review-mcp-agent-system/changelog.md +0 -22
- package/dist/artifacts/2-review-mcp-agent-system/metrics.md +0 -33
- package/dist/artifacts/2-review-mcp-agent-system/plan.md +0 -141
- package/dist/artifacts/2-review-mcp-agent-system/qa/mcp-test-validation.md +0 -60
- package/dist/artifacts/2-review-mcp-agent-system/researcher/research.md +0 -77
- package/dist/artifacts/2-review-mcp-agent-system/results-acceptance.md +0 -115
- package/dist/artifacts/2-review-mcp-agent-system/task.md +0 -127
- package/dist/artifacts/2-review-mcp-agent-system/verification.md +0 -72
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/analysis.md +0 -139
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/plan.md +0 -146
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/researcher/research.md +0 -142
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/task.md +0 -143
- package/dist/artifacts/20-anadir-seccion-reasoning-agent-task/verification.md +0 -53
- package/dist/artifacts/2026-01-19-orchestration-init/brief.md +0 -88
- package/dist/artifacts/2026-01-19-orchestration-init/closure.md +0 -80
- package/dist/artifacts/2026-01-19-orchestration-init/implementation.md +0 -20
- package/dist/artifacts/21-portable-agentic-system/researcher/research.md +0 -121
- package/dist/artifacts/21-portable-agentic-system/task.md +0 -115
- package/dist/artifacts/22-standardize-phase-0-artifact/architect/analysis.md +0 -113
- package/dist/artifacts/22-standardize-phase-0-artifact/architect/plan.md +0 -124
- package/dist/artifacts/22-standardize-phase-0-artifact/researcher/research.md +0 -76
- package/dist/artifacts/22-standardize-phase-0-artifact/results.md +0 -36
- package/dist/artifacts/22-standardize-phase-0-artifact/task.md +0 -115
- package/dist/artifacts/22-standardize-phase-0-artifact/verification.md +0 -41
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/acceptance.md +0 -62
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/architect/analysis.md +0 -90
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/architect/plan.md +0 -85
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/audit-report.md +0 -52
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/researcher/research.md +0 -52
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/results.md +0 -31
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/task.md +0 -90
- package/dist/artifacts/23-auditoria-de-indexes-y-alias/verification.md +0 -42
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/analysis.md +0 -64
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/candidate/acceptance.md +0 -68
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/planning.md +0 -79
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/portable-roadmap.md +0 -25
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/researcher/research.md +0 -91
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/task.md +0 -89
- package/dist/artifacts/24-revision-priorizacion-todo-backlog/verification.md +0 -59
- package/dist/artifacts/25-auditoria-omision-gates/acceptance.md +0 -57
- package/dist/artifacts/25-auditoria-omision-gates/brief.md +0 -89
- package/dist/artifacts/25-auditoria-omision-gates/closure.md +0 -88
- package/dist/artifacts/25-auditoria-omision-gates/rca.md +0 -49
- package/dist/artifacts/25-auditoria-omision-gates/task.md +0 -64
- package/dist/artifacts/26-portable-agentic-system/acceptance.md +0 -41
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/1-architect-scaffolding.md +0 -113
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/2-architect-core-migration.md +0 -117
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/3-architect-cli-implementation.md +0 -109
- package/dist/artifacts/26-portable-agentic-system/agent-tasks/4-architect-linking-and-verification.md +0 -104
- package/dist/artifacts/26-portable-agentic-system/analysis.md +0 -117
- package/dist/artifacts/26-portable-agentic-system/architect/review.md +0 -41
- package/dist/artifacts/26-portable-agentic-system/plan.md +0 -146
- package/dist/artifacts/26-portable-agentic-system/researcher/research.md +0 -96
- package/dist/artifacts/26-portable-agentic-system/task.md +0 -50
- package/dist/artifacts/26-portable-agentic-system/verification.md +0 -67
- package/dist/artifacts/27-update-portable-module-agent-identity/acceptance.md +0 -74
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/1-module-agent-update-templates.md +0 -86
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/2-module-agent-update-workflows-long.md +0 -88
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/3-module-agent-update-workflows-short-init.md +0 -89
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/4-module-agent-update-roles.md +0 -85
- package/dist/artifacts/27-update-portable-module-agent-identity/agent-tasks/5-module-agent-update-version-manifests.md +0 -84
- package/dist/artifacts/27-update-portable-module-agent-identity/analysis.md +0 -90
- package/dist/artifacts/27-update-portable-module-agent-identity/architect/review.md +0 -44
- package/dist/artifacts/27-update-portable-module-agent-identity/changelog.md +0 -17
- package/dist/artifacts/27-update-portable-module-agent-identity/metrics.md +0 -52
- package/dist/artifacts/27-update-portable-module-agent-identity/plan.md +0 -122
- package/dist/artifacts/27-update-portable-module-agent-identity/researcher/research.md +0 -73
- package/dist/artifacts/27-update-portable-module-agent-identity/results-acceptance.md +0 -51
- package/dist/artifacts/27-update-portable-module-agent-identity/task.md +0 -115
- package/dist/artifacts/27-update-portable-module-agent-identity/verification.md +0 -66
- package/dist/artifacts/28-agent-system-update-conversion/acceptance.md +0 -67
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/1-tooling-agent-migration-infrastructure.md +0 -88
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/2-tooling-agent-content-transformer.md +0 -87
- package/dist/artifacts/28-agent-system-update-conversion/agent-tasks/3-tooling-agent-cli-wizard-integration.md +0 -86
- package/dist/artifacts/28-agent-system-update-conversion/analysis.md +0 -153
- package/dist/artifacts/28-agent-system-update-conversion/architect/review.md +0 -93
- package/dist/artifacts/28-agent-system-update-conversion/metrics.md +0 -43
- package/dist/artifacts/28-agent-system-update-conversion/plan.md +0 -153
- package/dist/artifacts/28-agent-system-update-conversion/researcher/research.md +0 -66
- package/dist/artifacts/28-agent-system-update-conversion/results-acceptance.md +0 -125
- package/dist/artifacts/28-agent-system-update-conversion/task.md +0 -103
- package/dist/artifacts/28-agent-system-update-conversion/verification.md +0 -60
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/acceptance.md +0 -38
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/1-tooling-agent-core-resolver.md +0 -85
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/2-tooling-agent-init-refactor.md +0 -90
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/3-tooling-agent-scaffolding-system.md +0 -92
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/4-architect-agents-md-trail.md +0 -84
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/5-tooling-agent-mcp-server.md +0 -92
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/agent-tasks/6-architect-neo-agent-birth.md +0 -85
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/analysis.md +0 -119
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/architect/review.md +0 -46
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/plan.md +0 -95
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/researcher/research.md +0 -68
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/results-acceptance.md +0 -59
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/task.md +0 -99
- package/dist/artifacts/29-agentic-framework-core-reference-refactor/verification.md +0 -54
- package/dist/artifacts/3-developer-feedback-gate/acceptance-criteria.md +0 -18
- package/dist/artifacts/3-developer-feedback-gate/analysis.md +0 -27
- package/dist/artifacts/3-developer-feedback-gate/changelog.md +0 -10
- package/dist/artifacts/3-developer-feedback-gate/implementation_plan.md +0 -32
- package/dist/artifacts/3-developer-feedback-gate/init.md +0 -13
- package/dist/artifacts/3-developer-feedback-gate/metrics.md +0 -34
- package/dist/artifacts/3-developer-feedback-gate/research.md +0 -28
- package/dist/artifacts/3-developer-feedback-gate/results-acceptance.md +0 -17
- package/dist/artifacts/3-developer-feedback-gate/task.md +0 -17
- package/dist/artifacts/3-developer-feedback-gate/verification.md +0 -35
- package/dist/artifacts/30-task-execution-protocol-gates/acceptance.md +0 -46
- package/dist/artifacts/30-task-execution-protocol-gates/researcher/research.md +0 -34
- package/dist/artifacts/30-task-execution-protocol-gates/task.md +0 -77
- package/dist/artifacts/4-adr-workflows-modulos/adr.md +0 -380
- package/dist/artifacts/4-adr-workflows-modulos/analysis.md +0 -353
- package/dist/artifacts/4-adr-workflows-modulos/plan.md +0 -301
- package/dist/artifacts/4-adr-workflows-modulos/researcher/research.md +0 -253
- package/dist/artifacts/4-adr-workflows-modulos/results.md +0 -202
- package/dist/artifacts/4-adr-workflows-modulos/task.md +0 -143
- package/dist/artifacts/4-adr-workflows-modulos/verification.md +0 -123
- package/dist/artifacts/5-implementar-adr-crear-modulo/analysis.md +0 -169
- package/dist/artifacts/5-implementar-adr-crear-modulo/architect/review.md +0 -105
- package/dist/artifacts/5-implementar-adr-crear-modulo/architect/subtask-implementation.md +0 -90
- package/dist/artifacts/5-implementar-adr-crear-modulo/changelog.md +0 -7
- package/dist/artifacts/5-implementar-adr-crear-modulo/metrics.md +0 -34
- package/dist/artifacts/5-implementar-adr-crear-modulo/plan.md +0 -163
- package/dist/artifacts/5-implementar-adr-crear-modulo/researcher/research.md +0 -105
- package/dist/artifacts/5-implementar-adr-crear-modulo/results-acceptance.md +0 -153
- package/dist/artifacts/5-implementar-adr-crear-modulo/task.md +0 -147
- package/dist/artifacts/5-implementar-adr-crear-modulo/verification.md +0 -79
- package/dist/artifacts/6-exportar-ciclo-agent-zip/analysis.md +0 -153
- package/dist/artifacts/6-exportar-ciclo-agent-zip/architect/review.md +0 -103
- package/dist/artifacts/6-exportar-ciclo-agent-zip/architect/subtask-implementation.md +0 -79
- package/dist/artifacts/6-exportar-ciclo-agent-zip/changelog.md +0 -8
- package/dist/artifacts/6-exportar-ciclo-agent-zip/metrics.md +0 -34
- package/dist/artifacts/6-exportar-ciclo-agent-zip/plan.md +0 -131
- package/dist/artifacts/6-exportar-ciclo-agent-zip/researcher/research.md +0 -86
- package/dist/artifacts/6-exportar-ciclo-agent-zip/results-acceptance.md +0 -108
- package/dist/artifacts/6-exportar-ciclo-agent-zip/task.md +0 -147
- package/dist/artifacts/6-exportar-ciclo-agent-zip/verification.md +0 -74
- package/dist/artifacts/6-exportar-ciclo-agent-zip/whitelist.txt +0 -33
- package/dist/artifacts/7-modules-globals-constants/analysis.md +0 -205
- package/dist/artifacts/7-modules-globals-constants/architect/review.md +0 -110
- package/dist/artifacts/7-modules-globals-constants/metrics.md +0 -45
- package/dist/artifacts/7-modules-globals-constants/plan.md +0 -276
- package/dist/artifacts/7-modules-globals-constants/researcher/research.md +0 -247
- package/dist/artifacts/7-modules-globals-constants/task.md +0 -112
- package/dist/artifacts/7-modules-globals-constants/verification.md +0 -76
- package/dist/artifacts/8-module-workflow-refactor/analysis.md +0 -131
- package/dist/artifacts/8-module-workflow-refactor/changelog.md +0 -24
- package/dist/artifacts/8-module-workflow-refactor/metrics.md +0 -37
- package/dist/artifacts/8-module-workflow-refactor/plan.md +0 -193
- package/dist/artifacts/8-module-workflow-refactor/researcher/research.md +0 -222
- package/dist/artifacts/8-module-workflow-refactor/results.md +0 -112
- package/dist/artifacts/8-module-workflow-refactor/review.md +0 -76
- package/dist/artifacts/8-module-workflow-refactor/task.md +0 -154
- package/dist/artifacts/8-module-workflow-refactor/verification.md +0 -76
- package/dist/artifacts/8-module-workflow-refactor/walkthrough.md +0 -64
- package/dist/artifacts/9-build-stabilization/analysis.md +0 -62
- package/dist/artifacts/9-build-stabilization/metrics.md +0 -11
- package/dist/artifacts/9-build-stabilization/plan.md +0 -82
- package/dist/artifacts/9-build-stabilization/researcher/research.md +0 -102
- package/dist/artifacts/9-build-stabilization/task.md +0 -23
- package/dist/artifacts/9-build-stabilization/walkthrough.md +0 -56
- package/dist/artifacts/candidate/init.md +0 -34
- package/dist/artifacts/candidate/task.md +0 -24
- package/dist/metrics/agent-scores.md +0 -30
- package/dist/metrics/agents.json +0 -106
- package/dist/metrics/index.md +0 -23
- package/dist/rules/constitution/drivers.md +0 -294
- package/dist/rules/constitution/extensio-architecture.md +0 -131
- package/dist/rules/constitution/modules.md +0 -280
- package/dist/rules/constitution/pages.md +0 -454
- package/dist/rules/constitution/shards.md +0 -484
- package/dist/rules/roles/driver.md +0 -172
- package/dist/rules/roles/module.md +0 -175
- package/dist/rules/roles/surface.md +0 -60
- package/dist/rules/roles/tooling.md +0 -68
- package/dist/skills/extensio-build/SKILL.md +0 -161
- package/dist/skills/extensio-create-driver/SKILL.md +0 -89
- package/dist/skills/extensio-create-module/SKILL.md +0 -91
- package/dist/skills/extensio-demo/SKILL.md +0 -84
- package/dist/skills/extensio-test/SKILL.md +0 -96
- package/dist/skills/extensio-validate-code/SKILL.md +0 -262
- package/dist/skills/index.md +0 -79
- package/dist/templates/driver-create.md +0 -116
- package/dist/templates/driver-delete.md +0 -84
- package/dist/templates/driver-refactor.md +0 -94
- package/dist/templates/module-create.md +0 -117
- package/dist/templates/module-delete.md +0 -79
- package/dist/templates/module-refactor.md +0 -87
- package/dist/todo/001-anadir-seccion-reasoning.md +0 -42
- package/dist/todo/002-anadir-ejemplos-few-shot.md +0 -46
- package/dist/todo/003-explorar-paralelizacion-phase4.md +0 -46
- package/dist/todo/004-portable-agentic-system.md +0 -44
- package/dist/todo/README.md +0 -58
- package/dist/todo/index.md +0 -27
- package/dist/tools/extensio-cli.md +0 -76
- package/dist/tools/index.md +0 -14
- package/dist/tools/run-command.md +0 -42
- package/dist/workflows/drivers/create.md +0 -139
- package/dist/workflows/drivers/delete.md +0 -124
- package/dist/workflows/drivers/index.md +0 -25
- package/dist/workflows/drivers/refactor.md +0 -125
- package/dist/workflows/modules/create.md +0 -160
- package/dist/workflows/modules/delete.md +0 -121
- package/dist/workflows/modules/index.md +0 -27
- package/dist/workflows/modules/pages.create.md +0 -234
- package/dist/workflows/modules/refactor.md +0 -122
- package/dist/workflows/modules/shards.create.md +0 -215
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
artifact: plan
|
|
3
|
-
phase: phase-3-planning
|
|
4
|
-
owner: architect-agent
|
|
5
|
-
status: draft
|
|
6
|
-
related_task: 16-refactorizacion-demo-core
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Implementation Plan — 16-refactorizacion-demo-core
|
|
10
|
-
|
|
11
|
-
## 1. Resumen del plan
|
|
12
|
-
|
|
13
|
-
- **Contexto**: La demo actual del core usa React y no demuestra todas las capacidades del framework (inyección cross-context, E2E automation). Se requiere una demo vanilla, completa y automatizable.
|
|
14
|
-
- **Resultado esperado**: Nueva demo 100% vanilla que demuestre Surface Pages, Shards (en Page y inyectados), scripts npm para carga manual/automática, y tests E2E con Playwright.
|
|
15
|
-
- **Alcance**:
|
|
16
|
-
- ✅ Incluye: Eliminación completa de demo actual, nueva estructura, DemoEngine, MainPage, 2 Shards, tests E2E, scripts npm, README
|
|
17
|
-
- ❌ Excluye: Modificación del core framework, soporte de popup (solo standalone page)
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## 2. Inputs contractuales
|
|
22
|
-
|
|
23
|
-
- **Task**: `.agent/artifacts/16-refactorizacion-demo-core/task.md`
|
|
24
|
-
- **Research**: `.agent/artifacts/16-refactorizacion-demo-core/researcher/research.md`
|
|
25
|
-
- **Analysis**: `.agent/artifacts/16-refactorizacion-demo-core/analysis.md`
|
|
26
|
-
- **Acceptance Criteria**: AC1-5 del task.md
|
|
27
|
-
|
|
28
|
-
**Dispatch de dominios**
|
|
29
|
-
```yaml
|
|
30
|
-
plan:
|
|
31
|
-
workflows:
|
|
32
|
-
drivers:
|
|
33
|
-
action: none
|
|
34
|
-
modules:
|
|
35
|
-
action: none
|
|
36
|
-
surfaces:
|
|
37
|
-
action: create
|
|
38
|
-
components:
|
|
39
|
-
- MainPage (Surface Page)
|
|
40
|
-
- OpenYoutubeButton (Shard)
|
|
41
|
-
- FloatingButton (Shard)
|
|
42
|
-
dispatch:
|
|
43
|
-
- domain: qa
|
|
44
|
-
action: create
|
|
45
|
-
scope: E2E tests + rendimiento
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## 3. Desglose de implementación (pasos)
|
|
51
|
-
|
|
52
|
-
### Paso 1: Eliminación de demo actual
|
|
53
|
-
- **Descripción**: Eliminar completamente `packages/core/demo/`
|
|
54
|
-
- **Dependencias**: Ninguna
|
|
55
|
-
- **Entregables**: Directorio vacío
|
|
56
|
-
- **Agente responsable**: architect-agent
|
|
57
|
-
|
|
58
|
-
### Paso 2: Scaffolding de nueva estructura
|
|
59
|
-
- **Descripción**: Crear estructura base (dirs, package.json, tsconfig.json, manifest.json)
|
|
60
|
-
- **Dependencias**: Paso 1 completado
|
|
61
|
-
- **Entregables**:
|
|
62
|
-
- `package.json` sin React
|
|
63
|
-
- `manifest.json` con permisos `scripting`, `tabs`, `storage`, `<all_urls>`
|
|
64
|
-
- `tsconfig.json`
|
|
65
|
-
- **Agente responsable**: architect-agent
|
|
66
|
-
|
|
67
|
-
### Paso 3: Implementación DemoEngine
|
|
68
|
-
- **Descripción**: Engine que escucha navegación y carga FloatingButton en páginas orgánicas
|
|
69
|
-
- **Dependencias**: Paso 2
|
|
70
|
-
- **Entregables**: `src/engine/index.mts`
|
|
71
|
-
- **Agente responsable**: architect-agent
|
|
72
|
-
|
|
73
|
-
### Paso 4: Implementación Surface Page (MainPage)
|
|
74
|
-
- **Descripción**: Página standalone que carga OpenYoutubeButton shard
|
|
75
|
-
- **Dependencias**: Paso 2
|
|
76
|
-
- **Entregables**:
|
|
77
|
-
- `src/surface/pages/main/index.html`
|
|
78
|
-
- `src/surface/pages/main/index.mts`
|
|
79
|
-
- **Agente responsable**: surface-agent
|
|
80
|
-
|
|
81
|
-
### Paso 5: Implementación Shards
|
|
82
|
-
- **Descripción**: 2 shards vanilla WebComponents con Shadow DOM
|
|
83
|
-
- **Dependencias**: Paso 2
|
|
84
|
-
- **Entregables**:
|
|
85
|
-
- `src/surface/shards/open-youtube-button.mts`
|
|
86
|
-
- `src/surface/shards/floating-button.mts`
|
|
87
|
-
- **Agente responsable**: surface-agent
|
|
88
|
-
|
|
89
|
-
### Paso 6: Scripts npm
|
|
90
|
-
- **Descripción**: Comandos para build y carga manual/automática
|
|
91
|
-
- **Dependencias**: Pasos 3, 4, 5
|
|
92
|
-
- **Entregables**: Scripts en `package.json`
|
|
93
|
-
- **Agente responsable**: architect-agent
|
|
94
|
-
|
|
95
|
-
### Paso 7: Tests E2E (Playwright)
|
|
96
|
-
- **Descripción**: Suite de tests que valida funcionalidad + rendimiento
|
|
97
|
-
- **Dependencias**: Pasos 3-6
|
|
98
|
-
- **Entregables**: `test/e2e/demo.spec.ts`
|
|
99
|
-
- **Agente responsable**: qa-agent
|
|
100
|
-
|
|
101
|
-
### Paso 8: README y documentación
|
|
102
|
-
- **Descripción**: Guía de uso de la demo
|
|
103
|
-
- **Dependencias**: Todos los anteriores
|
|
104
|
-
- **Entregables**: `README.md`
|
|
105
|
-
- **Agente responsable**: architect-agent
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
## 4. Asignación de responsabilidades (Agentes)
|
|
110
|
-
|
|
111
|
-
### architect-agent
|
|
112
|
-
- Coordinación general y gates
|
|
113
|
-
- Eliminación demo actual (Paso 1)
|
|
114
|
-
- Scaffolding estructura (Paso 2)
|
|
115
|
-
- DemoEngine (Paso 3)
|
|
116
|
-
- Scripts npm (Paso 6)
|
|
117
|
-
- README (Paso 8)
|
|
118
|
-
- Review final
|
|
119
|
-
|
|
120
|
-
### surface-agent
|
|
121
|
-
- MainPage standalone (Paso 4)
|
|
122
|
-
- OpenYoutubeButton shard (Paso 5.1)
|
|
123
|
-
- FloatingButton shard (Paso 5.2)
|
|
124
|
-
|
|
125
|
-
### qa-agent
|
|
126
|
-
- Diseño tests E2E (Paso 7.1)
|
|
127
|
-
- Implementación tests funcionales (Paso 7.2)
|
|
128
|
-
- Medición rendimiento < 100ms (Paso 7.3)
|
|
129
|
-
- Validación final
|
|
130
|
-
|
|
131
|
-
**Handoffs**:
|
|
132
|
-
- architect → surface: Tras Paso 2, surface implementa componentes visuales
|
|
133
|
-
- surface → qa: Tras Paso 5, qa diseña tests
|
|
134
|
-
- qa → architect: Tras Paso 7, architect revisa y aprueba
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## 5. Estrategia de testing y validación
|
|
139
|
-
|
|
140
|
-
### Unit tests
|
|
141
|
-
- **Alcance**: No aplica (demo es E2E-first por naturaleza)
|
|
142
|
-
- **Justificación**: La demo valida integración, no lógica aislada
|
|
143
|
-
|
|
144
|
-
### E2E tests (Playwright)
|
|
145
|
-
| Test | AC | Comando |
|
|
146
|
-
|------|----|---------|
|
|
147
|
-
| Carga extensión y abre MainPage | AC3 | `npm run demo:auto` |
|
|
148
|
-
| Click botón YouTube → abre tab | AC3 | `npm run demo:auto` |
|
|
149
|
-
| Navegación orgánica → inyecta FloatingButton | AC3, AC4 | `npm run demo:auto` |
|
|
150
|
-
| FloatingButton visible en Shadow DOM | AC4 | `npm run demo:auto` |
|
|
151
|
-
| Rendimiento inyección < 100ms | AC3 | `npm run demo:auto` |
|
|
152
|
-
|
|
153
|
-
**Trazabilidad**:
|
|
154
|
-
- AC1 (eliminación) → verificar ausencia de React en package.json
|
|
155
|
-
- AC2 (scripts npm) → `npm run demo:manual --browser=chrome` funciona
|
|
156
|
-
- AC3 (funcionalidad) → tests E2E pasan
|
|
157
|
-
- AC4 (Shadow DOM) → test verifica `shadowRoot` existe
|
|
158
|
-
- AC5 (rendimiento) → test lee `data-inject-time < 100`
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## 6. Plan de demo
|
|
163
|
-
|
|
164
|
-
- **Objetivo**: Mostrar todas las capacidades del core en acción
|
|
165
|
-
- **Escenario 1**: Desarrollador ejecuta `npm run demo:manual --browser=chrome` → ve MainPage con botón
|
|
166
|
-
- **Escenario 2**: Click botón → YouTube se abre en nueva tab
|
|
167
|
-
- **Escenario 3**: Navegar a cualquier sitio web → FloatingButton aparece
|
|
168
|
-
- **Datos de ejemplo**: N/A (demo visual)
|
|
169
|
-
- **Criterios de éxito**:
|
|
170
|
-
- MainPage carga sin errores
|
|
171
|
-
- Botón YouTube funciona
|
|
172
|
-
- FloatingButton aparece en < 100ms
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## 7. Estimaciones y pesos de implementación
|
|
177
|
-
|
|
178
|
-
| Paso | Esfuerzo | Justificación |
|
|
179
|
-
|------|----------|---------------|
|
|
180
|
-
| 1 | Bajo | `rm -rf` simple |
|
|
181
|
-
| 2 | Bajo | Copiar estructura de demo anterior |
|
|
182
|
-
| 3 | Medio | Lógica de navegación + inyección |
|
|
183
|
-
| 4 | Bajo | HTML + Page básica |
|
|
184
|
-
| 5 | Medio | 2 shards con Shadow DOM |
|
|
185
|
-
| 6 | Bajo | Scripts npm directos |
|
|
186
|
-
| 7 | Alto | Tests E2E + medición rendimiento |
|
|
187
|
-
| 8 | Bajo | Documentación clara |
|
|
188
|
-
|
|
189
|
-
**Timeline aproximado**: 1-2 horas de trabajo continuo
|
|
190
|
-
**Suposiciones**: Playwright ya configurado, core sin bugs
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## 8. Puntos críticos y resolución
|
|
195
|
-
|
|
196
|
-
### Punto crítico 1: Inyección lenta del FloatingButton
|
|
197
|
-
- **Riesgo**: `document_idle` puede ser tarde, `document_start` puede fallar en DOM
|
|
198
|
-
- **Impacto**: Alto (falla AC5 de rendimiento)
|
|
199
|
-
- **Resolución**:
|
|
200
|
-
1. Usar `injectImmediately: true` con `run_at: 'document_start'`
|
|
201
|
-
2. FloatingButton debe auto-insertar en `document.body` al cargar
|
|
202
|
-
3. Medir tiempo con `performance.now()` y exponer en `data-inject-time`
|
|
203
|
-
|
|
204
|
-
### Punto crítico 2: Firefox no soporta carga en Playwright
|
|
205
|
-
- **Riesgo**: Solo Chrome testeable automáticamente
|
|
206
|
-
- **Impacto**: Medio (limitación conocida)
|
|
207
|
-
- **Resolución**:
|
|
208
|
-
1. Documentar en README que Firefox requiere test manual
|
|
209
|
-
2. Script `demo:manual --browser=firefox` para carga manual
|
|
210
|
-
|
|
211
|
-
### Punto crítico 3: CSP puede bloquear inyección
|
|
212
|
-
- **Riesgo**: Sitios con CSP estricto rechazan Shard
|
|
213
|
-
- **Impacto**: Medio
|
|
214
|
-
- **Resolución**:
|
|
215
|
-
1. Usar `world: 'ISOLATED'` por defecto en Scripting
|
|
216
|
-
2. Documentar limitación en README
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## 9. Dependencias y compatibilidad
|
|
221
|
-
|
|
222
|
-
### Dependencias internas
|
|
223
|
-
- `@extensio/core` (Engine, Page, Shard)
|
|
224
|
-
- `@extensio/driver-scripting` (inyección cross-context)
|
|
225
|
-
- `@extensio/driver-tabs` (navegación)
|
|
226
|
-
- `@extensio/driver-storage` (MV3 storage)
|
|
227
|
-
- `extensio-cli` (build)
|
|
228
|
-
|
|
229
|
-
### Dependencias externas
|
|
230
|
-
- Playwright (tests E2E)
|
|
231
|
-
|
|
232
|
-
### Compatibilidad navegadores
|
|
233
|
-
- ✅ **Chrome/Chromium**: Soporte completo (E2E + manual)
|
|
234
|
-
- ⚠️ **Firefox**: Solo manual (Playwright no soporta carga de extensión)
|
|
235
|
-
- ⚠️ **Safari**: Solo manual (mismo que Firefox)
|
|
236
|
-
|
|
237
|
-
### Restricciones arquitectónicas
|
|
238
|
-
- Cumplimiento estricto de `constitution.extensio_architecture`
|
|
239
|
-
- Shadow DOM obligatorio para Shards
|
|
240
|
-
- No usar librerías externas de UI (vanilla WebComponents)
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## 10. Criterios de finalización
|
|
245
|
-
|
|
246
|
-
- [ ] Demo actual eliminada completamente
|
|
247
|
-
- [ ] Nueva estructura creada sin React
|
|
248
|
-
- [ ] DemoEngine implementado y funcional
|
|
249
|
-
- [ ] MainPage standalone funciona
|
|
250
|
-
- [ ] OpenYoutubeButton abre YouTube
|
|
251
|
-
- [ ] FloatingButton se inyecta en páginas orgánicas
|
|
252
|
-
- [ ] `npm run demo:manual --browser=chrome` funciona
|
|
253
|
-
- [ ] `npm run demo:auto` ejecuta todos los tests E2E
|
|
254
|
-
- [ ] Rendimiento inyección < 100ms verificado
|
|
255
|
-
- [ ] README documentado
|
|
256
|
-
- [ ] Todos los AC verificados
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
## 11. Aprobación del desarrollador (OBLIGATORIA)
|
|
261
|
-
|
|
262
|
-
```yaml
|
|
263
|
-
approval:
|
|
264
|
-
developer:
|
|
265
|
-
decision: SI
|
|
266
|
-
date: 2026-01-17T08:55:00Z
|
|
267
|
-
comments: "Aprobado para implementación"
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
> Sin aprobación explícita (SI), este plan NO puede ejecutarse.
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
artifact: research
|
|
3
|
-
phase: phase-1-research
|
|
4
|
-
owner: researcher-agent
|
|
5
|
-
status: draft
|
|
6
|
-
related_task: 16-refactorizacion-demo-core
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Research — 16-refactorizacion-demo-core
|
|
10
|
-
|
|
11
|
-
## 1. Objetivo de la Investigación
|
|
12
|
-
|
|
13
|
-
Investigar las capacidades actuales del core de Extensio para:
|
|
14
|
-
- Inyección de Shards en páginas orgánicas (cross-context)
|
|
15
|
-
- Surface Pages como punto de entrada
|
|
16
|
-
- Automatización E2E con Playwright
|
|
17
|
-
- Scripts npm para carga manual/automática
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## 2. Estado Actual de la Demo (As-Is)
|
|
22
|
-
|
|
23
|
-
### Estructura
|
|
24
|
-
```
|
|
25
|
-
packages/core/demo/
|
|
26
|
-
├── src/
|
|
27
|
-
│ ├── engine/index.mts # DemoEngine básico
|
|
28
|
-
│ ├── manifest.json # MV3, popup como Surface Page
|
|
29
|
-
│ └── surface/
|
|
30
|
-
│ ├── pages/main/ # MainPage (popup)
|
|
31
|
-
│ └── shards/ # ContentShard, HeaderShard
|
|
32
|
-
├── package.json # Usa React (a eliminar)
|
|
33
|
-
└── tsconfig.json
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### Problemas Detectados
|
|
37
|
-
1. **Usa React**: La demo tiene dependencias de React que deben eliminarse (vanilla WebComponents requeridos).
|
|
38
|
-
2. **Solo popup**: La Surface Page actual es un action popup, no una página standalone.
|
|
39
|
-
3. **Sin inyección en orgánicas**: No hay demostración de `Engine.loadShard()` para páginas externas.
|
|
40
|
-
4. **Sin tests E2E**: No existe directorio `test/e2e` para la demo.
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## 3. Capacidades del Core Relevantes
|
|
45
|
-
|
|
46
|
-
### 3.1 Engine.loadShard() — Inyección Cross-Context
|
|
47
|
-
```typescript
|
|
48
|
-
public async loadShard(
|
|
49
|
-
shardPath: string,
|
|
50
|
-
options: ShardOptions = {}
|
|
51
|
-
): Promise<void> {
|
|
52
|
-
const jsUrl = Runtime.getURL(shardPath);
|
|
53
|
-
const { tabId, run_at = 'document_idle' } = options;
|
|
54
|
-
|
|
55
|
-
const target = { tabId: tabId || (await this.getCurrentTabId()) };
|
|
56
|
-
await Scripting.executeScript({
|
|
57
|
-
target,
|
|
58
|
-
files: [jsUrl],
|
|
59
|
-
injectImmediately: run_at === 'document_start',
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
**Puntos clave**:
|
|
65
|
-
- `run_at: 'document_start'` permite inyección lo más rápida posible.
|
|
66
|
-
- Usa `Scripting.executeScript` para inyección cross-context.
|
|
67
|
-
- El Shard debe ser un archivo `.mjs` compilado que se auto-registra.
|
|
68
|
-
|
|
69
|
-
### 3.2 Page.loadShard() — Montaje en Mismo Contexto
|
|
70
|
-
```typescript
|
|
71
|
-
public async loadShard<T extends Shard>(
|
|
72
|
-
ShardOrTag: (new (id: string, context: PageShardContext) => T) | string,
|
|
73
|
-
options: PageShardOptions = {}
|
|
74
|
-
): Promise<T>
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
**Puntos clave**:
|
|
78
|
-
- Instancia y monta Shards directamente en el DOM de la Page.
|
|
79
|
-
- Auto-registra el WebComponent si se pasa la clase.
|
|
80
|
-
- Usa Shadow DOM para aislamiento.
|
|
81
|
-
|
|
82
|
-
### 3.3 Engine.navigate() — Navegación a Surface Pages
|
|
83
|
-
```typescript
|
|
84
|
-
public async navigate(url: string | { default: string }, options?: NavigationOptions)
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**Uso**: `this.navigate('surface/pages/main/index.html', { newTab: true })`
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## 4. Configuración Playwright Existente
|
|
92
|
-
|
|
93
|
-
```typescript
|
|
94
|
-
// packages/core/playwright.config.ts
|
|
95
|
-
export default defineConfig({
|
|
96
|
-
testDir: './test/e2e',
|
|
97
|
-
timeout: 30000,
|
|
98
|
-
projects: [
|
|
99
|
-
{
|
|
100
|
-
name: 'chromium',
|
|
101
|
-
use: {
|
|
102
|
-
launchOptions: {
|
|
103
|
-
args: [
|
|
104
|
-
`--disable-extensions-except=${extensionPath}`,
|
|
105
|
-
`--load-extension=${extensionPath}`,
|
|
106
|
-
],
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
{ name: 'firefox', use: { ...devices['Desktop Firefox'] } },
|
|
111
|
-
],
|
|
112
|
-
});
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
**Hallazgos**:
|
|
116
|
-
- Ya existe configuración para cargar extensión en Chrome.
|
|
117
|
-
- Firefox no tiene carga de extensión configurada (limitación de Playwright).
|
|
118
|
-
- `testDir` apunta a `./test/e2e` que no existe actualmente.
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## 5. Requisitos de Implementación Derivados
|
|
123
|
-
|
|
124
|
-
### 5.1 Nueva Demo — Componentes
|
|
125
|
-
|
|
126
|
-
| Componente | Tipo | Función |
|
|
127
|
-
|------------|------|---------|
|
|
128
|
-
| `DemoEngine` | Engine | Escucha navegación, inyecta floating button |
|
|
129
|
-
| `MainPage` | Surface Page (standalone) | Página inicial con botón YouTube |
|
|
130
|
-
| `OpenYoutubeButton` | Shard | Botón que abre YouTube |
|
|
131
|
-
| `FloatingButton` | Shard | Botón inyectado en páginas orgánicas |
|
|
132
|
-
|
|
133
|
-
### 5.2 Scripts npm
|
|
134
|
-
|
|
135
|
-
```json
|
|
136
|
-
{
|
|
137
|
-
"scripts": {
|
|
138
|
-
"demo:build": "extensio build --browsers=chrome,firefox,safari",
|
|
139
|
-
"demo:manual": "extensio build --loadBrowser=${npm_config_browser:-chrome}",
|
|
140
|
-
"demo:auto": "playwright test ${npm_config_browser:+--project=$npm_config_browser}"
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### 5.3 Medición de Rendimiento
|
|
146
|
-
|
|
147
|
-
Para validar inyección < 100ms:
|
|
148
|
-
```typescript
|
|
149
|
-
// En el Shard
|
|
150
|
-
const loadStart = performance.now();
|
|
151
|
-
// ... Shard se monta ...
|
|
152
|
-
const loadEnd = performance.now();
|
|
153
|
-
console.log(`Shard injected in ${loadEnd - loadStart}ms`);
|
|
154
|
-
// Exponer como data-attribute para Playwright
|
|
155
|
-
container.setAttribute('data-inject-time', String(loadEnd - loadStart));
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## 6. Riesgos y Mitigaciones
|
|
161
|
-
|
|
162
|
-
| Riesgo | Probabilidad | Impacto | Mitigación |
|
|
163
|
-
|--------|--------------|---------|------------|
|
|
164
|
-
| Firefox no soporta carga de extensión en Playwright | Alta | Medio | Documentar limitación, probar manualmente |
|
|
165
|
-
| Inyección lenta en `document_start` | Media | Alto | Usar `injectImmediately: true` y medir |
|
|
166
|
-
| Content Security Policy bloquea Shard | Media | Alto | Usar `world: 'MAIN'` en Scripting si es necesario |
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## 7. Recomendaciones del Researcher
|
|
171
|
-
|
|
172
|
-
1. **Eliminar React**: Crear demo 100% vanilla WebComponents.
|
|
173
|
-
2. **Surface Page standalone**: Usar página dedicada en lugar de popup.
|
|
174
|
-
3. **Inyección con `document_start`**: Maximizar velocidad de aparición del floating button.
|
|
175
|
-
4. **Shadow DOM obligatorio**: Asegurar aislamiento total del Shard inyectado.
|
|
176
|
-
5. **Métricas de rendimiento**: Exponer tiempo de inyección para validación E2E.
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## 8. Aprobación del Desarrollador
|
|
181
|
-
|
|
182
|
-
```yaml
|
|
183
|
-
approval:
|
|
184
|
-
developer:
|
|
185
|
-
decision: SI
|
|
186
|
-
date: 2026-01-17T08:45:00Z
|
|
187
|
-
comments: "Aprobado para avanzar a Análisis"
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
> Esta investigación requiere aprobación antes de avanzar a Fase 2 (Análisis).
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
# Task: Refactorización de Demo Core con Automatización
|
|
2
|
-
|
|
3
|
-
## Identificación
|
|
4
|
-
- id: 16
|
|
5
|
-
- title: Refactorización de Demo Core con Automatización
|
|
6
|
-
- scope: current
|
|
7
|
-
- owner: architect-agent
|
|
8
|
-
|
|
9
|
-
## Origen
|
|
10
|
-
- created_from:
|
|
11
|
-
- workflow: tasklifecycle-long
|
|
12
|
-
- source: init
|
|
13
|
-
- candidate_path: artifacts.candidate.init
|
|
14
|
-
|
|
15
|
-
## Descripción de la tarea
|
|
16
|
-
Eliminar la demo actual del core y crear una nueva demo funcional que soporte carga automática (Playwright E2E) y manual (desarrollador). La demo debe incluir una página inicial con botón para abrir YouTube y un floating button que se inserte automáticamente en páginas orgánicas.
|
|
17
|
-
|
|
18
|
-
## Objetivo
|
|
19
|
-
Proveer una demo robusta y completa del core que sirva como validación E2E automatizada y como referencia para desarrolladores, demostrando el uso de Pages, Shards y Context.
|
|
20
|
-
|
|
21
|
-
## Estado del ciclo de vida (FUENTE ÚNICA DE VERDAD)
|
|
22
|
-
|
|
23
|
-
```yaml
|
|
24
|
-
task:
|
|
25
|
-
id: "16"
|
|
26
|
-
title: "Refactorización de Demo Core con Automatización"
|
|
27
|
-
strategy: "long"
|
|
28
|
-
phase:
|
|
29
|
-
current: "phase-8-commit-push"
|
|
30
|
-
validated_by: "architect-agent"
|
|
31
|
-
updated_at: "2026-01-17T14:47:00Z"
|
|
32
|
-
lifecycle:
|
|
33
|
-
phases:
|
|
34
|
-
phase-0-acceptance-criteria:
|
|
35
|
-
completed: true
|
|
36
|
-
validated_by: "architect-agent"
|
|
37
|
-
validated_at: "2026-01-17T08:41:00Z"
|
|
38
|
-
phase-1-research:
|
|
39
|
-
completed: true
|
|
40
|
-
validated_by: "architect-agent"
|
|
41
|
-
validated_at: "2026-01-17T08:45:00Z"
|
|
42
|
-
phase-2-analysis:
|
|
43
|
-
completed: true
|
|
44
|
-
validated_by: "architect-agent"
|
|
45
|
-
validated_at: "2026-01-17T08:48:00Z"
|
|
46
|
-
phase-3-planning:
|
|
47
|
-
completed: true
|
|
48
|
-
validated_by: "architect-agent"
|
|
49
|
-
validated_at: "2026-01-17T08:55:00Z"
|
|
50
|
-
phase-4-implementation:
|
|
51
|
-
completed: true
|
|
52
|
-
validated_by: "architect-agent"
|
|
53
|
-
validated_at: "2026-01-17T12:40:00Z"
|
|
54
|
-
phase-5-verification:
|
|
55
|
-
completed: true
|
|
56
|
-
validated_by: "qa-agent"
|
|
57
|
-
validated_at: "2026-01-17T14:45:00Z"
|
|
58
|
-
phase-6-results-acceptance:
|
|
59
|
-
completed: true
|
|
60
|
-
validated_by: "architect-agent"
|
|
61
|
-
validated_at: "2026-01-17T14:46:00Z"
|
|
62
|
-
phase-7-evaluation:
|
|
63
|
-
completed: true
|
|
64
|
-
validated_by: "architect-agent"
|
|
65
|
-
validated_at: "2026-01-17T14:46:30Z"
|
|
66
|
-
phase-8-commit-push:
|
|
67
|
-
completed: true
|
|
68
|
-
validated_by: "architect-agent"
|
|
69
|
-
validated_at: "2026-01-17T15:00:00Z"
|
|
70
|
-
branch: "feature/module-workflow-refactor"
|
|
71
|
-
commits: "2fd9a07, ab5ff4f, faebf0c, 8988dab, 90d2cbb"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## 5 Preguntas Obligatorias (REQUERIDO - Phase 0)
|
|
75
|
-
|
|
76
|
-
| # | Pregunta (formulada por architect) | Respuesta (del desarrollador) |
|
|
77
|
-
|---|-----------------------------------|-------------------------------|
|
|
78
|
-
| 1 | ¿La demo actual debe eliminarse completamente o algunos componentes pueden reutilizarse? | Debe eliminarse completamente y crear una desde cero. |
|
|
79
|
-
| 2 | ¿El script npm para selección de modo debe permitir seleccionar el navegador? | Sí, pero solo en modo manual. En automático debe testear todos los navegadores a menos que se pase un flag específico. |
|
|
80
|
-
| 3 | ¿El floating button debe tener funcionalidad específica? | Por ahora solo demostrar la inserción de shards usando las capacidades del core. Objetivo: testear E2E las funcionalidades del core. |
|
|
81
|
-
| 4 | ¿La página inicial debe ser action popup o página standalone? | Debe ser una Surface Page. |
|
|
82
|
-
| 5 | ¿Los tests E2E deben incluir validación de rendimiento? | Ambos: validación funcional Y rendimiento/tiempo de inyección del floating button. |
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Acceptance Criteria (OBLIGATORIO PARA CURRENT TASK)
|
|
87
|
-
|
|
88
|
-
1. **Alcance**:
|
|
89
|
-
- Eliminación completa de la demo actual de `packages/core/demo`.
|
|
90
|
-
- Creación de nueva demo desde cero con Surface Page inicial, shards (botón YouTube + floating button) y scripts npm.
|
|
91
|
-
|
|
92
|
-
2. **Entradas/Datos**:
|
|
93
|
-
- Comandos npm: `npm run demo:manual` (con flags `--browser=chrome|firefox|safari`) y `npm run demo:auto` (ejecuta E2E en todos los navegadores o con flag `--browser`).
|
|
94
|
-
- Configuración de Playwright para carga automática de la extensión.
|
|
95
|
-
|
|
96
|
-
3. **Salidas esperadas**:
|
|
97
|
-
- Surface Page inicial con botón shard funcional que abre YouTube.
|
|
98
|
-
- Floating button shard inyectado automáticamente en páginas orgánicas (no-extensión).
|
|
99
|
-
- Tests E2E (Playwright) que validen:
|
|
100
|
-
- Carga de la extensión y apertura de la Surface Page.
|
|
101
|
-
- Funcionalidad del botón YouTube.
|
|
102
|
-
- Inyección del floating button en páginas orgánicas.
|
|
103
|
-
- Rendimiento: tiempo de inyección del floating button < 100ms.
|
|
104
|
-
|
|
105
|
-
4. **Restricciones**:
|
|
106
|
-
- El floating button debe ser agnóstico e isolado (Shadow DOM).
|
|
107
|
-
- Inyección debe ocurrir lo más rápido posible (idealmente en `document_start` o `document_idle`).
|
|
108
|
-
- Cumplimiento estricto de la arquitectura Extensio (Engine, Context, Surfaces, Shards).
|
|
109
|
-
- No usar librerías externas para la UI de shards (vanilla WebComponents).
|
|
110
|
-
|
|
111
|
-
5. **Criterio de Done**:
|
|
112
|
-
- El desarrollador puede ejecutar `npm run demo:manual --browser=chrome` y ver la demo funcionando.
|
|
113
|
-
- `npm run demo:auto` ejecuta todos los tests E2E en todos los navegadores y pasan al 100%.
|
|
114
|
-
- La demo está documentada con un README que explica su uso.
|
|
115
|
-
|
|
116
|
-
## Historial de validaciones (append-only)
|
|
117
|
-
```yaml
|
|
118
|
-
history:
|
|
119
|
-
- phase: "init"
|
|
120
|
-
action: "started"
|
|
121
|
-
validated_by: "architect-agent"
|
|
122
|
-
timestamp: "2026-01-17T08:35:00Z"
|
|
123
|
-
notes: "Tarea iniciada en modo Long"
|
|
124
|
-
```
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
artifact: analysis
|
|
3
|
-
phase: phase-2-analysis
|
|
4
|
-
owner: architect-agent
|
|
5
|
-
status: draft
|
|
6
|
-
related_task: 17-implementacion-loadshard-external-agnostic--esm
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Analysis — 17-Implementación de loadShard External
|
|
10
|
-
|
|
11
|
-
## 1. Resumen ejecutivo
|
|
12
|
-
**Problema**
|
|
13
|
-
- Actualmente, `loadShard` en el `Engine` es básico y no está optimizado para páginas de terceros (externas).
|
|
14
|
-
- Falta de aislamiento estricto (Shadow Root closed).
|
|
15
|
-
- Incompatibilidad de ESM en Firefox Content Scripts.
|
|
16
|
-
- Duplicidad de listeners de mensajes en el `Engine` que complica el mantenimiento.
|
|
17
|
-
|
|
18
|
-
**Objetivo**
|
|
19
|
-
- Implementar una inyección de Shards agnóstica y aislada para páginas externas, soportando ESM nativo (Chrome) y un bundle fallback (Firefox).
|
|
20
|
-
- Refactorizar el `Engine` para unificar la gestión de mensajes.
|
|
21
|
-
- Innovar con estimación de layout vía AI para mitigar saltos visuales (CLS).
|
|
22
|
-
|
|
23
|
-
**Criterio de éxito**
|
|
24
|
-
- Todos los Acceptance Criteria de `task.md` cubiertos y verificables.
|
|
25
|
-
- Un solo punto de entrada para `Runtime.onMessage` en el `Engine`.
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## 2. Estado del proyecto (As-Is)
|
|
30
|
-
- **Engine**: Localizado en `packages/core/src/engine/engine.mts`. Tiene `loadShard` usando `Scripting.executeScript`.
|
|
31
|
-
- **Message Handling**: Existen dos listeners de `Runtime.onMessage` (uno en el constructor para `loadContext` y otro en `_listen` para el resto).
|
|
32
|
-
- **Core**: `packages/core/src/engine/core.mts` define la clase base con métodos de log y propiedades.
|
|
33
|
-
- **Build System**: `packages/cli/src/commands/build.mts` y `process-shards.mts` gestionan la compilación, pero no diferencian estrategias por browser para Shards externos.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 3. Cobertura de Acceptance Criteria
|
|
38
|
-
|
|
39
|
-
### AC1: Soporte Multi-browser (Iframe ESM)
|
|
40
|
-
- **Interpretación**: Se inyectará un iframe que apunta a un recurso interno de la extensión. Esto permite usar ESM nativo en todos los navegadores (incluyendo Firefox) sin necesidad de inyectar nada complejo en el DOM del huésped.
|
|
41
|
-
- **Verificación**: Inspección de red verificando que el iframe carga desde `chrome-extension://`.
|
|
42
|
-
- **Riesgos**: Mínimos, el iframe es el método más estándar.
|
|
43
|
-
|
|
44
|
-
### AC2: Aislamiento (iFrame Total)
|
|
45
|
-
- **Interpretación**: El aislamiento es físico mediante el iframe. No se requiere Shadow DOM adicional para el Shard raiz, aunque el Shard interno puede usarlo.
|
|
46
|
-
- **Verificación**: Comprobar que los estilos globales de la página host no entran en el Shard.
|
|
47
|
-
|
|
48
|
-
### AC3: Registration (Prefijo extensio-)
|
|
49
|
-
- **Interpretación**: El contenedor iframe en la página huésped tendrá el ID o la clase con prefijo `extensio-`.
|
|
50
|
-
- **Verificación**: Verificación en el DOM de la página host.
|
|
51
|
-
|
|
52
|
-
### AC4: Refactorización Engine
|
|
53
|
-
- **Interpretación**: Eliminar el listener del constructor y centralizar todo en `onMessage` vía `_listen`.
|
|
54
|
-
- **Verificación**: Tests unitarios del `Engine` y trazas de ejecución.
|
|
55
|
-
|
|
56
|
-
### AC5: AI Layout Estimation (Innovación)
|
|
57
|
-
- **Interpretación**: Usar Gemini Nano para predecir el tamaño del contenido y ajustar el iframe del Shard dinámicamente.
|
|
58
|
-
- **Verificación**: Medición de CLS (Cumulative Layout Shift) en la carga.
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## 4. Research técnico
|
|
63
|
-
Decisión Final:
|
|
64
|
-
1. **Container**: SIEMPRE `iframe`. Máxima compatibilidad y seguridad.
|
|
65
|
-
2. **ESM**: Soportado nativamente dentro del iframe de la extensión. No requiere Import Maps inyectados en el huésped.
|
|
66
|
-
3. **CSP**: Sigue siendo necesario `declarativeNetRequest` para permitir el `frame-src`.
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## 5. Agentes participantes
|
|
71
|
-
|
|
72
|
-
- **architect-agent** (Owner)
|
|
73
|
-
- Supervisión, validación de arquitectura y refactorización del Engine.
|
|
74
|
-
- **module-agent**
|
|
75
|
-
- Implementación de los cambios en `Engine` y lógica de inyección ESM.
|
|
76
|
-
- **surface-agent**
|
|
77
|
-
- Adaptación de la clase base `Shard` para soportar Shadow Root `closed` y auto-resize.
|
|
78
|
-
- **qa-agent**
|
|
79
|
-
- Creación de tests E2E con Playwright en páginas externas (ej. wikipedia.org).
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## 6. Impacto de la tarea
|
|
84
|
-
- **Arquitectura**: Simplificación del flujo de mensajes del Engine. Introducción de un contenedor de Shards externo.
|
|
85
|
-
- **APIs**: `Engine.loadShard` ahora aceptará opciones de contenedor (`shadow` | `iframe`).
|
|
86
|
-
- **Compatibilidad**: Ningún breaking change esperado, solo adición de funcionalidad.
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## 7. Riesgos y mitigaciones
|
|
91
|
-
- **Riesgo**: Colisión de Import Maps.
|
|
92
|
-
- **Mitigación**: El motor detectará si ya existe un Import Map y usará un cargador dinámico alternativo o inyectará el Shard con rutas ya resueltas.
|
|
93
|
-
- **Riesgo**: Bloqueo de iframes por CSP estrictas.
|
|
94
|
-
- **Mitigación**: Uso obligatorio de `declarativeNetRequest` en el manifest del proyecto.
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## 8. Preguntas abiertas
|
|
99
|
-
- ¿Iniciaremos el AI Layout Estimation como experimental o como parte del core inicial? (Decidido: Experimental pero incluido en el plan).
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## 9. Aprobación
|
|
104
|
-
Este análisis **requiere aprobación explícita del desarrollador**.
|
|
105
|
-
|
|
106
|
-
- **Aprobado por desarrollador:** ☑ Sí ☐ No
|
|
107
|
-
- **Fecha:** 2026-01-17
|
|
108
|
-
- **Comentarios (opcional):** El desarrollador prefiere usar SIEMPRE iframes y eliminar la necesidad de Import Maps externos en la página huésped.
|