@tacuchi/agent-workflow-cli 11.0.1 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -95
- package/dist/application/artifacts-service.d.ts +3 -12
- package/dist/application/artifacts-service.d.ts.map +1 -1
- package/dist/application/artifacts-service.js +18 -19
- package/dist/application/artifacts-service.js.map +1 -1
- package/dist/application/branch-resolver.d.ts +16 -0
- package/dist/application/branch-resolver.d.ts.map +1 -0
- package/dist/application/branch-resolver.js +24 -0
- package/dist/application/branch-resolver.js.map +1 -0
- package/dist/application/check-branch-service.d.ts +0 -2
- package/dist/application/check-branch-service.d.ts.map +1 -1
- package/dist/application/check-branch-service.js +5 -40
- package/dist/application/check-branch-service.js.map +1 -1
- package/dist/application/checkpoint/markdown.d.ts.map +1 -1
- package/dist/application/checkpoint/markdown.js +1 -16
- package/dist/application/checkpoint/markdown.js.map +1 -1
- package/dist/application/checkpoint/state-reader.d.ts +1 -3
- package/dist/application/checkpoint/state-reader.d.ts.map +1 -1
- package/dist/application/checkpoint/state-reader.js +10 -31
- package/dist/application/checkpoint/state-reader.js.map +1 -1
- package/dist/application/checkpoint-service.d.ts +12 -14
- package/dist/application/checkpoint-service.d.ts.map +1 -1
- package/dist/application/checkpoint-service.js +36 -61
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.d.ts +0 -2
- package/dist/application/checkpoint-write-service.d.ts.map +1 -1
- package/dist/application/checkpoint-write-service.js +5 -6
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/history-update-service.js +3 -1
- package/dist/application/history-update-service.js.map +1 -1
- package/dist/application/hook-branch-check.d.ts.map +1 -1
- package/dist/application/hook-branch-check.js +5 -34
- package/dist/application/hook-branch-check.js.map +1 -1
- package/dist/application/hook-git-commit-advisor.d.ts.map +1 -1
- package/dist/application/hook-git-commit-advisor.js +18 -23
- package/dist/application/hook-git-commit-advisor.js.map +1 -1
- package/dist/application/markdown.d.ts.map +1 -1
- package/dist/application/markdown.js +0 -4
- package/dist/application/markdown.js.map +1 -1
- package/dist/application/parsers/project-block.d.ts +0 -8
- package/dist/application/parsers/project-block.d.ts.map +1 -1
- package/dist/application/parsers/project-block.js +13 -52
- package/dist/application/parsers/project-block.js.map +1 -1
- package/dist/application/paths-service.d.ts +7 -8
- package/dist/application/paths-service.d.ts.map +1 -1
- package/dist/application/paths-service.js +12 -8
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/project-md-upsert-service.d.ts +3 -11
- package/dist/application/project-md-upsert-service.d.ts.map +1 -1
- package/dist/application/project-md-upsert-service.js +6 -56
- package/dist/application/project-md-upsert-service.js.map +1 -1
- package/dist/application/project-tab-data.d.ts +14 -42
- package/dist/application/project-tab-data.d.ts.map +1 -1
- package/dist/application/project-tab-data.js +27 -113
- package/dist/application/project-tab-data.js.map +1 -1
- package/dist/application/release-data/artifacts.d.ts +0 -2
- package/dist/application/release-data/artifacts.d.ts.map +1 -1
- package/dist/application/release-data/artifacts.js +22 -12
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/release-data/sessions.d.ts +0 -2
- package/dist/application/release-data/sessions.d.ts.map +1 -1
- package/dist/application/release-data/sessions.js +36 -27
- package/dist/application/release-data/sessions.js.map +1 -1
- package/dist/application/release-data-service.d.ts +0 -3
- package/dist/application/release-data-service.d.ts.map +1 -1
- package/dist/application/release-data-service.js +3 -21
- package/dist/application/release-data-service.js.map +1 -1
- package/dist/application/render/history-row.d.ts +1 -9
- package/dist/application/render/history-row.d.ts.map +1 -1
- package/dist/application/render/history-row.js +3 -20
- package/dist/application/render/history-row.js.map +1 -1
- package/dist/application/render/project-block.d.ts +1 -3
- package/dist/application/render/project-block.d.ts.map +1 -1
- package/dist/application/render/project-block.js +4 -27
- package/dist/application/render/project-block.js.map +1 -1
- package/dist/application/self/doctor-self.d.ts.map +1 -1
- package/dist/application/self/doctor-self.js +15 -8
- package/dist/application/self/doctor-self.js.map +1 -1
- package/dist/application/self/install-hooks.d.ts +1 -1
- package/dist/application/self/install-hooks.d.ts.map +1 -1
- package/dist/application/self/install-hooks.js +3 -2
- package/dist/application/self/install-hooks.js.map +1 -1
- package/dist/application/self/install-skill.d.ts +9 -3
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +16 -16
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/uninstall-skill.js +14 -12
- package/dist/application/self/uninstall-skill.js.map +1 -1
- package/dist/application/self/uninstall.js +14 -12
- package/dist/application/self/uninstall.js.map +1 -1
- package/dist/application/session-artifacts.d.ts +7 -6
- package/dist/application/session-artifacts.d.ts.map +1 -1
- package/dist/application/session-artifacts.js +10 -15
- package/dist/application/session-artifacts.js.map +1 -1
- package/dist/application/session-close-service.d.ts +5 -22
- package/dist/application/session-close-service.d.ts.map +1 -1
- package/dist/application/session-close-service.js +20 -143
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.d.ts +9 -29
- package/dist/application/session-create-service.d.ts.map +1 -1
- package/dist/application/session-create-service.js +44 -288
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-resolver.d.ts +4 -25
- package/dist/application/session-resolver.d.ts.map +1 -1
- package/dist/application/session-resolver.js +33 -149
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.d.ts +3 -4
- package/dist/application/session-resume-service.d.ts.map +1 -1
- package/dist/application/session-resume-service.js +8 -26
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/sessions-service.d.ts +2 -3
- package/dist/application/sessions-service.d.ts.map +1 -1
- package/dist/application/sessions-service.js +9 -26
- package/dist/application/sessions-service.js.map +1 -1
- package/dist/application/skill-index-service.d.ts +0 -2
- package/dist/application/skill-index-service.d.ts.map +1 -1
- package/dist/application/skill-index-service.js +0 -1
- package/dist/application/skill-index-service.js.map +1 -1
- package/dist/application/skills-resolver-service.d.ts +22 -0
- package/dist/application/skills-resolver-service.d.ts.map +1 -0
- package/dist/application/skills-resolver-service.js +71 -0
- package/dist/application/skills-resolver-service.js.map +1 -0
- package/dist/application/sources-service.d.ts +0 -5
- package/dist/application/sources-service.d.ts.map +1 -1
- package/dist/application/sources-service.js +5 -44
- package/dist/application/sources-service.js.map +1 -1
- package/dist/application/templates/session.d.ts +24 -0
- package/dist/application/templates/session.d.ts.map +1 -0
- package/dist/application/templates/session.js +46 -0
- package/dist/application/templates/session.js.map +1 -0
- package/dist/application/upgrade-hub-mode-service.d.ts.map +1 -1
- package/dist/application/upgrade-hub-mode-service.js +0 -1
- package/dist/application/upgrade-hub-mode-service.js.map +1 -1
- package/dist/application/workspace-init-service.d.ts +60 -0
- package/dist/application/workspace-init-service.d.ts.map +1 -0
- package/dist/application/workspace-init-service.js +227 -0
- package/dist/application/workspace-init-service.js.map +1 -0
- package/dist/cli/commands/check-branch.d.ts.map +1 -1
- package/dist/cli/commands/check-branch.js +0 -3
- package/dist/cli/commands/check-branch.js.map +1 -1
- package/dist/cli/commands/plugin-doctor.d.ts.map +1 -1
- package/dist/cli/commands/plugin-doctor.js +0 -3
- package/dist/cli/commands/plugin-doctor.js.map +1 -1
- package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
- package/dist/cli/commands/project-md-upsert.js +5 -31
- package/dist/cli/commands/project-md-upsert.js.map +1 -1
- package/dist/cli/commands/session-close.d.ts.map +1 -1
- package/dist/cli/commands/session-close.js +1 -33
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-create.d.ts.map +1 -1
- package/dist/cli/commands/session-create.js +5 -21
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/session-resume.js +1 -1
- package/dist/cli/commands/session-resume.js.map +1 -1
- package/dist/cli/commands/set-working-branch.d.ts +3 -0
- package/dist/cli/commands/set-working-branch.d.ts.map +1 -0
- package/dist/cli/commands/set-working-branch.js +34 -0
- package/dist/cli/commands/set-working-branch.js.map +1 -0
- package/dist/cli/commands/skill-index.d.ts.map +1 -1
- package/dist/cli/commands/skill-index.js +0 -3
- package/dist/cli/commands/skill-index.js.map +1 -1
- package/dist/cli/commands/skills.d.ts +3 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +10 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/sources.d.ts.map +1 -1
- package/dist/cli/commands/sources.js +0 -3
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/workspace-init.d.ts +3 -0
- package/dist/cli/commands/workspace-init.d.ts.map +1 -0
- package/dist/cli/commands/workspace-init.js +69 -0
- package/dist/cli/commands/workspace-init.js.map +1 -0
- package/dist/cli/help-groups.d.ts.map +1 -1
- package/dist/cli/help-groups.js +8 -19
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/interactive-menu.d.ts +1 -1
- package/dist/cli/interactive-menu.d.ts.map +1 -1
- package/dist/cli/main.js +29 -37
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.d.ts +0 -2
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +1 -13
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/tui/app.js +3 -38
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/hub-init-alias.js +1 -1
- package/dist/cli/tui/components/hub-init-alias.js.map +1 -1
- package/dist/cli/tui/components/hub-init-form.d.ts.map +1 -1
- package/dist/cli/tui/components/hub-init-form.js +13 -12
- package/dist/cli/tui/components/hub-init-form.js.map +1 -1
- package/dist/cli/tui/components/workspace-init-alias.d.ts +5 -0
- package/dist/cli/tui/components/workspace-init-alias.d.ts.map +1 -0
- package/dist/cli/tui/components/workspace-init-alias.js +19 -0
- package/dist/cli/tui/components/workspace-init-alias.js.map +1 -0
- package/dist/cli/tui/components/workspace-init-form.d.ts +13 -0
- package/dist/cli/tui/components/workspace-init-form.d.ts.map +1 -0
- package/dist/cli/tui/components/workspace-init-form.js +87 -0
- package/dist/cli/tui/components/workspace-init-form.js.map +1 -0
- package/dist/cli/tui/data/activity.d.ts +1 -1
- package/dist/cli/tui/data/activity.d.ts.map +1 -1
- package/dist/cli/tui/data/activity.js +2 -2
- package/dist/cli/tui/data/activity.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +67 -87
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +23 -97
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +7 -7
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.d.ts +1 -3
- package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.js +2 -2
- package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
- package/dist/cli/types.d.ts +3 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/domain/plugin.d.ts +2 -12
- package/dist/domain/plugin.d.ts.map +1 -1
- package/dist/domain/project.d.ts +0 -9
- package/dist/domain/project.d.ts.map +1 -1
- package/dist/domain/session.d.ts +7 -24
- package/dist/domain/session.d.ts.map +1 -1
- package/dist/domain/skills.d.ts +22 -0
- package/dist/domain/skills.d.ts.map +1 -0
- package/dist/domain/skills.js +37 -0
- package/dist/domain/skills.js.map +1 -0
- package/dist/domain/types.d.ts +6 -2
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/config-service.js +1 -1
- package/dist/runtime/config-service.js.map +1 -1
- package/dist/runtime/types.d.ts +0 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/types.js.map +1 -1
- package/package.json +12 -3
- package/skills/w/README.md +65 -0
- package/skills/w/SKILL.md +153 -0
- package/skills/w/artifacts/README.md +60 -0
- package/skills/w/artifacts/artifacts-core/BACKLOG.md +12 -0
- package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +22 -0
- package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +39 -0
- package/skills/w/artifacts/artifacts-core/SESSION.md +27 -0
- package/skills/w/artifacts/artifacts-core/TASKS.md +18 -0
- package/skills/w/artifacts/artifacts-dev/DECISION.md +11 -0
- package/skills/w/artifacts/artifacts-dev/TECHNICAL-NOTE.md +81 -0
- package/skills/w/artifacts/artifacts-research/ANALYSIS-FILE.md +48 -0
- package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +20 -0
- package/skills/w/commands/README.md +116 -0
- package/skills/w/commands/export-diagrams.md +35 -0
- package/skills/w/commands/export-manuals.md +35 -0
- package/skills/w/commands/export-reports.md +35 -0
- package/skills/w/commands/export-scripts.md +35 -0
- package/skills/w/commands/plan-exec.md +46 -0
- package/skills/w/commands/plan-new.md +44 -0
- package/skills/w/commands/quick.md +39 -0
- package/skills/w/commands/spec-new.md +63 -0
- package/skills/w/commands/spec-refine.md +41 -0
- package/skills/w/commands/workspace-init.md +39 -0
- package/skills/w/exports/README.md +88 -0
- package/skills/w/exports/export-diagrams/SKILL.md +125 -0
- package/skills/w/exports/export-manuals/SKILL.md +127 -0
- package/skills/w/exports/export-reports/SKILL.md +115 -0
- package/skills/w/exports/export-scripts/SKILL.md +135 -0
- package/skills/w/hooks/README.md +15 -0
- package/skills/{agent-workflow → w}/hooks/hooks.template.json +2 -2
- package/skills/w/loops/README.md +118 -0
- package/skills/w/loops/plan-exec-loop/SKILL.md +161 -0
- package/skills/w/loops/plan-new-loop/SKILL.md +97 -0
- package/skills/w/loops/quick-loop/SKILL.md +102 -0
- package/skills/w/loops/spec-refine-loop/SKILL.md +222 -0
- package/skills/w/roles/README.md +154 -0
- package/skills/w/roles/coding-standards/SKILL.md +82 -0
- package/skills/w/roles/diagrams/SKILL.md +248 -0
- package/skills/w/roles/git/SKILL.md +98 -0
- package/skills/w/roles/research/SKILL.md +181 -0
- package/skills/w/roles/sql/SKILL.md +137 -0
- package/skills/w/roles/testing/SKILL.md +180 -0
- package/skills/w/roles/tools/SKILL.md +148 -0
- package/skills/w/roles/ui-spec/SKILL.md +136 -0
- package/skills/w/roles/writing/SKILL.md +90 -0
- package/skills/agent-workflow/LICENSE +0 -661
- package/skills/agent-workflow/MANUAL-FUNCIONAL.md +0 -298
- package/skills/agent-workflow/MANUAL-TECNICO.md +0 -271
- package/skills/agent-workflow/README.md +0 -74
- package/skills/agent-workflow/SKILL.md +0 -112
- package/skills/agent-workflow/commands/README.md +0 -26
- package/skills/agent-workflow/commands/compact.md +0 -24
- package/skills/agent-workflow/commands/doctor.md +0 -100
- package/skills/agent-workflow/commands/export-arq.md +0 -77
- package/skills/agent-workflow/commands/export-conclusions.md +0 -78
- package/skills/agent-workflow/commands/export-plan.md +0 -74
- package/skills/agent-workflow/commands/export-qa-note.md +0 -30
- package/skills/agent-workflow/commands/export-report.md +0 -78
- package/skills/agent-workflow/commands/export-requirement.md +0 -30
- package/skills/agent-workflow/commands/export-scripts.md +0 -82
- package/skills/agent-workflow/commands/export-tech-manuals.md +0 -75
- package/skills/agent-workflow/commands/export-tech-note.md +0 -30
- package/skills/agent-workflow/commands/hub-init.md +0 -58
- package/skills/agent-workflow/commands/migrate.md +0 -56
- package/skills/agent-workflow/commands/patch.md +0 -49
- package/skills/agent-workflow/commands/project-init.md +0 -60
- package/skills/agent-workflow/commands/resume.md +0 -22
- package/skills/agent-workflow/commands/rules.md +0 -41
- package/skills/agent-workflow/commands/session.md +0 -35
- package/skills/agent-workflow/docs/TEST-PLAN.md +0 -163
- package/skills/agent-workflow/doctrine/README.md +0 -15
- package/skills/agent-workflow/doctrine/compact/SKILL.md +0 -145
- package/skills/agent-workflow/doctrine/doctor/SKILL.md +0 -86
- package/skills/agent-workflow/doctrine/hub-init/SKILL.md +0 -77
- package/skills/agent-workflow/doctrine/hub-init/references/multiroot-manual.md +0 -51
- package/skills/agent-workflow/doctrine/implement/SKILL.md +0 -290
- package/skills/agent-workflow/doctrine/implement/references/branch-verification.md +0 -16
- package/skills/agent-workflow/doctrine/implement/references/design-md-template.md +0 -108
- package/skills/agent-workflow/doctrine/implement/references/rollback-guide.md +0 -83
- package/skills/agent-workflow/doctrine/migrate/SKILL.md +0 -281
- package/skills/agent-workflow/doctrine/project-init/SKILL.md +0 -100
- package/skills/agent-workflow/doctrine/refactor/SKILL.md +0 -208
- package/skills/agent-workflow/doctrine/refactor/references/refactor-md-template.md +0 -108
- package/skills/agent-workflow/doctrine/refactor/references/strangler-checklist.md +0 -116
- package/skills/agent-workflow/doctrine/resume/SKILL.md +0 -199
- package/skills/agent-workflow/doctrine/rules/SKILL.md +0 -250
- package/skills/agent-workflow/doctrine/session/SKILL.md +0 -471
- package/skills/agent-workflow/doctrine/session/references/auto-plan-rules.md +0 -63
- package/skills/agent-workflow/doctrine/session/references/backlog-template.md +0 -95
- package/skills/agent-workflow/doctrine/session/references/branch-verification.md +0 -198
- package/skills/agent-workflow/doctrine/session/references/commits-policy.md +0 -111
- package/skills/agent-workflow/doctrine/session/references/communication-style.md +0 -50
- package/skills/agent-workflow/doctrine/session/references/graduacion-routing.md +0 -88
- package/skills/agent-workflow/doctrine/session/references/lifecycle-deep.md +0 -160
- package/skills/agent-workflow/doctrine/session/references/prompts/C1-specialty-selection.md +0 -11
- package/skills/agent-workflow/doctrine/session/references/prompts/C2-cost-guard.md +0 -14
- package/skills/agent-workflow/doctrine/session/references/prompts/M1-closure-commit-prompt.md +0 -104
- package/skills/agent-workflow/doctrine/session/references/prompts/M10-next-step.md +0 -17
- package/skills/agent-workflow/doctrine/session/references/prompts/M11-context.md +0 -16
- package/skills/agent-workflow/doctrine/session/references/prompts/M13-closure-cleanup.md +0 -61
- package/skills/agent-workflow/doctrine/session/references/prompts/M2-branch-caso-A.md +0 -14
- package/skills/agent-workflow/doctrine/session/references/prompts/M3-branch-caso-C.md +0 -33
- package/skills/agent-workflow/doctrine/session/references/prompts/M4-cross-source-hard-gate.md +0 -33
- package/skills/agent-workflow/doctrine/session/references/prompts/M5-modality-analyze.md +0 -15
- package/skills/agent-workflow/doctrine/session/references/prompts/M6-phase-gate.md +0 -31
- package/skills/agent-workflow/doctrine/session/references/prompts/M7-refactor-legacy-detected.md +0 -28
- package/skills/agent-workflow/doctrine/session/references/prompts/M8-refactor-cleanup.md +0 -16
- package/skills/agent-workflow/doctrine/session/references/prompts/M9-contract-review.md +0 -39
- package/skills/agent-workflow/doctrine/session/references/prompts/S1-type-design.md +0 -15
- package/skills/agent-workflow/doctrine/session/references/prompts/S2-topic-change-detection.md +0 -14
- package/skills/agent-workflow/doctrine/session/references/prompts/S3-flow-detection.md +0 -28
- package/skills/agent-workflow/doctrine/session/references/prompts/S4-resume.md +0 -27
- package/skills/agent-workflow/doctrine/session/references/prompts/S5-post-compact.md +0 -17
- package/skills/agent-workflow/doctrine/session/references/prompts/S6-scope.md +0 -16
- package/skills/agent-workflow/doctrine/session/references/prompts/S7-design-review.md +0 -37
- package/skills/agent-workflow/doctrine/session/references/prompts-catalog.md +0 -213
- package/skills/agent-workflow/doctrine/session/references/sandbox-readonly-rules.md +0 -82
- package/skills/agent-workflow/doctrine/session/references/specialty-decision-tree.md +0 -56
- package/skills/agent-workflow/doctrine/session/references/topic-change-rules.md +0 -67
- package/skills/agent-workflow/exports/README.md +0 -15
- package/skills/agent-workflow/exports/export-arq/SKILL.md +0 -229
- package/skills/agent-workflow/exports/export-arq/references/lexico-tecnico.md +0 -94
- package/skills/agent-workflow/exports/export-arq/references/template-c4.md +0 -293
- package/skills/agent-workflow/exports/export-arq/references/template-plantuml.puml +0 -77
- package/skills/agent-workflow/exports/export-arq/references/template-structurizr.dsl +0 -72
- package/skills/agent-workflow/exports/export-arq/references/validations.md +0 -231
- package/skills/agent-workflow/exports/export-conclusions/SKILL.md +0 -169
- package/skills/agent-workflow/exports/export-conclusions/references/dedup-rules.md +0 -154
- package/skills/agent-workflow/exports/export-conclusions/references/template-conclusions.md +0 -158
- package/skills/agent-workflow/exports/export-plan/SKILL.md +0 -225
- package/skills/agent-workflow/exports/export-plan/references/state-transitions.md +0 -141
- package/skills/agent-workflow/exports/export-plan/references/template-plan.md +0 -132
- package/skills/agent-workflow/exports/export-qa-note/SKILL.md +0 -31
- package/skills/agent-workflow/exports/export-report/SKILL.md +0 -262
- package/skills/agent-workflow/exports/export-report/references/lexico.md +0 -174
- package/skills/agent-workflow/exports/export-report/references/template-a.md +0 -95
- package/skills/agent-workflow/exports/export-report/references/template-b.md +0 -221
- package/skills/agent-workflow/exports/export-report/references/template-c.md +0 -180
- package/skills/agent-workflow/exports/export-report/references/validations.md +0 -255
- package/skills/agent-workflow/exports/export-requirement/SKILL.md +0 -31
- package/skills/agent-workflow/exports/export-scripts/SKILL.md +0 -211
- package/skills/agent-workflow/exports/export-scripts/references/code-scan-recommendations.md +0 -83
- package/skills/agent-workflow/exports/export-scripts/references/deprecation-plan.md +0 -80
- package/skills/agent-workflow/exports/export-scripts/references/lexico-tecnico.md +0 -47
- package/skills/agent-workflow/exports/export-scripts/references/manifest-template.md +0 -265
- package/skills/agent-workflow/exports/export-scripts/references/readme-template.md +0 -49
- package/skills/agent-workflow/exports/export-scripts/references/theme-handling.md +0 -141
- package/skills/agent-workflow/exports/export-scripts/references/validations.md +0 -69
- package/skills/agent-workflow/exports/export-tech-manuals/SKILL.md +0 -214
- package/skills/agent-workflow/exports/export-tech-manuals/references/lexico-tecnico.md +0 -97
- package/skills/agent-workflow/exports/export-tech-manuals/references/template-index.md +0 -123
- package/skills/agent-workflow/exports/export-tech-manuals/references/template-manual.md +0 -143
- package/skills/agent-workflow/exports/export-tech-manuals/references/validations.md +0 -211
- package/skills/agent-workflow/exports/export-tech-note/SKILL.md +0 -31
- package/skills/agent-workflow/hooks/README.md +0 -15
- package/skills/agent-workflow/references/README.md +0 -12
- package/skills/agent-workflow/references/checkpoint.md +0 -59
- package/skills/agent-workflow/references/dev-only.md +0 -50
- package/skills/agent-workflow/references/doctor.md +0 -61
- package/skills/agent-workflow/references/history.md +0 -40
- package/skills/agent-workflow/references/hooks.md +0 -35
- package/skills/agent-workflow/references/legacy-anchors.md +0 -50
- package/skills/agent-workflow/references/mcp.md +0 -34
- package/skills/agent-workflow/references/objetivo-tasks.md +0 -64
- package/skills/agent-workflow/references/orchestration.md +0 -86
- package/skills/agent-workflow/references/profile-parametrization.md +0 -88
- package/skills/agent-workflow/references/self.md +0 -68
- package/skills/agent-workflow/references/session-mgmt.md +0 -109
- package/skills/agent-workflow/references/sources.md +0 -102
- package/skills/agent-workflow/specialties/README.md +0 -14
- package/skills/agent-workflow/specialties/analyze-conclude/SKILL.md +0 -181
- package/skills/agent-workflow/specialties/analyze-conclude/references/incident-classification.md +0 -61
- package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md +0 -148
- package/skills/agent-workflow/specialties/analyze-investigate/references/cost-guard.md +0 -85
- package/skills/agent-workflow/specialties/analyze-synthesize/SKILL.md +0 -127
- package/skills/agent-workflow/specialties/design-brief/SKILL.md +0 -90
- package/skills/agent-workflow/specialties/design-deliver/SKILL.md +0 -121
- package/skills/agent-workflow/specialties/design-develop/SKILL.md +0 -115
- package/skills/agent-workflow/specialties/design-discover/SKILL.md +0 -103
- package/skills/agent-workflow/standards/README.md +0 -12
- package/skills/agent-workflow/standards/coding-standards/SKILL.md +0 -102
- package/skills/agent-workflow/standards/coding-standards/references/angular-typescript.md +0 -266
- package/skills/agent-workflow/standards/coding-standards/references/database-conventions.md +0 -170
- package/skills/agent-workflow/standards/coding-standards/references/fe-be-integration.md +0 -300
- package/skills/agent-workflow/standards/coding-standards/references/frontend-structure.md +0 -182
- package/skills/agent-workflow/standards/coding-standards/references/java-spring.md +0 -244
- package/skills/agent-workflow/standards/coding-standards/references/project-structure.md +0 -197
- package/skills/agent-workflow/standards/frontend-design/SKILL.md +0 -62
- package/skills/agent-workflow/standards/frontend-design/references/feedback-toasts-patterns.md +0 -249
- package/skills/agent-workflow/standards/frontend-design/references/form-patterns.md +0 -278
- package/skills/agent-workflow/standards/frontend-design/references/list-patterns.md +0 -256
- package/skills/agent-workflow/standards/frontend-design/references/modal-patterns.md +0 -220
- package/skills/agent-workflow/standards/frontend-design/references/navigation-patterns.md +0 -224
- package/skills/agent-workflow/standards/redaccion-simple/SKILL.md +0 -128
- package/skills/agent-workflow/standards/sql-rollback-generator/SKILL.md +0 -158
- package/skills/agent-workflow/standards/sql-rollback-generator/references/irreversible-checklist.md +0 -161
- package/skills/agent-workflow/standards/sql-rollback-generator/references/release-rollback.md +0 -133
- package/skills/agent-workflow/standards/sql-rollback-generator/references/rollback-patterns.md +0 -257
- package/skills/agent-workflow/standards/sql-script-organizer/SKILL.md +0 -243
- package/skills/agent-workflow/standards/sql-script-organizer/references/bundle-readme-template.md +0 -82
- package/skills/agent-workflow/standards/sql-script-organizer/references/categorization-rules.md +0 -122
- package/skills/agent-workflow/standards/sql-script-organizer/references/consolidation-cross-session.md +0 -125
- package/skills/agent-workflow/standards/sql-script-organizer/references/scripts-sql-format.md +0 -140
- package/skills/agent-workflow/standards/testing-strategy/SKILL.md +0 -113
- package/skills/agent-workflow/standards/testing-strategy/references/test-levels.md +0 -255
- package/skills/agent-workflow/workflows/README.md +0 -12
- package/skills/agent-workflow/workflows/analyze-workflow/SKILL.md +0 -94
- package/skills/agent-workflow/workflows/design-workflow/SKILL.md +0 -79
- package/skills/agent-workflow/workflows/dev-workflow/SKILL.md +0 -172
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
# Niveles de test — Referencia completa
|
|
2
|
-
|
|
3
|
-
## Backend (Spring Boot / Java)
|
|
4
|
-
|
|
5
|
-
### Nivel a) Unitarios — Ejemplo completo
|
|
6
|
-
|
|
7
|
-
```java
|
|
8
|
-
@ExtendWith(MockitoExtension.class)
|
|
9
|
-
class NotificacionServiceTest {
|
|
10
|
-
|
|
11
|
-
@Mock
|
|
12
|
-
private EmailProvider emailProvider;
|
|
13
|
-
|
|
14
|
-
@Mock
|
|
15
|
-
private NotificacionRepository repository;
|
|
16
|
-
|
|
17
|
-
private NotificacionService service;
|
|
18
|
-
|
|
19
|
-
@BeforeEach
|
|
20
|
-
void setUp() {
|
|
21
|
-
// Constructor Injection (mismo patrón que producción)
|
|
22
|
-
service = new NotificacionService(emailProvider, repository);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@Test
|
|
26
|
-
void enviar_conEmailValido_retornaExito() {
|
|
27
|
-
// Arrange — record como DTO
|
|
28
|
-
var request = new NotificacionRequest("user@example.com", "Aprobación", "aprobacion", Map.of());
|
|
29
|
-
when(emailProvider.send(any())).thenReturn(true);
|
|
30
|
-
|
|
31
|
-
// Act
|
|
32
|
-
var resultado = service.enviar(request);
|
|
33
|
-
|
|
34
|
-
// Assert
|
|
35
|
-
assertThat(resultado).isTrue();
|
|
36
|
-
verify(emailProvider).send(any());
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@Test
|
|
40
|
-
void enviar_sinDestinatario_lanzaBadRequest() {
|
|
41
|
-
var request = new NotificacionRequest(null, "Asunto", "template", Map.of());
|
|
42
|
-
|
|
43
|
-
assertThatThrownBy(() -> service.enviar(request))
|
|
44
|
-
.isInstanceOf(BadRequestException.class)
|
|
45
|
-
.hasMessageContaining("destinatario");
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@Test
|
|
49
|
-
void enviar_proveedorFalla_registraError() {
|
|
50
|
-
var request = new NotificacionRequest("user@example.com", "Asunto", "template", Map.of());
|
|
51
|
-
when(emailProvider.send(any())).thenThrow(new RuntimeException("SMTP error"));
|
|
52
|
-
|
|
53
|
-
var resultado = service.enviar(request);
|
|
54
|
-
|
|
55
|
-
assertThat(resultado).isFalse();
|
|
56
|
-
verify(repository).guardarLog(any());
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Ejecutar con: `./mvnw test -Dtest=NotificacionServiceTest` (Windows: `mvnw.cmd test`)
|
|
62
|
-
|
|
63
|
-
### Nivel b) Unitarios + API — Ejemplo MockMvc
|
|
64
|
-
|
|
65
|
-
```java
|
|
66
|
-
@WebMvcTest(NotificacionController.class)
|
|
67
|
-
class NotificacionControllerTest {
|
|
68
|
-
|
|
69
|
-
@Autowired
|
|
70
|
-
private MockMvc mockMvc;
|
|
71
|
-
|
|
72
|
-
@MockBean
|
|
73
|
-
private NotificacionService service;
|
|
74
|
-
|
|
75
|
-
@Test
|
|
76
|
-
void enviar_conDatosValidos_retorna200() throws Exception {
|
|
77
|
-
when(service.enviar(any())).thenReturn(true);
|
|
78
|
-
|
|
79
|
-
// Request body usa record NotificacionRequest
|
|
80
|
-
mockMvc.perform(post("/api/v1/notificaciones/enviar")
|
|
81
|
-
.contentType(MediaType.APPLICATION_JSON)
|
|
82
|
-
.content("{\"destinatario\":\"user@example.com\",\"asunto\":\"Test\",\"templateId\":\"aprobacion\"}"))
|
|
83
|
-
.andExpect(status().isOk());
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
@Test
|
|
87
|
-
void enviar_sinBody_retorna400() throws Exception {
|
|
88
|
-
mockMvc.perform(post("/api/v1/notificaciones/enviar")
|
|
89
|
-
.contentType(MediaType.APPLICATION_JSON))
|
|
90
|
-
.andExpect(status().isBadRequest());
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
Ejecutar con: `./mvnw test`
|
|
96
|
-
|
|
97
|
-
### Nivel c) Completo — Ejemplo @SpringBootTest
|
|
98
|
-
|
|
99
|
-
```java
|
|
100
|
-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
|
101
|
-
@AutoConfigureMockMvc
|
|
102
|
-
@Transactional
|
|
103
|
-
class NotificacionIntegrationTest {
|
|
104
|
-
|
|
105
|
-
@Autowired
|
|
106
|
-
private MockMvc mockMvc;
|
|
107
|
-
|
|
108
|
-
@Autowired
|
|
109
|
-
private NotificacionRepository repository;
|
|
110
|
-
|
|
111
|
-
@Test
|
|
112
|
-
void flujoCompleto_enviarYRegistrar_persisteLog() throws Exception {
|
|
113
|
-
mockMvc.perform(post("/api/v1/notificaciones/enviar")
|
|
114
|
-
.contentType(MediaType.APPLICATION_JSON)
|
|
115
|
-
.content("{\"destinatario\":\"user@example.com\",\"asunto\":\"Test\"}"))
|
|
116
|
-
.andExpect(status().isOk());
|
|
117
|
-
|
|
118
|
-
var logs = repository.findByDestinatario("user@example.com");
|
|
119
|
-
assertThat(logs).isNotEmpty();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Ejecutar con: `./mvnw verify`
|
|
125
|
-
|
|
126
|
-
## Frontend (Angular)
|
|
127
|
-
|
|
128
|
-
### Nivel a) Unitarios — Service aislado
|
|
129
|
-
|
|
130
|
-
```typescript
|
|
131
|
-
describe('AuthService', () => {
|
|
132
|
-
let service: AuthService;
|
|
133
|
-
let httpMock: HttpTestingController;
|
|
134
|
-
|
|
135
|
-
beforeEach(() => {
|
|
136
|
-
TestBed.configureTestingModule({
|
|
137
|
-
imports: [HttpClientTestingModule],
|
|
138
|
-
providers: [AuthService]
|
|
139
|
-
});
|
|
140
|
-
service = TestBed.inject(AuthService);
|
|
141
|
-
httpMock = TestBed.inject(HttpTestingController);
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
afterEach(() => httpMock.verify());
|
|
145
|
-
|
|
146
|
-
it('should return token on login', () => {
|
|
147
|
-
service.login('admin', 'pass').subscribe(res => {
|
|
148
|
-
expect(res.token).toBeTruthy();
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
const req = httpMock.expectOne('/api/auth/login');
|
|
152
|
-
req.flush({ token: 'abc123' });
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
it('should handle login error', () => {
|
|
156
|
-
service.login('bad', 'creds').subscribe({
|
|
157
|
-
error: err => expect(err.status).toBe(401)
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
const req = httpMock.expectOne('/api/auth/login');
|
|
161
|
-
req.flush('Unauthorized', { status: 401, statusText: 'Unauthorized' });
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
Ejecutar con: `ng test --watch=false`
|
|
167
|
-
|
|
168
|
-
### Nivel b) Unitarios + Componentes — TestBed
|
|
169
|
-
|
|
170
|
-
```typescript
|
|
171
|
-
describe('FiltrosComponent', () => {
|
|
172
|
-
let component: FiltrosComponent;
|
|
173
|
-
let fixture: ComponentFixture<FiltrosComponent>;
|
|
174
|
-
|
|
175
|
-
beforeEach(async () => {
|
|
176
|
-
await TestBed.configureTestingModule({
|
|
177
|
-
imports: [FiltrosComponent, NoopAnimationsModule]
|
|
178
|
-
}).compileComponents();
|
|
179
|
-
fixture = TestBed.createComponent(FiltrosComponent);
|
|
180
|
-
component = fixture.componentInstance;
|
|
181
|
-
fixture.detectChanges();
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
it('should create', () => {
|
|
185
|
-
expect(component).toBeTruthy();
|
|
186
|
-
});
|
|
187
|
-
|
|
188
|
-
it('should render date inputs', () => {
|
|
189
|
-
const compiled = fixture.nativeElement;
|
|
190
|
-
expect(compiled.querySelector('input[type="date"]')).toBeTruthy();
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
it('should emit on filter apply', () => {
|
|
194
|
-
spyOn(component.filtroChanged, 'emit');
|
|
195
|
-
component.filtroForm.patchValue({ estado: 'ACTIVO' });
|
|
196
|
-
component.aplicarFiltro();
|
|
197
|
-
expect(component.filtroChanged.emit).toHaveBeenCalledWith(
|
|
198
|
-
jasmine.objectContaining({ estado: 'ACTIVO' })
|
|
199
|
-
);
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
## TestBuilder — Patrón (Java)
|
|
205
|
-
|
|
206
|
-
```java
|
|
207
|
-
public class NotificacionTestBuilder {
|
|
208
|
-
private Long id = 1L;
|
|
209
|
-
private String destinatario = "test@example.com";
|
|
210
|
-
private String asunto = "Test";
|
|
211
|
-
private String estado = "PENDIENTE";
|
|
212
|
-
private LocalDateTime fechaCreacion = LocalDateTime.now();
|
|
213
|
-
|
|
214
|
-
public static NotificacionTestBuilder builder() {
|
|
215
|
-
return new NotificacionTestBuilder();
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
public NotificacionTestBuilder destinatario(String val) {
|
|
219
|
-
this.destinatario = val;
|
|
220
|
-
return this;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
public NotificacionTestBuilder estado(String val) {
|
|
224
|
-
this.estado = val;
|
|
225
|
-
return this;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
public Notificacion build() {
|
|
229
|
-
var entity = new Notificacion();
|
|
230
|
-
entity.setId(id);
|
|
231
|
-
entity.setDestinatario(destinatario);
|
|
232
|
-
entity.setAsunto(asunto);
|
|
233
|
-
entity.setEstado(estado);
|
|
234
|
-
entity.setFechaCreacion(fechaCreacion);
|
|
235
|
-
return entity;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
## Resumen de comandos por stack
|
|
241
|
-
|
|
242
|
-
### Spring Boot (Maven wrapper)
|
|
243
|
-
- Nivel a: `./mvnw test -Dtest=ClaseTest`
|
|
244
|
-
- Nivel b: `./mvnw test`
|
|
245
|
-
- Nivel c: `./mvnw verify`
|
|
246
|
-
- Windows: usar `mvnw.cmd` en lugar de `./mvnw`
|
|
247
|
-
|
|
248
|
-
### Angular
|
|
249
|
-
- Nivel a/b: `ng test --watch=false`
|
|
250
|
-
- Nivel c: `npm run e2e` (si configurado)
|
|
251
|
-
|
|
252
|
-
### Gradle
|
|
253
|
-
- Nivel a: `./gradlew test --tests ClaseTest`
|
|
254
|
-
- Nivel b: `./gradlew test`
|
|
255
|
-
- Nivel c: `./gradlew integrationTest` (o `check`)
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# workflows/
|
|
2
|
-
|
|
3
|
-
Flows del lifecycle: cómo se mueve una sesión por sus fases.
|
|
4
|
-
|
|
5
|
-
Contenido esperado (T2 PR2):
|
|
6
|
-
|
|
7
|
-
- `dev-workflow.md` — planning → execution → validation → closure; M1 ask antes de commit; gates por fase.
|
|
8
|
-
- `design-workflow.md` — discovery → design → spec → closure; produce DELIVERY.md graduable.
|
|
9
|
-
- `analyze-workflow.md` — discovery → evidence → findings → conclusions; produce CONCLUSIONS.md.
|
|
10
|
-
- `core-workflow.md` — sub-flow agnóstico embebido en los 3 anteriores (artefactos comunes).
|
|
11
|
-
|
|
12
|
-
Cada workflow declara: phases, artefactos requeridos, prompts (M1/M10/S2/S3/S6/S7) y transitions válidas.
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyze-workflow
|
|
3
|
-
description: Workflow especializado analyze (especialidad investigación read-only), antes en qtc-analyze. Consumido por /agent-workflow:session cuando flow=analyze para orquestar el lifecycle universal con composición analyze-específica según modalidad.
|
|
4
|
-
version: 2.2.0
|
|
5
|
-
flow: analyze
|
|
6
|
-
workflow_schema: 1.0
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Analyze Workflow
|
|
10
|
-
|
|
11
|
-
Workflow declarativo del flow=analyze. Define dos modos:
|
|
12
|
-
|
|
13
|
-
- **Standalone** (`/agent-workflow:use`): investigación puntual sin sesión.
|
|
14
|
-
- **Orchestrated** (consumido por `/agent-workflow:session` con flow=analyze): orquesta investigación + síntesis + recomendación según modalidad.
|
|
15
|
-
|
|
16
|
-
## Brief
|
|
17
|
-
|
|
18
|
-
**flow=analyze** es la especialidad de investigación **read-only** del plugin qtc. No edita código ni muta BD. Produce `CONCLUSIONS.md` consumible por flow=dev vía handoff.
|
|
19
|
-
|
|
20
|
-
**Política de commits**: ver `agent-workflow:commits-policy` (canónico). El flow=analyze es read-only por construcción; cuando el usuario solicita un commit (típicamente al cierre, pero puede ser en otra fase si edita artefactos), aplica Regla 3 propose-then-execute universal con M1.
|
|
21
|
-
|
|
22
|
-
**Política sin fallback al CLI (transversal al flow=analyze)**: si `agent-workflow <subcmd>` falla (no está en PATH, comando no reconocido, exit code != 0), **cortá la acción y reportá al usuario**: pedile que verifique `npm install -g @tacuchi/agent-workflow-cli`. No hay flujo alternativo Python.
|
|
23
|
-
|
|
24
|
-
### Rama base (canon v3.5+)
|
|
25
|
-
|
|
26
|
-
Las sesiones `flow=analyze` resuelven la rama esperada de cada fuente como `main_branch` (default `certificacion`) cuando NO se declaran branches en la sesión. Razón: el análisis necesita reflejar producción, no una rama de feature.
|
|
27
|
-
|
|
28
|
-
- Si el repo de la fuente está en otra rama, el lifecycle dispara el flujo proactivo de verificación (Caso A o B según `dirty`) y bloquea avance hasta resolver.
|
|
29
|
-
- Si durante la investigación el usuario decide **editar** código, se aplica **Caso C** (`agent-workflow/skills/session/references/branch-verification.md`): preguntar nombre de la rama de trabajo, ofrecer `checkout` (existe) o `checkout -b` desde `main_branch` (no existe), y registrar en AW-PROJECT.Status. El skill `analyze-workflow` no edita por sí mismo; la decisión de editar implica un handoff o cambio de flow.
|
|
30
|
-
- Override explícito al crear la sesión: `--branches alias:rama` declarado gana sobre el default `main_branch`. Útil cuando se quiere analizar contra una rama puntual (ej. una feature en validación).
|
|
31
|
-
|
|
32
|
-
Skills disponibles:
|
|
33
|
-
- **analyze-synthesize**: estructura información en plan/hallazgos (exportada cross-flow, **clave** invocada por agent-workflow:session en planning).
|
|
34
|
-
- **analyze-investigate**: recolección de evidencia divergente con cost guard (exportada).
|
|
35
|
-
- **analyze-conclude**: cierre del análisis con `CONCLUSIONS.md` modulado por `## Modality` (technical/incident/data). Una sola skill, una sola estructura.
|
|
36
|
-
|
|
37
|
-
Diferencia clave de **modalidad** (embebida como `## Modality` en CONCLUSIONS.md):
|
|
38
|
-
- `technical` (legacy: `tecnica`): pregunta arquitectónica/diseño → cuerpo modulado como propuesta (opciones consideradas + decisión recomendada). **Solo cuando hay una decisión genuina que el stakeholder planteó**; si el scope es claro sobre un stack maduro, una recomendación acotada basta (ver "Moderación" abajo).
|
|
39
|
-
- `data` (legacy: `datos`): análisis cuantitativo → cuerpo modulado como informe (hallazgos numéricos + interpretación + acciones sugeridas).
|
|
40
|
-
- `incident` (legacy: `incidente`): post-mortem retrospectivo → cuerpo modulado con timeline + causa raíz + impacto + acciones preventivas.
|
|
41
|
-
|
|
42
|
-
CONCLUSIONS.md vive en la sesión por default. Gradúa opt-in con `kind=conclusion` a `docs/conclusiones/`.
|
|
43
|
-
|
|
44
|
-
## Moderación — anti sobre-análisis (hub maduro / requerimiento simple)
|
|
45
|
-
|
|
46
|
-
Regla transversal del flow=analyze, crítica en `modality=technical` sobre hubs con stack ya provisionado (GCP, colas, motores de decisión, generación/envío de documentos, auth). Un análisis de calidad **no** equivale a un documento extenso: equivale a uno **proporcional al scope que el stakeholder pidió**. El output debe escalar con el requerimiento, no con la madurez del hub.
|
|
47
|
-
|
|
48
|
-
- **No inventes decisiones ni riesgos**. Antes de listar una "decisión a tomar" o un "riesgo cross-repo", validá contra `OBJECTIVE.question` literal y el material adjunto. Si el stakeholder no lo planteó y no bloquea el dev, **omitilo**. Detalle operativo en `analyze-conclude` (modality=technical → "Moderación primero").
|
|
49
|
-
- **Hub maduro ≠ greenfield**. Si la infraestructura ya existe en el repo, asumila disponible y describí cómo el dev **compone** sobre lo existente. No re-decidas piezas ya provistas como si arrancaran de cero.
|
|
50
|
-
- **Agencia ≠ completitud**. Cuando el usuario delega ("según lo veas conveniente"), eso habilita pasar **directo** a una sesión dev si el scope es claro — no obliga a producir un análisis robusto. La opción más liviana que cubre el requerimiento gana.
|
|
51
|
-
- **Máximo 1 sesión dev derivada** por default. Proponé varias solo si el stakeholder lo pidió explícitamente o hay una dependencia técnica dura que las separa (declarala).
|
|
52
|
-
- **Artefactos canónicos únicos**: el flow=analyze produce `EVIDENCE.md` → `FINDINGS.md` → `CONCLUSIONS.md` (+ `queries/` si aplica). Los mapeos por-repo (despacho de subagentes en hub mode) son **evidencia** y viven como tal. No eleves un `CONSOLIDADO.md`/`MAPEO-*.md` inventado al rango de artefacto canónico ni dupliques en él lo que ya va en FINDINGS/CONCLUSIONS. La consolidación cross-repo vive en `FINDINGS.md` (Patterns) y cierra en una `CONCLUSIONS.md` acotada (≤1 página si el scope es simple).
|
|
53
|
-
|
|
54
|
-
## Standalone (use) — DEPRECADO (session096)
|
|
55
|
-
|
|
56
|
-
> `/agent-workflow:use` nunca se materializó como comando. Para investigación read-only con trazabilidad usá `/agent-workflow:session --flow analyze`. El micro-lifecycle `/agent-workflow:patch` es para tareas dev con cambio (no aplica a investigación). Esta sección queda como histórico read-only; no describe un comando activo.
|
|
57
|
-
|
|
58
|
-
## Session integration
|
|
59
|
-
|
|
60
|
-
Cuando agent-workflow:session consume este workflow durante `/agent-workflow:session create` con flow=analyze:
|
|
61
|
-
|
|
62
|
-
### Args al crear sesión
|
|
63
|
-
|
|
64
|
-
- modality: technical|data|incident (obligatorio; determina graduación + template). Legacy ES `tecnica|datos|incidente` se acepta y normaliza.
|
|
65
|
-
|
|
66
|
-
### Artefactos por fase
|
|
67
|
-
|
|
68
|
-
- planning: OBJECTIVE.md, TASKS.md
|
|
69
|
-
- execution: EVIDENCE.md, FINDINGS.md, queries/, CONCLUSIONS.md
|
|
70
|
-
- validation: review de CONCLUSIONS
|
|
71
|
-
- closure: opt-in graduación de CONCLUSIONS.md a `docs/conclusiones/` (default: queda en sesión)
|
|
72
|
-
|
|
73
|
-
### Skills por fase
|
|
74
|
-
|
|
75
|
-
- planning: analyze-synthesize (estructurar plan)
|
|
76
|
-
- execution: analyze-investigate (recolectar evidencia), analyze-synthesize (sintetizar findings)
|
|
77
|
-
- closure: analyze-conclude (produce CONCLUSIONS.md modulado por modalidad)
|
|
78
|
-
|
|
79
|
-
### Refs HISTORY
|
|
80
|
-
|
|
81
|
-
- conclusion: docs/conclusiones/{val}.md (cuando se gradúa opt-in)
|
|
82
|
-
|
|
83
|
-
### Conteos resume
|
|
84
|
-
|
|
85
|
-
- evidence: EVIDENCE.md presente
|
|
86
|
-
- findings: FINDINGS.md presente
|
|
87
|
-
- conclusions: CONCLUSIONS.md presente
|
|
88
|
-
- queries: queries/*.sql count
|
|
89
|
-
|
|
90
|
-
## Sandbox read-only
|
|
91
|
-
|
|
92
|
-
Standalone: en plan mode describir modalidad, scope, paths sugeridos. No ejecutar queries ni leer BD.
|
|
93
|
-
|
|
94
|
-
Orchestrated: ver `agent-workflow:session` plan mode rules.
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: design-workflow
|
|
3
|
-
description: Workflow especializado design (especialidad UX/UI spec-only), antes en qtc-design. Consumido por /agent-workflow:session cuando flow=design para orquestar el lifecycle universal con composición design-específica (Double Diamond → 4 fases v4.0).
|
|
4
|
-
version: 2.2.0
|
|
5
|
-
flow: design
|
|
6
|
-
workflow_schema: 1.0
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Design Workflow
|
|
10
|
-
|
|
11
|
-
Workflow declarativo del flow=design. Define dos modos:
|
|
12
|
-
|
|
13
|
-
- **Standalone** (`/agent-workflow:use`): produce specs UI puntuales sin sesión.
|
|
14
|
-
- **Orchestrated** (consumido por `/agent-workflow:session` con flow=design): orquesta Double Diamond → 4 fases v4.0.
|
|
15
|
-
|
|
16
|
-
## Brief
|
|
17
|
-
|
|
18
|
-
**flow=design** es la especialidad UX/UI **spec-only** del plugin qtc. No edita código de framework; produce specs (`DELIVERY.md`) consumibles por flow=dev vía handoff.
|
|
19
|
-
|
|
20
|
-
**Política de commits**: ver `agent-workflow:commits-policy` (canónico). Cualquier commit que el usuario solicite — closure auto-disparado o solicitud explícita — pasa por el flujo M1 propose-then-execute (Regla 3 universal).
|
|
21
|
-
|
|
22
|
-
**Política sin fallback al CLI (transversal al flow=design)**: si `agent-workflow <subcmd>` falla (no está en PATH, comando no reconocido, exit code != 0), **cortá la acción y reportá al usuario**: pedile que verifique `npm install -g @tacuchi/agent-workflow-cli`. No hay flujo alternativo Python.
|
|
23
|
-
|
|
24
|
-
Skills disponibles:
|
|
25
|
-
- **design-brief**: captura contexto y restricciones del diseño.
|
|
26
|
-
- **design-discover**: exploración visual + research.
|
|
27
|
-
- **design-develop**: iteración de propuestas.
|
|
28
|
-
- **design-deliver**: spec final DELIVERY.md (type: project | system).
|
|
29
|
-
- **frontend-design**: patterns UX agnósticos (single-slot, máster-slave, validación inline) — exportada cross-flow.
|
|
30
|
-
|
|
31
|
-
Diferencia clave de **type** (metadato interno del documento — la carpeta destino NO depende del type):
|
|
32
|
-
- `project` (legacy: `proyecto`): pantalla/feature concreta. Spec DELIVERY.md describe la pantalla.
|
|
33
|
-
- `system` (legacy: `sistema`): tokens, componentes, design system. Spec DELIVERY.md describe los CAMBIOS al DS (delta + migration).
|
|
34
|
-
|
|
35
|
-
**Ambos types gradúan a `docs/especificaciones/NNN-<slug>/`** (kind=`especificacion`, modelo nuevo DEC-003). El `## Type` queda como metadato dentro del archivo, no afecta el routing.
|
|
36
|
-
|
|
37
|
-
## Standalone (use) — DEPRECADO (session096)
|
|
38
|
-
|
|
39
|
-
> `/agent-workflow:use` nunca se materializó como comando. Para diseño con trazabilidad usá `/agent-workflow:session --flow design`. El micro-lifecycle `/agent-workflow:patch` es para tareas dev con cambio (no aplica a diseño). Esta sección queda como histórico read-only; no describe un comando activo.
|
|
40
|
-
|
|
41
|
-
## Session integration
|
|
42
|
-
|
|
43
|
-
Cuando agent-workflow:session consume este workflow durante `/agent-workflow:session create` con flow=design:
|
|
44
|
-
|
|
45
|
-
### Args al crear sesión
|
|
46
|
-
|
|
47
|
-
- type: project|system (obligatorio; queda como metadato `## Type` interno del documento; **no** determina graduación — todo va a `docs/especificaciones/`). Legacy ES `proyecto|sistema` aceptado.
|
|
48
|
-
|
|
49
|
-
### Artefactos por fase
|
|
50
|
-
|
|
51
|
-
- planning: OBJECTIVE.md, BRIEF.md, TASKS.md
|
|
52
|
-
- execution: DISCOVERY.md, PROBLEM.md, IDEAS.md, DELIVERY.md, opcional lectura de `<workspace-root>/docs/referencias/` (carpeta transversal, material del usuario)
|
|
53
|
-
- validation: feedback en TASKS, marcado de criterios
|
|
54
|
-
- closure: graduación a `docs/especificaciones/` (kind=`especificacion`)
|
|
55
|
-
|
|
56
|
-
### Skills por fase
|
|
57
|
-
|
|
58
|
-
- planning: design-brief, analyze-synthesize (cross-flow, sugerir)
|
|
59
|
-
- execution: design-discover, design-develop, design-deliver, frontend-design
|
|
60
|
-
- validation: design-deliver (review final)
|
|
61
|
-
- closure: graduate `--kind especificacion` (a `docs/especificaciones/NNN-<slug>/`)
|
|
62
|
-
|
|
63
|
-
### Refs HISTORY
|
|
64
|
-
|
|
65
|
-
- especificacion: docs/especificaciones/{val}/
|
|
66
|
-
|
|
67
|
-
### Conteos resume
|
|
68
|
-
|
|
69
|
-
- discovery: DISCOVERY.md presente
|
|
70
|
-
- problem: PROBLEM.md presente
|
|
71
|
-
- ideas: IDEAS.md presente
|
|
72
|
-
- delivery: DELIVERY.md presente
|
|
73
|
-
- referencias: docs/referencias/ count (carpeta transversal manual del usuario, lazy — DEC-004 v2)
|
|
74
|
-
|
|
75
|
-
## Sandbox read-only
|
|
76
|
-
|
|
77
|
-
Standalone: en plan mode describir qué type se elegiría, qué artefactos se sugieren, qué paths. No escribir.
|
|
78
|
-
|
|
79
|
-
Orchestrated: ver `agent-workflow:session` plan mode rules.
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dev-workflow
|
|
3
|
-
description: "Workflow especializado dev (especialidad construcción de código), antes en qtc-dev. Consumido por /agent-workflow:session cuando flow=dev para orquestar el lifecycle universal con composición dev-específica. v2.7+ adopta modelo phased extendido (Phase 0-5 = Mapeo+Contrato → Lecturas → Escritura → Validaciones → Seguridad placeholder → Optimizaciones opt-in) y bugfix doctrina con superpowers:systematic-debugging."
|
|
4
|
-
version: 2.2.1
|
|
5
|
-
flow: dev
|
|
6
|
-
workflow_schema: 1.0
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Dev Workflow
|
|
10
|
-
|
|
11
|
-
Workflow declarativo del flow=dev. Define cómo se comporta la especialidad en dos modos:
|
|
12
|
-
|
|
13
|
-
- **Standalone** (`/agent-workflow:use`): activa la especialidad sin sesión, en cualquier workspace.
|
|
14
|
-
- **Orchestrated** (consumido por `/agent-workflow:session` cuando flow=dev): describe args, artefactos, skills y graduación que agent-workflow:session orquesta.
|
|
15
|
-
|
|
16
|
-
## Brief
|
|
17
|
-
|
|
18
|
-
**flow=dev** es la especialidad de construcción de código del plugin qtc. Aplica:
|
|
19
|
-
|
|
20
|
-
- **coding-standards**: fail-fast, logging por nivel apropiado, naming descriptivo, parametrización SQL, no exposición de secrets, reglas FE-BE (Sparse DTO + PATCH + sin fallbacks ocultos).
|
|
21
|
-
- **implement**: loop de tareas con flat mode o phased mode v2.7+ (Phase 0 Mapeo+Contrato con routing → Phase 1 Lecturas → Phase 2 Escritura → Phase 3 Validaciones → Phase 4 Seguridad placeholder → Phase 5 Optimizaciones opt-in; gate M6 entre phases). v2.8+ retira M9; el design review se materializa via DESIGN.md + S7 disparado desde `skills/session/SKILL.md` durante planning closure, antes de Phase 0. Bugfix doctrina v2.7+ compone con `superpowers:systematic-debugging` + test de regresión.
|
|
22
|
-
- **refactor**: análisis legacy + Strangler Fig (rename `<feature>-legacy/` + rebuild paralelo en Phase 0-5 + cleanup) cuando `## Type: refactor` (alias legacy `## Tipo`).
|
|
23
|
-
- **sql-script-organizer**: categoriza scripts SQL (DDL / migración / inserts) y aplica estilo del proyecto.
|
|
24
|
-
- **sql-rollback-generator**: pares forward/rollback para migraciones reversibles.
|
|
25
|
-
- **testing-strategy**: define alcance y tipo de tests según el cambio.
|
|
26
|
-
- **frontend-design**: patterns UX agnósticos (single-slot, máster-slave, validación inline).
|
|
27
|
-
- **release / release-scripts**: consolidación de cambios + bundle SQL para release (excepciones session-aware — ver §"Excepciones session-aware").
|
|
28
|
-
|
|
29
|
-
**Política BD (transversal al flow=dev)**: las mutaciones a BD se materializan exclusivamente como scripts SQL versionados bajo `docs/scripts/` del workspace de la fuente. **flow=dev nunca ejecuta DML/DDL** contra `<mcp-cert>`/`<mcp-prod>` ni ningún otro destino — el usuario es quien aplica los scripts manualmente y confirma. Aplica a todas las skills del flow (`implement`, `sql-script-organizer`, `sql-rollback-generator`, `release`, `release-scripts`).
|
|
30
|
-
|
|
31
|
-
**Política de commits**: ver `agent-workflow:commits-policy` (canónico). Cualquier commit que el usuario solicite — durante execution, en closure auto, o sin sesión activa — pasa por el flujo M1 propose-then-execute con `AskUserQuestion` (Regla 3 universal). Bypass por mensaje literal vía Regla 5.
|
|
32
|
-
|
|
33
|
-
**Política sin fallback al CLI (transversal al flow=dev)**: si `agent-workflow <subcmd>` falla (no está en PATH, comando no reconocido, exit code != 0), **cortá la acción y reportá al usuario**: pedile que verifique `npm install -g @tacuchi/agent-workflow-cli`. No hay flujo alternativo Python.
|
|
34
|
-
|
|
35
|
-
## Standalone (use) — DEPRECADO (session096)
|
|
36
|
-
|
|
37
|
-
> `/agent-workflow:use` nunca se materializó como comando (no está en los commands canónicos ni en el marketplace). Para una tarea dev pequeña con trazabilidad mínima usá **`/agent-workflow:patch`** (micro-lifecycle, modo `--lite` de flow=dev — ver `session/SKILL.md` §"Modo lite (/patch)"). Para trabajo largo, `/agent-workflow:session`. Esta sección queda como histórico read-only; no describe un comando activo.
|
|
38
|
-
|
|
39
|
-
## Excepciones session-aware (v2.1+)
|
|
40
|
-
|
|
41
|
-
En flow=dev v2.0+ la regla general es "comandos standalone vía /agent-workflow:use". Las **únicas excepciones** son:
|
|
42
|
-
|
|
43
|
-
- `/agent-workflow:release` — consolida N sesiones cerradas en un paquete de paso a producción (informe + bundle SQL + escaneo + acciones manuales). Renombrado desde `release-report` en v2.1.0.
|
|
44
|
-
- `/agent-workflow:release-scripts` — vista alternativa por tema del bundle SQL del release.
|
|
45
|
-
|
|
46
|
-
Estos NO crean ni modifican sesiones (siguen siendo read-only del lifecycle), pero **dependen de su existencia**. Si el workspace no tiene sesiones, abortan con mensaje sugiriendo `/agent-workflow:session create` primero.
|
|
47
|
-
|
|
48
|
-
Ambos consumen el CLI `agent-workflow` (no leen paths hardcodeados):
|
|
49
|
-
- `agent-workflow release-data [--since sessionNNN] [--source alias] [--include-graduated]`
|
|
50
|
-
- `agent-workflow session-artifacts --code <NNN>` — lee OBJECTIVE/TASKS/DECISIONS de una sesión (con fallback bilingual a OBJETIVO/TASKS/DECISIONES legacy).
|
|
51
|
-
- Resolución hub-aware de `docs/<source>/` y `release/<source>/` la maneja el CLI internamente.
|
|
52
|
-
|
|
53
|
-
**Formato requerido**: solo sesiones v0.9+ (OBJECTIVE.md / OBJETIVO.md legacy ES). Sesiones legacy con REQUIREMENTS.md deben migrarse con `/agent-workflow:migrate --upgrade-topology` antes de usar release.
|
|
54
|
-
|
|
55
|
-
## Session integration
|
|
56
|
-
|
|
57
|
-
Cuando agent-workflow:session consume este workflow durante `/agent-workflow:session create` con flow=dev:
|
|
58
|
-
|
|
59
|
-
### Args al crear sesión
|
|
60
|
-
|
|
61
|
-
(ninguno extra para dev — solo los comunes: `--name`, `--objetivo`, `--branches`, `--from`)
|
|
62
|
-
|
|
63
|
-
### Convención `## Type` en OBJECTIVE.md — alias legacy `## Tipo` (v2.8+)
|
|
64
|
-
|
|
65
|
-
Toda sesión `flow=dev` declara `## Type` justo después del título (o después de `## Origin` si existe). Determina si la sesión sigue el flujo **phased** y si activa el skill `refactor`. Los **valores** son slugs `feature|refactor|bugfix|chore` (EN, no requieren traducción).
|
|
66
|
-
|
|
67
|
-
**Rename v2.8+**: el header canónico es `## Type` (EN, alineado con i18n scope memory `feedback_i18n_scope_runtime_only` y harmonizado con `flow=design` que ya usa `## Type` para S1). `## Tipo` queda como alias legacy ES read-only — el parser bilingüe `parseTypeFromObjetivo()` en `agent-workflow-cli` acepta ambas formas y normaliza a EN. Sesiones cerradas con `## Tipo` legacy siguen siendo legibles sin migración forzada.
|
|
68
|
-
|
|
69
|
-
| Type | Phased? | Skill `refactor` activo? | Artefactos extra | Ejemplo de Brief |
|
|
70
|
-
|---|---|---|---|---|
|
|
71
|
-
| `feature` | sí (default-on) | no | DESIGN.md + S7 gate | "agregar mantenimiento de categorías con CRUD" |
|
|
72
|
-
| `refactor` | sí (default-on) | sí | DESIGN.md + S7 gate; REFACTOR.md (vive en sesión; **no se gradúa con kind dedicado** — DEC-003) | "rebuild de mantenimiento de categorías al estándar nuevo" |
|
|
73
|
-
| `bugfix` | no | no | — (no DESIGN.md, no S7) | "fix de validación en formulario de usuarios" |
|
|
74
|
-
| `chore` | no | no | — (no DESIGN.md, no S7) | "bump de dependencias, limpieza de imports" |
|
|
75
|
-
|
|
76
|
-
### Resolución del `## Type` — defensa en profundidad (v2.8+)
|
|
77
|
-
|
|
78
|
-
Tres capas garantizan que `## Type` nunca esté ausente:
|
|
79
|
-
|
|
80
|
-
**Capa 1 — CLI template (Mit-A)**: `agent-workflow session-create --flow dev` inyecta `## Type: <valor>` en el OBJECTIVE.md template materializado. Posición canónica: línea 3 si no hay `## Origin`, después de `## Origin` si existe.
|
|
81
|
-
|
|
82
|
-
**Capa 2 — Heurística (Mit-C)**: el CLI analiza `--objetivo` con tabla de keywords y elige tipo + confianza. Flag `--type <valor>` opcional para override explícito.
|
|
83
|
-
|
|
84
|
-
- Brief contiene `refactor`/`rebuild`/`migrar`/`mover a nuevo`/`reescribir`/`legacy` → `refactor` (alta confianza).
|
|
85
|
-
- Brief contiene `agregar`/`nueva pantalla`/`crear endpoint`/`nuevo módulo`/`feature de` → `feature` (alta confianza).
|
|
86
|
-
- Brief contiene `fix`/`arreglar`/`corregir`/`error en` con scope ≤1 archivo → `bugfix` (media confianza).
|
|
87
|
-
- Brief contiene `bump`/`actualizar dependencia`/`limpiar imports`/`formato`/`tipos` → `chore` (alta confianza).
|
|
88
|
-
- Sin match claro → `feature` (fallback). Emitir log: `[session-create] Type inferido como 'feature' por baja confianza heurística (brief no matchea keywords). Pasá --type <valor> para override.`
|
|
89
|
-
|
|
90
|
-
**Capa 3 — Default-on en lectura**: `implement` y otras skills que lean OBJECTIVE.md aplican fallback `feature` con log informativo si `## Type` está ausente (sesiones legacy, migradas, o con borrado manual). Detalles en `skills/implement/SKILL.md` §"Resolución del `## Type`".
|
|
91
|
-
|
|
92
|
-
**Promoción mid-session**: el usuario puede editar `## Type` en OBJECTIVE.md (o `## Tipo` legacy) sin re-crear la sesión. `implement` re-lee al iniciar cada loop. Si `Type` cambia de `bugfix` → `feature`, el siguiente cambio dispara comportamiento phased; tareas previas no se reescriben.
|
|
93
|
-
|
|
94
|
-
**Refs HISTORY**: el flow=dev añade tag `type:<feature|refactor|bugfix|chore>` cuando aplica para que `release` y `release-scripts` puedan filtrar. Alias legacy `tipo:` también legible.
|
|
95
|
-
|
|
96
|
-
### Flujo phased en execution (v2.7+)
|
|
97
|
-
|
|
98
|
-
Cuando `Tipo: feature|refactor`, TASKS.md se organiza en hasta 6 secciones canónicas:
|
|
99
|
-
|
|
100
|
-
```markdown
|
|
101
|
-
## Phase 0 — Mapeo + Contrato
|
|
102
|
-
- [ ] interfaces/DTOs/endpoints stub que devuelven mocks
|
|
103
|
-
- [ ] routing FE conectado a BE (FE consume mock; navegación e2e funciona)…
|
|
104
|
-
|
|
105
|
-
## Phase 1 — Lecturas
|
|
106
|
-
- [ ] consultas, combos, filtros, listados con datos reales…
|
|
107
|
-
|
|
108
|
-
## Phase 2 — Escritura
|
|
109
|
-
- [ ] create/update/delete funcionales (sin Bean Validation aún)…
|
|
110
|
-
|
|
111
|
-
## Phase 3 — Validaciones / Correcciones
|
|
112
|
-
- [ ] Bean Validation con groups, handler global 400 estructurado, reglas de negocio, cleanup smells…
|
|
113
|
-
|
|
114
|
-
## Phase 4 — Seguridad <!-- placeholder; pendiente-spec; skip silencioso si vacía -->
|
|
115
|
-
|
|
116
|
-
## Phase 5 — Optimizaciones <!-- opt-in; skip silencioso si no se declara -->
|
|
117
|
-
- [ ] EXPLAIN sobre queries, índices, async, caching…
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
`implement` lee las secciones y dispara M6 (phase-gate) entre cada par phase → phase. Phase 4 placeholder y Phase 5 opt-in se saltan silenciosamente si están vacías o no declaradas. Si TASKS.md no tiene `## Phase X — Y`, `implement` cae a flat mode (compat hacia atrás 100%). **DESIGN.md + S7 design-review** se producen y disparan ANTES de Phase 0 desde `skills/session/SKILL.md` durante planning closure (v2.8+ — reemplazo de M9 retirado).
|
|
121
|
-
|
|
122
|
-
#### Routing dentro de Phase 0
|
|
123
|
-
|
|
124
|
-
El cableado FE↔BE↔DB de Phase 0 incluye **navegación e2e con datos hardcoded**: si la feature involucra un login, en Phase 0 click "Ingresar" debe llevar al home; si home muestra una tabla, esa tabla ya consume el endpoint BE responding mock. El cableado y routing ya fueron declarados en `DESIGN.md` §"Wiring" + §"Target state" y revisados via S7 antes de Phase 0 (v2.8+) — Phase 0 implementa el spec, no lo re-define.
|
|
125
|
-
|
|
126
|
-
Sin separar Phase 0a (mocks) y Phase 0b (routing): mocks sin routing son inútiles porque no se prueban e2e; routing sin mocks no funciona. Van juntos en Phase 0 como sub-checklist.
|
|
127
|
-
|
|
128
|
-
**Reglas FE-BE aplicadas** en Phase 0 (Sparse DTO unificado + PATCH + sin fallbacks ocultos + DB stub-first): ver canónico `coding-standards/references/fe-be-integration.md` (R1-R6).
|
|
129
|
-
|
|
130
|
-
### Bugfix doctrina (flat mode v2.7+)
|
|
131
|
-
|
|
132
|
-
Cuando `## Type: bugfix` (alias legacy `## Tipo`), TASKS.md sigue flat (sin `## Phase X — Y`). Doctrina nueva en 3 pasos canónicos:
|
|
133
|
-
|
|
134
|
-
1. **Reproducir + diagnosticar**: el AI compone `superpowers:systematic-debugging` (root-cause analysis sistemático). Output: 1 DEC mínima en DECISIONS.md con causa raíz o hipótesis a validar.
|
|
135
|
-
2. **Aplicar fix mínimo**: loop flat normal, 1-3 tareas como mucho, sin gates.
|
|
136
|
-
3. **Verificación específica**: `testing-strategy` exige test de regresión que reproduce el bug original (rompe antes / pasa después).
|
|
137
|
-
|
|
138
|
-
**Skip permitido del paso 1** si el bug es trivialmente obvio (1 line con justificación inline en DECISIONS, ej. "typo en regex que rompía parsing — sin causa raíz adicional").
|
|
139
|
-
|
|
140
|
-
**Fallback si `superpowers:systematic-debugging` no está instalado**: aplicar guideline textual de root-cause: "¿qué pasó? ¿qué cambió? ¿cuál es el error exacto? ¿se reproduce?" antes de fix. Sin nuevo `## Type: hotfix`; la urgencia se expresa en el OBJECTIVE.
|
|
141
|
-
|
|
142
|
-
### Artefactos por fase
|
|
143
|
-
|
|
144
|
-
- planning: OBJECTIVE.md, TASKS.md
|
|
145
|
-
- execution: DECISIONS.md, scripts/, DEPENDENCIES.md
|
|
146
|
-
- validation: tests, logs en TASKS marcados
|
|
147
|
-
- closure: docs/decisiones/ (kind=`decision`); SQL bundles vía `/agent-workflow:release` en `docs/scripts/` (kind=`script`)
|
|
148
|
-
|
|
149
|
-
### Skills por fase
|
|
150
|
-
|
|
151
|
-
- planning: analyze-synthesize (cross-flow, sugerir al usuario)
|
|
152
|
-
- execution: implement, coding-standards, sql-script-organizer, sql-rollback-generator
|
|
153
|
-
- validation: testing-strategy, coding-standards
|
|
154
|
-
- closure: graduate `--kind decision` (DEC-NNN graduadas a `docs/decisiones/`); para SQL ver `/agent-workflow:release`
|
|
155
|
-
|
|
156
|
-
### Refs HISTORY
|
|
157
|
-
|
|
158
|
-
- dec: docs/decisiones/{val}.md
|
|
159
|
-
- sql: docs/scripts/{val}/ (vía `/agent-workflow:release`)
|
|
160
|
-
|
|
161
|
-
### Conteos resume
|
|
162
|
-
|
|
163
|
-
- tasks: TASKS.md (counts pendientes/en_progreso/completadas)
|
|
164
|
-
- decisions: DECISIONS.md (count DEC-NNN headers)
|
|
165
|
-
- dependencies: DEPENDENCIES.md (rows post-header)
|
|
166
|
-
- scripts: scripts/*.sql + scripts/bundle/ check
|
|
167
|
-
|
|
168
|
-
## Sandbox read-only
|
|
169
|
-
|
|
170
|
-
Standalone: en plan mode, solo describir qué skills se cargarían, qué stack se detectaría, qué paths se sugerirían. No tocar archivos.
|
|
171
|
-
|
|
172
|
-
Orchestrated: ver `agent-workflow:session` plan mode rules.
|