@pennyfarthing/core 7.0.2 → 7.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +14 -0
- package/README.md +2 -2
- package/package.json +11 -10
- package/packages/core/dist/cli/commands/cyclist.d.ts +2 -2
- package/packages/core/dist/cli/commands/cyclist.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/cyclist.js +8 -9
- package/packages/core/dist/cli/commands/cyclist.js.map +1 -1
- package/packages/core/dist/cli/commands/cyclist.test.js +6 -4
- package/packages/core/dist/cli/commands/cyclist.test.js.map +1 -1
- package/packages/core/dist/cli/commands/init.js +4 -3
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/update.js +15 -139
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +4 -3
- package/packages/core/dist/cli/cyclist-migration.test.js.map +1 -1
- package/packages/core/dist/cli/utils/constants.d.ts +7 -1
- package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/constants.js +4 -2
- package/packages/core/dist/cli/utils/constants.js.map +1 -1
- package/packages/core/dist/cli/utils/node-modules.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/node-modules.js +2 -1
- package/packages/core/dist/cli/utils/node-modules.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.d.ts +1 -4
- package/packages/core/dist/cli/utils/themes.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/themes.js +2 -22
- package/packages/core/dist/cli/utils/themes.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.test.d.ts +3 -3
- package/packages/core/dist/cli/utils/themes.test.js +16 -13
- package/packages/core/dist/cli/utils/themes.test.js.map +1 -1
- package/packages/core/dist/cli/workspace.test.js +11 -9
- package/packages/core/dist/cli/workspace.test.js.map +1 -1
- package/packages/core/dist/index.d.ts +1 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +10 -0
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/jira/jira-epic-creation.d.ts +109 -0
- package/packages/core/dist/jira/jira-epic-creation.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.js +253 -0
- package/packages/core/dist/jira/jira-epic-creation.js.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.test.d.ts +16 -0
- package/packages/core/dist/jira/jira-epic-creation.test.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.test.js +387 -0
- package/packages/core/dist/jira/jira-epic-creation.test.js.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.d.ts +247 -0
- package/packages/core/dist/jira/jira-sprint-sync.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.js +670 -0
- package/packages/core/dist/jira/jira-sprint-sync.js.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.d.ts +16 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.js +845 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.js.map +1 -0
- package/packages/core/dist/scripts/generate-spider.d.ts +11 -1
- package/packages/core/dist/scripts/generate-spider.d.ts.map +1 -1
- package/packages/core/dist/scripts/generate-spider.js +24 -1
- package/packages/core/dist/scripts/generate-spider.js.map +1 -1
- package/packages/core/dist/scripts/generate-spider.test.js +6 -4
- package/packages/core/dist/scripts/generate-spider.test.js.map +1 -1
- package/packages/core/dist/workflow/gate-handler.d.ts +94 -0
- package/packages/core/dist/workflow/gate-handler.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-handler.js +189 -0
- package/packages/core/dist/workflow/gate-handler.js.map +1 -0
- package/packages/core/dist/workflow/gate-handler.test.d.ts +14 -0
- package/packages/core/dist/workflow/gate-handler.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-handler.test.js +543 -0
- package/packages/core/dist/workflow/gate-handler.test.js.map +1 -0
- package/packages/core/dist/workflow/generic-handoff.d.ts +46 -0
- package/packages/core/dist/workflow/generic-handoff.d.ts.map +1 -1
- package/packages/core/dist/workflow/generic-handoff.js +53 -0
- package/packages/core/dist/workflow/generic-handoff.js.map +1 -1
- package/packages/core/dist/workflow/generic-handoff.test.js +2 -2
- package/packages/core/dist/workflow/generic-handoff.test.js.map +1 -1
- package/packages/core/dist/workflow/handoff.d.ts +281 -0
- package/packages/core/dist/workflow/handoff.d.ts.map +1 -0
- package/packages/core/dist/workflow/handoff.js +411 -0
- package/packages/core/dist/workflow/handoff.js.map +1 -0
- package/packages/core/dist/workflow/handoff.test.d.ts +21 -0
- package/packages/core/dist/workflow/handoff.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/handoff.test.js +499 -0
- package/packages/core/dist/workflow/handoff.test.js.map +1 -0
- package/packages/core/dist/workflow/index.d.ts +16 -0
- package/packages/core/dist/workflow/index.d.ts.map +1 -0
- package/packages/core/dist/workflow/index.js +24 -0
- package/packages/core/dist/workflow/index.js.map +1 -0
- package/packages/core/dist/workflow/session-state.d.ts +92 -0
- package/packages/core/dist/workflow/session-state.d.ts.map +1 -0
- package/packages/core/dist/workflow/session-state.js +198 -0
- package/packages/core/dist/workflow/session-state.js.map +1 -0
- package/packages/core/dist/workflow/session-state.test.d.ts +8 -0
- package/packages/core/dist/workflow/session-state.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/session-state.test.js +551 -0
- package/packages/core/dist/workflow/session-state.test.js.map +1 -0
- package/packages/core/dist/workflow/sm-subagents.test.d.ts +2 -2
- package/packages/core/dist/workflow/sm-subagents.test.js +6 -6
- package/packages/core/dist/workflow/sm-subagents.test.js.map +1 -1
- package/packages/core/dist/workflow/step-parser.d.ts +45 -0
- package/packages/core/dist/workflow/step-parser.d.ts.map +1 -0
- package/packages/core/dist/workflow/step-parser.js +147 -0
- package/packages/core/dist/workflow/step-parser.js.map +1 -0
- package/packages/core/dist/workflow/step-parser.test.d.ts +14 -0
- package/packages/core/dist/workflow/step-parser.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/step-parser.test.js +470 -0
- package/packages/core/dist/workflow/step-parser.test.js.map +1 -0
- package/packages/core/dist/workflow/trimodal.d.ts +86 -0
- package/packages/core/dist/workflow/trimodal.d.ts.map +1 -0
- package/packages/core/dist/workflow/trimodal.js +118 -0
- package/packages/core/dist/workflow/trimodal.js.map +1 -0
- package/packages/core/dist/workflow/trimodal.test.d.ts +11 -0
- package/packages/core/dist/workflow/trimodal.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/trimodal.test.js +395 -0
- package/packages/core/dist/workflow/trimodal.test.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.d.ts +67 -0
- package/packages/core/dist/workflow/variable-resolver.d.ts.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.js +156 -0
- package/packages/core/dist/workflow/variable-resolver.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.test.d.ts +14 -0
- package/packages/core/dist/workflow/variable-resolver.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.test.js +400 -0
- package/packages/core/dist/workflow/variable-resolver.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.d.ts +163 -0
- package/packages/core/dist/workflow/workflow-executor.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.js +197 -0
- package/packages/core/dist/workflow/workflow-executor.js.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.test.d.ts +8 -0
- package/packages/core/dist/workflow/workflow-executor.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.test.js +444 -0
- package/packages/core/dist/workflow/workflow-executor.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-loader.test.js +5 -5
- package/packages/core/dist/workflow/workflow-loader.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-migration.test.js +8 -9
- package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-permissions.d.ts +55 -0
- package/packages/core/dist/workflow/workflow-permissions.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.js +64 -0
- package/packages/core/dist/workflow/workflow-permissions.js.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.test.d.ts +15 -0
- package/packages/core/dist/workflow/workflow-permissions.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.test.js +301 -0
- package/packages/core/dist/workflow/workflow-permissions.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-schema.d.ts +61 -2
- package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.js +293 -69
- package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.test.js +6 -6
- package/packages/core/dist/workflow/workflow-schema.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts +18 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.js +608 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.js.map +1 -0
- package/pennyfarthing-dist/agents/README.md +63 -134
- package/pennyfarthing-dist/agents/architect.md +18 -10
- package/pennyfarthing-dist/agents/dev.md +47 -32
- package/pennyfarthing-dist/agents/devops.md +18 -9
- package/pennyfarthing-dist/agents/handoff.md +289 -0
- package/pennyfarthing-dist/agents/orchestrator.md +44 -22
- package/pennyfarthing-dist/agents/pm.md +13 -8
- package/pennyfarthing-dist/agents/reviewer-preflight.md +42 -128
- package/pennyfarthing-dist/agents/reviewer.md +104 -57
- package/pennyfarthing-dist/agents/sm-file-summary.md +24 -75
- package/pennyfarthing-dist/agents/sm-finish.md +61 -0
- package/pennyfarthing-dist/agents/sm-handoff.md +102 -54
- package/pennyfarthing-dist/agents/sm-setup.md +174 -0
- package/pennyfarthing-dist/agents/sm.md +223 -100
- package/pennyfarthing-dist/agents/tea.md +42 -34
- package/pennyfarthing-dist/agents/tech-writer.md +74 -6
- package/pennyfarthing-dist/agents/testing-runner.md +78 -360
- package/pennyfarthing-dist/agents/ux-designer.md +80 -7
- package/pennyfarthing-dist/agents/workflow-status-check.md +35 -299
- package/pennyfarthing-dist/commands/architect.md +2 -2
- package/pennyfarthing-dist/commands/close-epic.md +5 -2
- package/pennyfarthing-dist/commands/create-branches-from-story.md +7 -23
- package/pennyfarthing-dist/commands/dev.md +2 -2
- package/pennyfarthing-dist/commands/devops.md +3 -3
- package/pennyfarthing-dist/commands/git-cleanup.md +5 -5
- package/pennyfarthing-dist/commands/health-check.md +1 -1
- package/pennyfarthing-dist/commands/list-themes.md +7 -3
- package/pennyfarthing-dist/commands/orchestrator.md +2 -2
- package/pennyfarthing-dist/commands/parallel-work.md +4 -4
- package/pennyfarthing-dist/commands/pm.md +2 -2
- package/pennyfarthing-dist/commands/prime.md +7 -7
- package/pennyfarthing-dist/commands/release.md +1 -1
- package/pennyfarthing-dist/commands/repo-status.md +2 -2
- package/pennyfarthing-dist/commands/retro.md +2 -2
- package/pennyfarthing-dist/commands/reviewer.md +2 -2
- package/pennyfarthing-dist/commands/set-theme.md +5 -1
- package/pennyfarthing-dist/commands/sm.md +2 -2
- package/pennyfarthing-dist/commands/start-epic.md +26 -14
- package/pennyfarthing-dist/commands/sync-epic-to-jira.md +8 -8
- package/pennyfarthing-dist/commands/sync-work-with-sprint.md +1 -4
- package/pennyfarthing-dist/commands/tea.md +2 -2
- package/pennyfarthing-dist/commands/tech-writer.md +2 -2
- package/pennyfarthing-dist/commands/ux-designer.md +3 -3
- package/pennyfarthing-dist/commands/work.md +15 -4
- package/pennyfarthing-dist/commands/workflow.md +21 -0
- package/pennyfarthing-dist/guides/AGENT-COORDINATION.md +15 -15
- package/pennyfarthing-dist/guides/PROMPT-PATTERNS.md +1 -1
- package/pennyfarthing-dist/guides/SESSION-ARTIFACTS.md +4 -4
- package/pennyfarthing-dist/guides/agent-behavior.md +238 -0
- package/pennyfarthing-dist/guides/agent-template-strategic.md +2 -2
- package/pennyfarthing-dist/guides/agent-template-tactical.md +4 -4
- package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +1 -1
- package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +17 -17
- package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +8 -8
- package/pennyfarthing-dist/guides/workflow-schema.md +62 -0
- package/pennyfarthing-dist/guides/worktree-mode.md +5 -5
- package/pennyfarthing-dist/personas/themes/1984.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/a-team.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/all-stars.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/arcane.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/babylon-5.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/black-sails.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/bobiverse.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/classical-composers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/control.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/deadwood.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/discworld.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/doctor-who.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/firefly.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/foundation.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/futurama.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/historical-figures.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/house-md.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/jane-austen.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/justified.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/les-miserables.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/mad-men.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/mash.yaml +69 -66
- package/pennyfarthing-dist/personas/themes/mass-effect.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/military-commanders.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/moby-dick.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/neuromancer.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/rome.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/russian-masters.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/sandman.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/shakespeare.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/snow-crash.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/superfriends.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-americans.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-crown.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-good-place.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-office.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-wire.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-witcher.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/west-wing.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +1 -1
- package/pennyfarthing-dist/scripts/README.md +68 -0
- package/pennyfarthing-dist/scripts/core/README.md +26 -0
- package/pennyfarthing-dist/scripts/{agent-session.sh → core/agent-session.sh} +34 -23
- package/pennyfarthing-dist/scripts/{check-context.sh → core/check-context.sh} +93 -37
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +90 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +136 -0
- package/pennyfarthing-dist/scripts/core/run.sh +75 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +21 -0
- package/pennyfarthing-dist/scripts/git/README.md +25 -0
- package/pennyfarthing-dist/scripts/{utils → git}/create-feature-branches.sh +11 -15
- package/pennyfarthing-dist/scripts/{utils → git}/git-status-all.sh +1 -1
- package/pennyfarthing-dist/scripts/{install-git-hooks.sh → git/install-git-hooks.sh} +0 -0
- package/pennyfarthing-dist/scripts/{release.sh → git/release.sh} +0 -0
- package/pennyfarthing-dist/scripts/{worktree-manager.sh → git/worktree-manager.sh} +0 -4
- package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +3 -4
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +1 -2
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +2 -3
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +2 -3
- package/pennyfarthing-dist/scripts/jira/README.md +33 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +101 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +97 -0
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.mjs +327 -0
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.test.mjs +503 -0
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-claim-story.sh +8 -6
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-lib.mjs +10 -10
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-lib.sh +18 -17
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +266 -0
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-sync-story.mjs +14 -14
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-sync-story.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-sync.mjs +4 -4
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-sync.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +104 -0
- package/pennyfarthing-dist/scripts/{utils → jira}/sync-epic-to-jira.sh +1 -1
- package/pennyfarthing-dist/scripts/lib/README.md +29 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/background-tasks.sh +1 -1
- package/pennyfarthing-dist/scripts/{utils → lib}/checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/common.sh +1 -1
- package/pennyfarthing-dist/scripts/{utils → lib}/file-lock.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/find-root.sh +7 -5
- package/pennyfarthing-dist/scripts/{utils → lib}/logging.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/retry.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/README.md +44 -0
- package/pennyfarthing-dist/scripts/{add-short-names.mjs → misc/add-short-names.mjs} +0 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +91 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/check-status.sh +4 -8
- package/pennyfarthing-dist/scripts/{deploy.sh → misc/deploy.sh} +0 -0
- package/pennyfarthing-dist/scripts/{doctor-dogfood.sh → misc/doctor-dogfood.sh} +2 -5
- package/pennyfarthing-dist/scripts/{utils → misc}/find-related-work.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/generate-skill-docs.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/log-skill-usage.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.mjs +474 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +9 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/repo-scan.sh +0 -0
- package/pennyfarthing-dist/scripts/{repo-utils.sh → misc/repo-utils.sh} +2 -2
- package/pennyfarthing-dist/scripts/{run-ci.sh → misc/run-ci.sh} +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/run-timestamp.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/session-cleanup.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/skill-usage-report.sh +0 -0
- package/pennyfarthing-dist/scripts/{statusline.sh → misc/statusline.sh} +2 -7
- package/pennyfarthing-dist/scripts/{uninstall.sh → misc/uninstall.sh} +4 -5
- package/pennyfarthing-dist/scripts/{utils → misc}/validate-subagent-frontmatter.sh +3 -3
- package/pennyfarthing-dist/scripts/sprint/README.md +29 -0
- package/pennyfarthing-dist/scripts/sprint/archive-story.sh +135 -0
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +97 -0
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +164 -0
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +58 -0
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +69 -0
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +151 -0
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +116 -0
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +164 -0
- package/pennyfarthing-dist/scripts/{utils → sprint}/sprint-common.sh +135 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +39 -0
- package/pennyfarthing-dist/scripts/{utils → sprint}/sprint-metrics.sh +0 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
- package/pennyfarthing-dist/scripts/story/README.md +23 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +159 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +198 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +162 -0
- package/pennyfarthing-dist/scripts/test/README.md +23 -0
- package/pennyfarthing-dist/scripts/{utils → test}/swebench-judge.py +0 -0
- package/pennyfarthing-dist/scripts/test/test-cache.sh +165 -0
- package/pennyfarthing-dist/scripts/{utils → test}/test-setup.sh +5 -5
- package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +515 -0
- package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +599 -0
- package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +332 -0
- package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +573 -0
- package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +859 -0
- package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +662 -0
- package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +589 -0
- package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +7 -9
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +18 -18
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +10 -10
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +1 -1
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +647 -0
- package/pennyfarthing-dist/scripts/theme/README.md +22 -0
- package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +203 -0
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +73 -0
- package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +97 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +28 -0
- package/pennyfarthing-dist/scripts/{check.sh → workflow/check.sh} +0 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +159 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +228 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +91 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +138 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +256 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +6 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +2 -2
- package/pennyfarthing-dist/skills/code-review/SKILL.md +3 -3
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +6 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +56 -139
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +21 -5
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +1 -1
- package/pennyfarthing-dist/skills/jira/SKILL.md +381 -178
- package/pennyfarthing-dist/skills/judge/SKILL.md +76 -21
- package/pennyfarthing-dist/skills/just/SKILL.md +345 -102
- package/pennyfarthing-dist/skills/otel/skill.md +1 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +1 -1
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +5 -0
- package/pennyfarthing-dist/skills/skill-registry.schema.json +5 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +22 -0
- package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +101 -0
- package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +97 -0
- package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +164 -0
- package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +101 -0
- package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +116 -0
- package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +164 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +39 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +147 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +104 -0
- package/pennyfarthing-dist/skills/sprint/skill.md +465 -0
- package/pennyfarthing-dist/skills/story/scripts/create-story.sh +159 -0
- package/pennyfarthing-dist/skills/story/scripts/size-story.sh +198 -0
- package/pennyfarthing-dist/skills/story/scripts/story-template.sh +162 -0
- package/pennyfarthing-dist/skills/story/skill.md +219 -0
- package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +390 -0
- package/pennyfarthing-dist/skills/theme/skill.md +1 -1
- package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +91 -0
- package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +138 -0
- package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +273 -0
- package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/workflow/skill.md +337 -0
- package/pennyfarthing-dist/templates/settings.local.json.template +1 -1
- package/pennyfarthing-dist/workflows/agent-docs.yaml +1 -1
- package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +101 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +93 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +115 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +138 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +142 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +160 -0
- package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +102 -0
- package/pennyfarthing-dist/workflows/architecture.yaml +65 -0
- package/pennyfarthing-dist/workflows/bdd.yaml +3 -1
- package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +62 -0
- package/pennyfarthing-dist/workflows/brainstorming/checklist.md +44 -0
- package/pennyfarthing-dist/workflows/brainstorming/instructions.md +736 -0
- package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +49 -0
- package/pennyfarthing-dist/workflows/code-review/checklist.md +23 -0
- package/pennyfarthing-dist/workflows/code-review/instructions.md +234 -0
- package/pennyfarthing-dist/workflows/code-review/workflow.yaml +51 -0
- package/pennyfarthing-dist/workflows/dev-story/checklist.md +80 -0
- package/pennyfarthing-dist/workflows/dev-story/instructions.xml +410 -0
- package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +256 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +145 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +57 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +133 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +4 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +40 -0
- package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +13 -0
- package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +197 -0
- package/pennyfarthing-dist/workflows/prd/data/project-types.csv +11 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +153 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +207 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +237 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +231 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +180 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
- package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +10 -0
- package/pennyfarthing-dist/workflows/prd/workflow.yaml +42 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +177 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +161 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +199 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +202 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +205 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +219 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +194 -0
- package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +10 -0
- package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +31 -0
- package/pennyfarthing-dist/workflows/project-context/project-context-template.md +21 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +184 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +318 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +278 -0
- package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +189 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +144 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +128 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +191 -0
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +229 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +238 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +206 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +234 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +443 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +182 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +237 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +200 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +249 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +259 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +177 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +475 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +248 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +202 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +486 -0
- package/pennyfarthing-dist/workflows/research/templates/research.template.md +29 -0
- package/pennyfarthing-dist/workflows/research/workflow.yaml +45 -0
- package/pennyfarthing-dist/workflows/retrospective/checklist.md +31 -0
- package/pennyfarthing-dist/workflows/retrospective/instructions.md +1443 -0
- package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +33 -0
- package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +55 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +54 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +44 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +64 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +73 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +56 -0
- package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +34 -0
- package/pennyfarthing-dist/workflows/trivial.yaml +1 -1
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +135 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +127 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +216 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +219 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +234 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +252 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +254 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +241 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +248 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +237 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +228 -0
- package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +13 -0
- package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +41 -0
- package/packages/core/dist/scripts/generate-all-faces.d.ts +0 -10
- package/packages/core/dist/scripts/generate-all-faces.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.js +0 -256
- package/packages/core/dist/scripts/generate-all-faces.js.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.test.d.ts +0 -17
- package/packages/core/dist/scripts/generate-all-faces.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.test.js +0 -372
- package/packages/core/dist/scripts/generate-all-faces.test.js.map +0 -1
- package/packages/core/dist/scripts/generate-ascii-face.d.ts +0 -52
- package/packages/core/dist/scripts/generate-ascii-face.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-ascii-face.js +0 -155
- package/packages/core/dist/scripts/generate-ascii-face.js.map +0 -1
- package/packages/core/dist/scripts/generate-face.d.ts +0 -52
- package/packages/core/dist/scripts/generate-face.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-face.js +0 -199
- package/packages/core/dist/scripts/generate-face.js.map +0 -1
- package/packages/core/dist/scripts/generate-face.test.d.ts +0 -13
- package/packages/core/dist/scripts/generate-face.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-face.test.js +0 -301
- package/packages/core/dist/scripts/generate-face.test.js.map +0 -1
- package/pennyfarthing-dist/agents/generic-handoff.md +0 -454
- package/pennyfarthing-dist/agents/generic-sm-finish.md +0 -261
- package/pennyfarthing-dist/agents/generic-sm-setup.md +0 -214
- package/pennyfarthing-dist/commands/new-work.md +0 -127
- package/pennyfarthing-dist/guides/AGENT-SCOPES.md +0 -201
- package/pennyfarthing-dist/guides/persona-system.md +0 -294
- package/pennyfarthing-dist/guides/shared-agent-behavior.md +0 -388
- package/pennyfarthing-dist/guides/shared-context.md +0 -147
- package/pennyfarthing-dist/guides/strategic-agent-behavior.md +0 -348
- package/pennyfarthing-dist/guides/tactical-agent-behavior.md +0 -1041
- package/pennyfarthing-dist/scripts/prime.sh +0 -161
- package/pennyfarthing-dist/scripts/run.sh +0 -65
- package/pennyfarthing-dist/skills/sprint-context/SKILL.md +0 -120
- package/pennyfarthing-dist/skills/story-management/SKILL.md +0 -208
- package/pennyfarthing-dist/skills/workflow/SKILL.md +0 -160
- /package/pennyfarthing-dist/commands/{brainstorm.md → brainstorming.md} +0 -0
- /package/pennyfarthing-dist/scripts/{utils → test}/ground-truth-judge.py +0 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Step 3: Pattern Selection
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 3
|
|
5
|
+
name: pattern-selection
|
|
6
|
+
gate: false
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
## Mandatory Execution Rules
|
|
10
|
+
|
|
11
|
+
- READ the complete step file before taking any action
|
|
12
|
+
- SEARCH the web to verify current technology versions - NEVER trust hardcoded versions
|
|
13
|
+
- ALWAYS treat this as collaborative discovery between architectural peers
|
|
14
|
+
- FOCUS on evaluating patterns with up-to-date information
|
|
15
|
+
|
|
16
|
+
## Execution Protocols
|
|
17
|
+
|
|
18
|
+
- Show your analysis before taking any action
|
|
19
|
+
- Search the web to verify current versions and options
|
|
20
|
+
- Present A/P/C menu after generating pattern analysis
|
|
21
|
+
- ONLY save when user chooses [C] Continue
|
|
22
|
+
- Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
|
|
23
|
+
- FORBIDDEN to load next step until [C] is selected
|
|
24
|
+
|
|
25
|
+
## Purpose
|
|
26
|
+
|
|
27
|
+
Identify and evaluate architectural patterns that could address the identified concerns, with current technology verification.
|
|
28
|
+
|
|
29
|
+
## Instructions
|
|
30
|
+
|
|
31
|
+
1. **Survey Applicable Patterns**:
|
|
32
|
+
Based on the context analysis, identify patterns that address the key concerns:
|
|
33
|
+
- For scalability: microservices, event-driven, CQRS
|
|
34
|
+
- For reliability: circuit breakers, bulkheads, retries
|
|
35
|
+
- For maintainability: clean architecture, hexagonal, modular monolith
|
|
36
|
+
- For integration: API gateway, message broker, service mesh
|
|
37
|
+
|
|
38
|
+
2. **Verify Current Versions** (web search):
|
|
39
|
+
For any frameworks or technologies being considered:
|
|
40
|
+
- What is the current stable version?
|
|
41
|
+
- What are the recommended starter templates?
|
|
42
|
+
- Are there breaking changes in recent releases?
|
|
43
|
+
|
|
44
|
+
3. **Evaluate Trade-offs**:
|
|
45
|
+
For each candidate pattern, consider:
|
|
46
|
+
- Complexity cost vs. benefit
|
|
47
|
+
- Team familiarity
|
|
48
|
+
- Operational overhead
|
|
49
|
+
- Fit with existing systems
|
|
50
|
+
|
|
51
|
+
4. **Select Primary Pattern(s)**:
|
|
52
|
+
Choose 1-3 patterns that best address the requirements.
|
|
53
|
+
|
|
54
|
+
## Actions
|
|
55
|
+
|
|
56
|
+
- Review: Architecture pattern references
|
|
57
|
+
- Search: Web for current framework versions and best practices
|
|
58
|
+
- Compare: Pattern fit against constraints from Step 2
|
|
59
|
+
- Document: Trade-off analysis
|
|
60
|
+
|
|
61
|
+
## Output
|
|
62
|
+
|
|
63
|
+
Add to session file:
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
## Pattern Analysis
|
|
67
|
+
|
|
68
|
+
### Technology Versions (as of {date})
|
|
69
|
+
| Technology | Current Version | Notes |
|
|
70
|
+
|------------|-----------------|-------|
|
|
71
|
+
| [Tech 1] | [version] | [stability, LTS status] |
|
|
72
|
+
| [Tech 2] | [version] | [stability, LTS status] |
|
|
73
|
+
|
|
74
|
+
### Candidate Patterns
|
|
75
|
+
|
|
76
|
+
| Pattern | Addresses | Trade-offs | Fit Score |
|
|
77
|
+
|---------|-----------|------------|-----------|
|
|
78
|
+
| [Pattern 1] | [concerns] | [pros/cons] | [1-5] |
|
|
79
|
+
| [Pattern 2] | [concerns] | [pros/cons] | [1-5] |
|
|
80
|
+
| [Pattern 3] | [concerns] | [pros/cons] | [1-5] |
|
|
81
|
+
|
|
82
|
+
### Selected Pattern(s)
|
|
83
|
+
1. **[Primary pattern]**: [Why this fits best]
|
|
84
|
+
2. **[Secondary pattern]** (if needed): [Why]
|
|
85
|
+
|
|
86
|
+
### Rejected Alternatives
|
|
87
|
+
- [Pattern]: [Why not suitable]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Collaboration Menu (A/P/C)
|
|
91
|
+
|
|
92
|
+
After generating pattern analysis, present choices:
|
|
93
|
+
|
|
94
|
+
- **[A] Advanced Elicitation** - Use discovery protocols to explore unconventional patterns or custom approaches
|
|
95
|
+
- **[P] Party Mode** - Bring multiple perspectives to evaluate pattern trade-offs for different use cases
|
|
96
|
+
- **[C] Continue** - Save the content and proceed to component design
|
|
97
|
+
- **[R] Revise** - Need to reconsider patterns or gather more information
|
|
98
|
+
|
|
99
|
+
## Advanced Elicitation Mode
|
|
100
|
+
|
|
101
|
+
When user selects [A]:
|
|
102
|
+
1. Explore hybrid patterns combining multiple approaches
|
|
103
|
+
2. Investigate emerging patterns not yet mainstream
|
|
104
|
+
3. Consider domain-specific architectural patterns
|
|
105
|
+
4. Question assumptions about pattern applicability
|
|
106
|
+
|
|
107
|
+
## Party Mode
|
|
108
|
+
|
|
109
|
+
When user selects [P]:
|
|
110
|
+
1. Present pattern evaluation from multiple viewpoints:
|
|
111
|
+
- **Pragmatist**: What's the simplest thing that works?
|
|
112
|
+
- **Futurist**: What if requirements change significantly?
|
|
113
|
+
- **Skeptic**: What could go wrong with this pattern?
|
|
114
|
+
- **Operator**: How will this pattern affect day-to-day operations?
|
|
115
|
+
2. Synthesize perspectives into pattern recommendation
|
|
116
|
+
|
|
117
|
+
## Success Metrics
|
|
118
|
+
|
|
119
|
+
- Patterns evaluated against context constraints
|
|
120
|
+
- Current technology versions verified via web search
|
|
121
|
+
- Trade-offs clearly documented
|
|
122
|
+
- User confirmed pattern selection before proceeding
|
|
123
|
+
|
|
124
|
+
## Failure Modes
|
|
125
|
+
|
|
126
|
+
- Using outdated technology versions
|
|
127
|
+
- Not considering team familiarity
|
|
128
|
+
- Selecting overly complex patterns for simple problems
|
|
129
|
+
- Proceeding without user confirmation
|
|
130
|
+
|
|
131
|
+
## Next Step
|
|
132
|
+
|
|
133
|
+
After user selects [C], proceed to Component Design to define the system structure.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Step 4: Component Design
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 4
|
|
5
|
+
name: component-design
|
|
6
|
+
gate: true
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
## Mandatory Execution Rules
|
|
10
|
+
|
|
11
|
+
- READ the complete step file before taking any action
|
|
12
|
+
- FOCUS on components that prevent AI agent implementation conflicts
|
|
13
|
+
- EMPHASIZE what agents could decide DIFFERENTLY if not specified
|
|
14
|
+
- ALWAYS treat this as collaborative discovery between architectural peers
|
|
15
|
+
|
|
16
|
+
## Execution Protocols
|
|
17
|
+
|
|
18
|
+
- Show your analysis before taking any action
|
|
19
|
+
- Present A/P/C menu after generating component design
|
|
20
|
+
- ONLY save when user chooses [C] Continue
|
|
21
|
+
- Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
|
|
22
|
+
- FORBIDDEN to load next step until [C] is selected
|
|
23
|
+
|
|
24
|
+
## Purpose
|
|
25
|
+
|
|
26
|
+
Define the major components of the system and their responsibilities based on the selected patterns. Focus on clarity that prevents implementation ambiguity.
|
|
27
|
+
|
|
28
|
+
## Instructions
|
|
29
|
+
|
|
30
|
+
1. **Identify Components**:
|
|
31
|
+
Based on the selected pattern(s), define the major building blocks:
|
|
32
|
+
- What are the primary components/services?
|
|
33
|
+
- What is each component responsible for?
|
|
34
|
+
- What data does each component own?
|
|
35
|
+
|
|
36
|
+
2. **Define Boundaries**:
|
|
37
|
+
- Where are the component boundaries?
|
|
38
|
+
- What crosses each boundary?
|
|
39
|
+
- How do components communicate?
|
|
40
|
+
|
|
41
|
+
3. **Map Dependencies**:
|
|
42
|
+
- Which components depend on others?
|
|
43
|
+
- Are there circular dependencies to avoid?
|
|
44
|
+
- What is the deployment topology?
|
|
45
|
+
|
|
46
|
+
4. **Specify for Agent Consistency** (BMAD pattern):
|
|
47
|
+
- What decisions must be consistent across implementations?
|
|
48
|
+
- Where could two different AI agents make conflicting choices?
|
|
49
|
+
- Document explicit rules to prevent divergence
|
|
50
|
+
|
|
51
|
+
## Actions
|
|
52
|
+
|
|
53
|
+
- Design: Component diagram (can be ASCII or Mermaid)
|
|
54
|
+
- Document: Component responsibilities
|
|
55
|
+
- Validate: Boundaries align with domain concepts
|
|
56
|
+
- Specify: Consistency rules for AI implementation
|
|
57
|
+
|
|
58
|
+
## Output
|
|
59
|
+
|
|
60
|
+
Add to session file:
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
## Component Design
|
|
64
|
+
|
|
65
|
+
### Component Diagram
|
|
66
|
+
|
|
67
|
+
\`\`\`
|
|
68
|
+
┌─────────────┐ ┌─────────────┐
|
|
69
|
+
│ Component A │────▶│ Component B │
|
|
70
|
+
└─────────────┘ └─────────────┘
|
|
71
|
+
│ │
|
|
72
|
+
▼ ▼
|
|
73
|
+
┌─────────────┐ ┌─────────────┐
|
|
74
|
+
│ Component C │ │ Component D │
|
|
75
|
+
└─────────────┘ └─────────────┘
|
|
76
|
+
\`\`\`
|
|
77
|
+
|
|
78
|
+
### Component Responsibilities
|
|
79
|
+
|
|
80
|
+
| Component | Responsibility | Data Owned | Dependencies |
|
|
81
|
+
|-----------|---------------|------------|--------------|
|
|
82
|
+
| [A] | [what it does] | [data] | [deps] |
|
|
83
|
+
| [B] | [what it does] | [data] | [deps] |
|
|
84
|
+
|
|
85
|
+
### Boundary Decisions
|
|
86
|
+
- [Boundary 1]: [What crosses, protocol]
|
|
87
|
+
- [Boundary 2]: [What crosses, protocol]
|
|
88
|
+
|
|
89
|
+
### Implementation Consistency Rules
|
|
90
|
+
> These rules prevent AI agents from making conflicting implementation choices
|
|
91
|
+
|
|
92
|
+
- [Rule 1]: [Why this must be consistent]
|
|
93
|
+
- [Rule 2]: [Why this must be consistent]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
<!-- GATE -->
|
|
97
|
+
|
|
98
|
+
## Collaboration Menu (A/P/C)
|
|
99
|
+
|
|
100
|
+
After generating component design, present choices:
|
|
101
|
+
|
|
102
|
+
- **[A] Advanced Elicitation** - Use discovery protocols to explore alternative component structures or hidden dependencies
|
|
103
|
+
- **[P] Party Mode** - Bring multiple perspectives to evaluate component boundaries from different angles
|
|
104
|
+
- **[C] Continue** - Save the content and proceed to interface definition
|
|
105
|
+
- **[R] Revise** - Need to reconsider component structure or boundaries
|
|
106
|
+
|
|
107
|
+
## Advanced Elicitation Mode
|
|
108
|
+
|
|
109
|
+
When user selects [A]:
|
|
110
|
+
1. Challenge component boundaries with edge cases
|
|
111
|
+
2. Explore alternative decomposition strategies
|
|
112
|
+
3. Identify hidden coupling between components
|
|
113
|
+
4. Question data ownership decisions
|
|
114
|
+
|
|
115
|
+
## Party Mode
|
|
116
|
+
|
|
117
|
+
When user selects [P]:
|
|
118
|
+
1. Present component design from multiple viewpoints:
|
|
119
|
+
- **Domain expert**: Do boundaries align with business concepts?
|
|
120
|
+
- **Data architect**: Is data ownership clear and consistent?
|
|
121
|
+
- **DevOps engineer**: How will this deploy and scale?
|
|
122
|
+
- **New team member**: Can someone understand this quickly?
|
|
123
|
+
2. Synthesize perspectives into refined design
|
|
124
|
+
|
|
125
|
+
## Success Metrics
|
|
126
|
+
|
|
127
|
+
- Components clearly defined with single responsibilities
|
|
128
|
+
- Boundaries align with domain concepts
|
|
129
|
+
- Dependencies mapped without cycles
|
|
130
|
+
- Implementation consistency rules documented
|
|
131
|
+
- User confirmed design before proceeding
|
|
132
|
+
|
|
133
|
+
## Failure Modes
|
|
134
|
+
|
|
135
|
+
- Ambiguous component responsibilities
|
|
136
|
+
- Unclear boundary decisions
|
|
137
|
+
- Missing consistency rules for AI implementation
|
|
138
|
+
- Proceeding without user confirmation
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Step 5: Interface Definition
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 5
|
|
5
|
+
name: interface-definition
|
|
6
|
+
gate: false
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
## Mandatory Execution Rules
|
|
10
|
+
|
|
11
|
+
- READ the complete step file before taking any action
|
|
12
|
+
- DEFINE explicit contracts that prevent implementation ambiguity
|
|
13
|
+
- ALWAYS treat this as collaborative discovery between architectural peers
|
|
14
|
+
- FOCUS on conventions that ensure consistent implementations
|
|
15
|
+
|
|
16
|
+
## Execution Protocols
|
|
17
|
+
|
|
18
|
+
- Show your analysis before taking any action
|
|
19
|
+
- Present A/P/C menu after generating interface definitions
|
|
20
|
+
- ONLY save when user chooses [C] Continue
|
|
21
|
+
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
|
|
22
|
+
- FORBIDDEN to load next step until [C] is selected
|
|
23
|
+
|
|
24
|
+
## Purpose
|
|
25
|
+
|
|
26
|
+
Define the APIs, contracts, and communication patterns between components. Establish conventions that ensure consistent implementation across different agents or developers.
|
|
27
|
+
|
|
28
|
+
## Instructions
|
|
29
|
+
|
|
30
|
+
1. **Define External APIs**:
|
|
31
|
+
- What APIs does the system expose?
|
|
32
|
+
- What authentication/authorization is needed?
|
|
33
|
+
- What are the request/response formats?
|
|
34
|
+
|
|
35
|
+
2. **Define Internal Contracts**:
|
|
36
|
+
- How do components communicate?
|
|
37
|
+
- Synchronous (HTTP, gRPC) or asynchronous (events, queues)?
|
|
38
|
+
- What are the message formats?
|
|
39
|
+
|
|
40
|
+
3. **Establish Conventions**:
|
|
41
|
+
- Naming conventions
|
|
42
|
+
- Error handling patterns
|
|
43
|
+
- Versioning strategy
|
|
44
|
+
|
|
45
|
+
4. **Document for Consistency**:
|
|
46
|
+
- Explicit enough that two implementations would be compatible
|
|
47
|
+
- No room for interpretation on critical contracts
|
|
48
|
+
|
|
49
|
+
## Actions
|
|
50
|
+
|
|
51
|
+
- Design: API contracts (OpenAPI, protobuf, or pseudocode)
|
|
52
|
+
- Document: Event schemas if using async
|
|
53
|
+
- Define: Error codes and handling
|
|
54
|
+
- Specify: Conventions that must be followed
|
|
55
|
+
|
|
56
|
+
## Output
|
|
57
|
+
|
|
58
|
+
Add to session file:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
## Interface Definitions
|
|
62
|
+
|
|
63
|
+
### External APIs
|
|
64
|
+
|
|
65
|
+
| Endpoint | Method | Purpose | Auth |
|
|
66
|
+
|----------|--------|---------|------|
|
|
67
|
+
| /api/v1/resource | GET | List resources | Bearer |
|
|
68
|
+
| /api/v1/resource | POST | Create resource | Bearer |
|
|
69
|
+
|
|
70
|
+
### Internal Communication
|
|
71
|
+
|
|
72
|
+
| From | To | Type | Contract |
|
|
73
|
+
|------|----|----- |----------|
|
|
74
|
+
| A | B | HTTP | GET /internal/data |
|
|
75
|
+
| B | C | Event | DataUpdated { id, payload } |
|
|
76
|
+
|
|
77
|
+
### Conventions
|
|
78
|
+
- **Naming**: [snake_case, camelCase, etc.]
|
|
79
|
+
- **Errors**: [HTTP codes, error envelope format]
|
|
80
|
+
- **Versioning**: [URL path, header, etc.]
|
|
81
|
+
|
|
82
|
+
### Contract Enforcement
|
|
83
|
+
> Rules that ensure consistent implementation
|
|
84
|
+
|
|
85
|
+
- [Contract 1]: [Exact specification]
|
|
86
|
+
- [Contract 2]: [Exact specification]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Collaboration Menu (A/P/C)
|
|
90
|
+
|
|
91
|
+
After generating interface definitions, present choices:
|
|
92
|
+
|
|
93
|
+
- **[A] Advanced Elicitation** - Use discovery protocols to identify missing contracts or edge cases
|
|
94
|
+
- **[P] Party Mode** - Bring multiple perspectives to evaluate API design from different consumer viewpoints
|
|
95
|
+
- **[C] Continue** - Save the content and proceed to risk assessment
|
|
96
|
+
- **[R] Revise** - Need to reconsider interface design or add missing contracts
|
|
97
|
+
|
|
98
|
+
## Advanced Elicitation Mode
|
|
99
|
+
|
|
100
|
+
When user selects [A]:
|
|
101
|
+
1. Identify edge cases in API contracts
|
|
102
|
+
2. Explore error scenarios and handling
|
|
103
|
+
3. Question versioning and backward compatibility
|
|
104
|
+
4. Consider rate limiting and quotas
|
|
105
|
+
|
|
106
|
+
## Party Mode
|
|
107
|
+
|
|
108
|
+
When user selects [P]:
|
|
109
|
+
1. Present interface design from multiple viewpoints:
|
|
110
|
+
- **API consumer**: Is this intuitive to use?
|
|
111
|
+
- **Security engineer**: Are there auth/authz gaps?
|
|
112
|
+
- **Mobile developer**: Will this work on constrained networks?
|
|
113
|
+
- **Integration team**: How will this connect to existing systems?
|
|
114
|
+
2. Synthesize perspectives into refined contracts
|
|
115
|
+
|
|
116
|
+
## Success Metrics
|
|
117
|
+
|
|
118
|
+
- External APIs clearly documented
|
|
119
|
+
- Internal contracts specify exact message formats
|
|
120
|
+
- Conventions established for naming, errors, versioning
|
|
121
|
+
- Contracts explicit enough for independent implementation
|
|
122
|
+
- User confirmed interfaces before proceeding
|
|
123
|
+
|
|
124
|
+
## Failure Modes
|
|
125
|
+
|
|
126
|
+
- Ambiguous contract specifications
|
|
127
|
+
- Missing error handling definitions
|
|
128
|
+
- Inconsistent naming conventions
|
|
129
|
+
- Proceeding without user confirmation
|
|
130
|
+
|
|
131
|
+
## Next Step
|
|
132
|
+
|
|
133
|
+
After user selects [C], proceed to Risk Assessment to identify potential issues.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Step 6: Risk Assessment
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 6
|
|
5
|
+
name: risk-assessment
|
|
6
|
+
gate: true
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
## Mandatory Execution Rules
|
|
10
|
+
|
|
11
|
+
- READ the complete step file before taking any action
|
|
12
|
+
- IDENTIFY risks specific to AI agent implementation
|
|
13
|
+
- ALWAYS treat this as collaborative discovery between architectural peers
|
|
14
|
+
- FOCUS on risks that could cause implementation divergence
|
|
15
|
+
|
|
16
|
+
## Execution Protocols
|
|
17
|
+
|
|
18
|
+
- Show your analysis before taking any action
|
|
19
|
+
- Present A/P/C menu after generating risk assessment
|
|
20
|
+
- ONLY save when user chooses [C] Continue
|
|
21
|
+
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
|
|
22
|
+
- FORBIDDEN to load next step until [C] is selected
|
|
23
|
+
|
|
24
|
+
## Purpose
|
|
25
|
+
|
|
26
|
+
Identify technical risks, potential failure modes, and mitigation strategies. Include risks specific to AI-assisted implementation.
|
|
27
|
+
|
|
28
|
+
## Instructions
|
|
29
|
+
|
|
30
|
+
1. **Identify Technical Risks**:
|
|
31
|
+
- Performance bottlenecks
|
|
32
|
+
- Single points of failure
|
|
33
|
+
- Security vulnerabilities
|
|
34
|
+
- Data consistency challenges
|
|
35
|
+
- Operational complexity
|
|
36
|
+
|
|
37
|
+
2. **Assess Impact and Likelihood**:
|
|
38
|
+
- What happens if this risk materializes?
|
|
39
|
+
- How likely is it?
|
|
40
|
+
- What's the blast radius?
|
|
41
|
+
|
|
42
|
+
3. **Define Mitigations**:
|
|
43
|
+
- How can each risk be reduced or eliminated?
|
|
44
|
+
- What monitoring/alerting is needed?
|
|
45
|
+
- What's the fallback plan?
|
|
46
|
+
|
|
47
|
+
4. **AI Implementation Risks** (BMAD pattern):
|
|
48
|
+
- Where could AI agents misinterpret requirements?
|
|
49
|
+
- What ambiguities could lead to incompatible implementations?
|
|
50
|
+
- How do we detect implementation drift early?
|
|
51
|
+
|
|
52
|
+
## Actions
|
|
53
|
+
|
|
54
|
+
- Analyze: Each component for failure modes
|
|
55
|
+
- Review: Security considerations
|
|
56
|
+
- Plan: Monitoring and alerting strategy
|
|
57
|
+
- Identify: AI implementation risk points
|
|
58
|
+
|
|
59
|
+
## Output
|
|
60
|
+
|
|
61
|
+
Add to session file:
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
## Risk Assessment
|
|
65
|
+
|
|
66
|
+
### Technical Risks
|
|
67
|
+
|
|
68
|
+
| Risk | Impact | Likelihood | Mitigation |
|
|
69
|
+
|------|--------|------------|------------|
|
|
70
|
+
| [Risk 1] | High/Med/Low | High/Med/Low | [Strategy] |
|
|
71
|
+
| [Risk 2] | High/Med/Low | High/Med/Low | [Strategy] |
|
|
72
|
+
|
|
73
|
+
### Failure Modes
|
|
74
|
+
|
|
75
|
+
| Component | Failure Mode | Detection | Recovery |
|
|
76
|
+
|-----------|--------------|-----------|----------|
|
|
77
|
+
| [A] | [How it fails] | [Monitoring] | [Steps] |
|
|
78
|
+
| [B] | [How it fails] | [Monitoring] | [Steps] |
|
|
79
|
+
|
|
80
|
+
### Security Considerations
|
|
81
|
+
- [Authentication approach]
|
|
82
|
+
- [Authorization model]
|
|
83
|
+
- [Data protection measures]
|
|
84
|
+
|
|
85
|
+
### AI Implementation Risks
|
|
86
|
+
> Risks specific to AI-assisted development
|
|
87
|
+
|
|
88
|
+
| Risk | Could Cause | Prevention |
|
|
89
|
+
|------|-------------|------------|
|
|
90
|
+
| Ambiguous requirement | Inconsistent implementation | [Clarification needed] |
|
|
91
|
+
| Missing constraint | Invalid assumptions | [Explicit documentation] |
|
|
92
|
+
|
|
93
|
+
### Operational Readiness
|
|
94
|
+
- Monitoring: [What to watch]
|
|
95
|
+
- Alerting: [Thresholds]
|
|
96
|
+
- Runbooks: [Key procedures needed]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
<!-- GATE -->
|
|
100
|
+
|
|
101
|
+
## Collaboration Menu (A/P/C)
|
|
102
|
+
|
|
103
|
+
After generating risk assessment, present choices:
|
|
104
|
+
|
|
105
|
+
- **[A] Advanced Elicitation** - Use discovery protocols to explore hidden risks or unconsidered failure modes
|
|
106
|
+
- **[P] Party Mode** - Bring multiple perspectives to identify risks from different operational angles
|
|
107
|
+
- **[C] Continue** - Save the content and proceed to documentation
|
|
108
|
+
- **[R] Revise** - Need to address unacceptable risks before proceeding
|
|
109
|
+
|
|
110
|
+
## Advanced Elicitation Mode
|
|
111
|
+
|
|
112
|
+
When user selects [A]:
|
|
113
|
+
1. Explore cascading failure scenarios
|
|
114
|
+
2. Question security assumptions
|
|
115
|
+
3. Investigate edge cases in error handling
|
|
116
|
+
4. Challenge operational readiness
|
|
117
|
+
|
|
118
|
+
## Party Mode
|
|
119
|
+
|
|
120
|
+
When user selects [P]:
|
|
121
|
+
1. Present risk assessment from multiple viewpoints:
|
|
122
|
+
- **Security auditor**: What attack vectors exist?
|
|
123
|
+
- **Site reliability engineer**: What will page us at 3am?
|
|
124
|
+
- **Compliance officer**: What regulatory risks exist?
|
|
125
|
+
- **Incident responder**: How will we debug failures?
|
|
126
|
+
2. Synthesize perspectives into comprehensive risk register
|
|
127
|
+
|
|
128
|
+
## Success Metrics
|
|
129
|
+
|
|
130
|
+
- Technical risks identified with impact assessment
|
|
131
|
+
- Failure modes documented with recovery procedures
|
|
132
|
+
- Security considerations explicitly addressed
|
|
133
|
+
- AI implementation risks identified and mitigated
|
|
134
|
+
- User confirmed risks are acceptable before proceeding
|
|
135
|
+
|
|
136
|
+
## Failure Modes
|
|
137
|
+
|
|
138
|
+
- Overlooking critical failure scenarios
|
|
139
|
+
- Underestimating risk impact or likelihood
|
|
140
|
+
- Missing security considerations
|
|
141
|
+
- Not addressing AI implementation risks
|
|
142
|
+
- Proceeding without user confirmation
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Step 7: Decision Documentation
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 7
|
|
5
|
+
name: documentation
|
|
6
|
+
gate: false
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
## Mandatory Execution Rules
|
|
10
|
+
|
|
11
|
+
- READ the complete step file before taking any action
|
|
12
|
+
- COMPILE all outputs from previous steps into cohesive document
|
|
13
|
+
- VALIDATE completeness before finalizing
|
|
14
|
+
- ALWAYS treat this as collaborative completion between architectural peers
|
|
15
|
+
|
|
16
|
+
## Execution Protocols
|
|
17
|
+
|
|
18
|
+
- Show your analysis before taking any action
|
|
19
|
+
- Validate all sections are complete before generating document
|
|
20
|
+
- Present completion summary and options
|
|
21
|
+
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
|
|
22
|
+
- NO MORE STEPS - this is the final step
|
|
23
|
+
|
|
24
|
+
## Purpose
|
|
25
|
+
|
|
26
|
+
Consolidate the architecture decision into a formal document (ADR or architecture spec). Validate completeness before finalizing.
|
|
27
|
+
|
|
28
|
+
## Pre-Documentation Validation
|
|
29
|
+
|
|
30
|
+
Before compiling the document, verify:
|
|
31
|
+
|
|
32
|
+
- [ ] Context analysis is complete (Step 2)
|
|
33
|
+
- [ ] Patterns selected with rationale (Step 3)
|
|
34
|
+
- [ ] Components defined with boundaries (Step 4)
|
|
35
|
+
- [ ] Interfaces specified with contracts (Step 5)
|
|
36
|
+
- [ ] Risks assessed with mitigations (Step 6)
|
|
37
|
+
|
|
38
|
+
If any section is incomplete, report to user before proceeding.
|
|
39
|
+
|
|
40
|
+
## Instructions
|
|
41
|
+
|
|
42
|
+
1. **Compile Decision Record**:
|
|
43
|
+
Gather outputs from all previous steps into a cohesive document:
|
|
44
|
+
- Context and problem statement
|
|
45
|
+
- Decision drivers (constraints, concerns)
|
|
46
|
+
- Considered options
|
|
47
|
+
- Decision outcome
|
|
48
|
+
- Consequences
|
|
49
|
+
|
|
50
|
+
2. **Choose Document Type**:
|
|
51
|
+
- **ADR**: For significant, reversible decisions
|
|
52
|
+
- **Architecture Spec**: For system-wide design
|
|
53
|
+
- **Design Doc**: For feature-level architecture
|
|
54
|
+
|
|
55
|
+
3. **Finalize and Store**:
|
|
56
|
+
- Write to appropriate location
|
|
57
|
+
- Link from session/story
|
|
58
|
+
- Update architecture index if exists
|
|
59
|
+
|
|
60
|
+
## Actions
|
|
61
|
+
|
|
62
|
+
- Validate: All previous step outputs are complete
|
|
63
|
+
- Write: Architecture document using template
|
|
64
|
+
- Store: In `docs/adr/` or `docs/architecture/`
|
|
65
|
+
- Update: Any architecture index or registry
|
|
66
|
+
|
|
67
|
+
## Output
|
|
68
|
+
|
|
69
|
+
Create `{output_file}` using the template, containing:
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
# ADR-NNNN: [Decision Title]
|
|
73
|
+
|
|
74
|
+
**Status:** Proposed | Accepted | Deprecated | Superseded
|
|
75
|
+
**Date:** {date}
|
|
76
|
+
**Author:** {agent} ({persona})
|
|
77
|
+
|
|
78
|
+
## Context
|
|
79
|
+
|
|
80
|
+
[Summary from Step 2 - Context Analysis]
|
|
81
|
+
|
|
82
|
+
## Decision Drivers
|
|
83
|
+
|
|
84
|
+
[Key concerns from Step 2]
|
|
85
|
+
|
|
86
|
+
## Considered Options
|
|
87
|
+
|
|
88
|
+
[Patterns from Step 3 with trade-offs]
|
|
89
|
+
|
|
90
|
+
## Decision Outcome
|
|
91
|
+
|
|
92
|
+
[Selected pattern(s) and rationale]
|
|
93
|
+
|
|
94
|
+
### Component Structure
|
|
95
|
+
|
|
96
|
+
[From Step 4]
|
|
97
|
+
|
|
98
|
+
### Interfaces
|
|
99
|
+
|
|
100
|
+
[From Step 5]
|
|
101
|
+
|
|
102
|
+
## Consequences
|
|
103
|
+
|
|
104
|
+
### Positive
|
|
105
|
+
- [Benefits]
|
|
106
|
+
|
|
107
|
+
### Negative
|
|
108
|
+
- [Trade-offs accepted]
|
|
109
|
+
|
|
110
|
+
### Risks and Mitigations
|
|
111
|
+
[From Step 6]
|
|
112
|
+
|
|
113
|
+
## Implementation Consistency Rules
|
|
114
|
+
|
|
115
|
+
[Rules that ensure AI agents implement consistently]
|
|
116
|
+
|
|
117
|
+
## Related Decisions
|
|
118
|
+
|
|
119
|
+
- [Links to related ADRs]
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Completion Menu
|
|
123
|
+
|
|
124
|
+
After generating document, present completion options:
|
|
125
|
+
|
|
126
|
+
- **[V] Validate** - Run comprehensive validation checks on the complete architecture
|
|
127
|
+
- **[E] Edit** - Make revisions to specific sections
|
|
128
|
+
- **[C] Complete** - Finalize document and end workflow
|
|
129
|
+
- **[R] Restart Section** - Go back to a specific step
|
|
130
|
+
|
|
131
|
+
## Validation Checks
|
|
132
|
+
|
|
133
|
+
When user selects [V]:
|
|
134
|
+
1. Verify all PRD requirements have corresponding architecture decisions
|
|
135
|
+
2. Check component boundaries align with domain concepts
|
|
136
|
+
3. Validate interfaces are complete and consistent
|
|
137
|
+
4. Confirm risks have appropriate mitigations
|
|
138
|
+
5. Report validation results with any gaps
|
|
139
|
+
|
|
140
|
+
## Completion
|
|
141
|
+
|
|
142
|
+
The architecture workflow is complete. The decision document is ready for review.
|
|
143
|
+
|
|
144
|
+
**Next steps:**
|
|
145
|
+
1. Review document with stakeholders
|
|
146
|
+
2. Update status to "Accepted" after approval
|
|
147
|
+
3. Begin implementation planning
|
|
148
|
+
|
|
149
|
+
## Success Metrics
|
|
150
|
+
|
|
151
|
+
- All previous step outputs compiled into document
|
|
152
|
+
- Validation checks passed
|
|
153
|
+
- Document written to appropriate location
|
|
154
|
+
- User confirmed completion
|
|
155
|
+
|
|
156
|
+
## Failure Modes
|
|
157
|
+
|
|
158
|
+
- Missing sections from previous steps
|
|
159
|
+
- Incomplete validation
|
|
160
|
+
- Not confirming completion with user
|