@pennyfarthing/core 10.1.0 → 10.3.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 +22 -24
- package/package.json +3 -1
- package/packages/core/dist/cli/commands/doctor-file-layout.test.js.map +1 -1
- package/packages/core/dist/cli/commands/doctor-legacy.test.js +24 -0
- package/packages/core/dist/cli/commands/doctor-legacy.test.js.map +1 -1
- package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/doctor.js +101 -15
- package/packages/core/dist/cli/commands/doctor.js.map +1 -1
- package/packages/core/dist/cli/commands/e2e-fresh-install.test.js +2 -2
- package/packages/core/dist/cli/commands/e2e-fresh-install.test.js.map +1 -1
- package/packages/core/dist/cli/commands/e2e-upgrade.test.js +2 -2
- package/packages/core/dist/cli/commands/e2e-upgrade.test.js.map +1 -1
- package/packages/core/dist/cli/commands/hooks-consolidation.test.js +2 -2
- package/packages/core/dist/cli/commands/hooks-consolidation.test.js.map +1 -1
- package/packages/core/dist/cli/commands/init-consolidation.test.js.map +1 -1
- package/packages/core/dist/cli/commands/theme.js +1 -1
- package/packages/core/dist/cli/commands/theme.js.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.js +24 -13
- package/packages/core/dist/cli/commands/uninstall.js.map +1 -1
- package/packages/core/dist/cli/commands/update-consolidation.test.js +0 -10
- package/packages/core/dist/cli/commands/update-consolidation.test.js.map +1 -1
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/ocean-profiles.test.js.map +1 -1
- package/packages/core/dist/cli/theme-maker.test.js +64 -115
- package/packages/core/dist/cli/theme-maker.test.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/themes.js +3 -2
- package/packages/core/dist/cli/utils/themes.js.map +1 -1
- package/packages/core/dist/index.d.ts +1 -1
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +2 -2
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/plugins/plugin-discovery.d.ts +116 -0
- package/packages/core/dist/plugins/plugin-discovery.d.ts.map +1 -0
- package/packages/core/dist/plugins/plugin-discovery.js +165 -0
- package/packages/core/dist/plugins/plugin-discovery.js.map +1 -0
- package/packages/core/dist/plugins/plugin-discovery.test.d.ts +22 -0
- package/packages/core/dist/plugins/plugin-discovery.test.d.ts.map +1 -0
- package/packages/core/dist/plugins/plugin-discovery.test.js +498 -0
- package/packages/core/dist/plugins/plugin-discovery.test.js.map +1 -0
- package/packages/core/dist/scripts/add-ocean-profiles.js +1 -1
- package/packages/core/dist/scripts/add-ocean-profiles.js.map +1 -1
- package/packages/core/dist/scripts/generate-all-spiders.js +2 -0
- package/packages/core/dist/scripts/generate-all-spiders.js.map +1 -1
- package/packages/core/dist/scripts/generate-report.d.ts.map +1 -1
- package/packages/core/dist/scripts/generate-report.js +2 -0
- package/packages/core/dist/scripts/generate-report.js.map +1 -1
- package/packages/core/dist/scripts/generate-spider-report.js.map +1 -1
- package/packages/core/dist/scripts/generate-spider.d.ts.map +1 -1
- package/packages/core/dist/scripts/generate-spider.js +2 -0
- package/packages/core/dist/scripts/generate-spider.js.map +1 -1
- package/packages/core/dist/scripts/validate-ocean-profiles.js +1 -1
- package/packages/core/dist/scripts/validate-ocean-profiles.js.map +1 -1
- package/packages/core/dist/workflow/file-watch.d.ts +82 -0
- package/packages/core/dist/workflow/file-watch.d.ts.map +1 -0
- package/packages/core/dist/workflow/file-watch.js +198 -0
- package/packages/core/dist/workflow/file-watch.js.map +1 -0
- package/packages/core/dist/workflow/file-watch.test.d.ts +21 -0
- package/packages/core/dist/workflow/file-watch.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/file-watch.test.js +469 -0
- package/packages/core/dist/workflow/file-watch.test.js.map +1 -0
- package/packages/core/dist/workflow/observation-writer.d.ts +79 -0
- package/packages/core/dist/workflow/observation-writer.d.ts.map +1 -0
- package/packages/core/dist/workflow/observation-writer.js +97 -0
- package/packages/core/dist/workflow/observation-writer.js.map +1 -0
- package/packages/core/dist/workflow/observation-writer.test.d.ts +18 -0
- package/packages/core/dist/workflow/observation-writer.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/observation-writer.test.js +424 -0
- package/packages/core/dist/workflow/observation-writer.test.js.map +1 -0
- package/packages/core/dist/workflow/output-path-normalizer.d.ts +47 -0
- package/packages/core/dist/workflow/output-path-normalizer.d.ts.map +1 -0
- package/packages/core/dist/workflow/output-path-normalizer.js +79 -0
- package/packages/core/dist/workflow/output-path-normalizer.js.map +1 -0
- package/packages/core/dist/workflow/output-path-normalizer.test.d.ts +16 -0
- package/packages/core/dist/workflow/output-path-normalizer.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/output-path-normalizer.test.js +157 -0
- package/packages/core/dist/workflow/output-path-normalizer.test.js.map +1 -0
- package/packages/core/dist/workflow/story-workflow-routing.test.js +4 -2
- package/packages/core/dist/workflow/story-workflow-routing.test.js.map +1 -1
- package/packages/core/dist/workflow/tandem-lifecycle.d.ts +117 -0
- package/packages/core/dist/workflow/tandem-lifecycle.d.ts.map +1 -0
- package/packages/core/dist/workflow/tandem-lifecycle.js +186 -0
- package/packages/core/dist/workflow/tandem-lifecycle.js.map +1 -0
- package/packages/core/dist/workflow/tandem-lifecycle.test.d.ts +16 -0
- package/packages/core/dist/workflow/tandem-lifecycle.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/tandem-lifecycle.test.js +531 -0
- package/packages/core/dist/workflow/tandem-lifecycle.test.js.map +1 -0
- package/packages/core/dist/workflow/tool-watch.d.ts +68 -0
- package/packages/core/dist/workflow/tool-watch.d.ts.map +1 -0
- package/packages/core/dist/workflow/tool-watch.js +166 -0
- package/packages/core/dist/workflow/tool-watch.js.map +1 -0
- package/packages/core/dist/workflow/tool-watch.test.d.ts +18 -0
- package/packages/core/dist/workflow/tool-watch.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/tool-watch.test.js +717 -0
- package/packages/core/dist/workflow/tool-watch.test.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.js +1 -1
- package/packages/core/dist/workflow/variable-resolver.js.map +1 -1
- package/packages/core/dist/workflow/workflow-migration.test.js +8 -4
- package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.d.ts +7 -0
- package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.js +44 -0
- package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.test.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.test.js +192 -0
- package/packages/core/dist/workflow/workflow-schema.test.js.map +1 -1
- package/pennyfarthing-dist/agents/README.md +3 -1
- package/pennyfarthing-dist/agents/ba.md +165 -0
- package/pennyfarthing-dist/agents/handoff.md +18 -3
- package/pennyfarthing-dist/agents/sm-finish.md +1 -1
- package/pennyfarthing-dist/agents/sm-handoff.md +27 -4
- package/pennyfarthing-dist/agents/sm.md +11 -5
- package/pennyfarthing-dist/agents/tandem-backseat.md +119 -0
- package/pennyfarthing-dist/commands/ba.md +17 -0
- package/pennyfarthing-dist/commands/setup.md +4 -0
- package/pennyfarthing-dist/guides/agent-behavior.md +62 -6
- package/pennyfarthing-dist/guides/bikelane.md +3 -2
- package/pennyfarthing-dist/guides/scale-levels.md +4 -6
- package/pennyfarthing-dist/guides/tandem-protocol.md +158 -0
- package/pennyfarthing-dist/guides/workflow-schema.md +1 -1
- package/pennyfarthing-dist/personas/themes/a-team.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/control.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +31 -0
- package/pennyfarthing-dist/personas/themes/discworld.yaml +32 -1
- package/pennyfarthing-dist/personas/themes/doctor-who.yaml +31 -0
- package/pennyfarthing-dist/personas/themes/dune.yaml +32 -0
- package/pennyfarthing-dist/personas/themes/fifth-element.yaml +327 -0
- package/pennyfarthing-dist/personas/themes/firefly.yaml +31 -0
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/mad-max.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/mash.yaml +33 -0
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +34 -0
- package/pennyfarthing-dist/personas/themes/sandman.yaml +33 -0
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +34 -0
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +33 -0
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/the-matrix.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/watchmen.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/west-wing.yaml +30 -0
- package/pennyfarthing-dist/personas/themes/x-files.yaml +30 -0
- package/pennyfarthing-dist/scripts/README.md +1 -1
- package/pennyfarthing-dist/scripts/core/agent-session.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +131 -54
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +20 -10
- package/pennyfarthing-dist/scripts/misc/statusline.sh +50 -8
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +2 -2
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +1 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +2 -2
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +10 -189
- package/pennyfarthing-dist/skills/skill-registry.schema.json +8 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +1 -1
- package/pennyfarthing-dist/skills/sprint/skill.md +25 -2
- package/pennyfarthing-dist/skills/theme/skill.md +1 -1
- package/pennyfarthing-dist/skills/workflow/skill.md +24 -1
- package/pennyfarthing-dist/workflows/architecture/workflow.yaml +65 -0
- package/pennyfarthing-dist/workflows/architecture.yaml +2 -2
- package/pennyfarthing-dist/workflows/bdd-tandem.yaml +70 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +2 -2
- package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +2 -2
- package/pennyfarthing-dist/workflows/prd/workflow.yaml +2 -2
- package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +2 -2
- package/pennyfarthing-dist/workflows/project-context/workflow.yaml +2 -2
- package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +2 -2
- package/pennyfarthing-dist/workflows/research/workflow.yaml +2 -2
- package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +1 -1
- package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +3 -3
- package/pennyfarthing-dist/workflows/tdd-tandem.yaml +61 -0
- package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +2 -2
- package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/pretooluse_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bellmode_hook.py +202 -47
- package/pennyfarthing_scripts/bikerack/__init__.py +36 -0
- package/pennyfarthing_scripts/bikerack/__main__.py +5 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/launcher.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/cli.py +148 -0
- package/pennyfarthing_scripts/bikerack/launcher.py +181 -0
- package/pennyfarthing_scripts/brownfield/__init__.py +6 -6
- package/pennyfarthing_scripts/brownfield/__main__.py +1 -0
- package/pennyfarthing_scripts/brownfield/cli.py +0 -1
- package/pennyfarthing_scripts/brownfield/discover.py +1 -2
- package/pennyfarthing_scripts/cli.py +16 -6
- package/pennyfarthing_scripts/codemarkers/__init__.py +5 -1
- package/pennyfarthing_scripts/codemarkers/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/analyze.py +177 -2
- package/pennyfarthing_scripts/codemarkers/cli.py +50 -0
- package/pennyfarthing_scripts/codemarkers/formatters.py +0 -1
- package/pennyfarthing_scripts/codemarkers/models.py +15 -0
- package/pennyfarthing_scripts/common/__init__.py +8 -9
- package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/config.py +1 -1
- package/pennyfarthing_scripts/complexity/__init__.py +1 -1
- package/pennyfarthing_scripts/complexity/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/analyze.py +1 -1
- package/pennyfarthing_scripts/complexity/cli.py +5 -1
- package/pennyfarthing_scripts/complexity/formatters.py +1 -1
- package/pennyfarthing_scripts/context.py +14 -15
- package/pennyfarthing_scripts/deadcode/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/analyze.py +3 -4
- package/pennyfarthing_scripts/deadcode/cli.py +2 -2
- package/pennyfarthing_scripts/dependencies/__init__.py +2 -2
- package/pennyfarthing_scripts/dependencies/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/analyze.py +1 -1
- package/pennyfarthing_scripts/dependencies/cli.py +8 -4
- package/pennyfarthing_scripts/dependencies/formatters.py +1 -1
- package/pennyfarthing_scripts/git/__init__.py +5 -5
- package/pennyfarthing_scripts/git/create_branches.py +3 -2
- package/pennyfarthing_scripts/git/status_all.py +1 -1
- package/pennyfarthing_scripts/healthscore/__init__.py +2 -2
- package/pennyfarthing_scripts/healthscore/__main__.py +8 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/analyze.py +452 -21
- package/pennyfarthing_scripts/healthscore/cli.py +5 -1
- package/pennyfarthing_scripts/healthscore/models.py +0 -1
- package/pennyfarthing_scripts/hooks.py +8 -11
- package/pennyfarthing_scripts/hotspots/__init__.py +6 -6
- package/pennyfarthing_scripts/hotspots/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/analyze.py +128 -14
- package/pennyfarthing_scripts/hotspots/cli.py +2 -2
- package/pennyfarthing_scripts/hotspots/models.py +0 -1
- package/pennyfarthing_scripts/jira/__init__.py +15 -17
- package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/create.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/reconcile.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/bidirectional.py +2 -3
- package/pennyfarthing_scripts/jira/claim.py +21 -0
- package/pennyfarthing_scripts/jira/cli.py +2 -2
- package/pennyfarthing_scripts/jira/client.py +4 -4
- package/pennyfarthing_scripts/jira/create.py +45 -1
- package/pennyfarthing_scripts/jira/epic.py +3 -2
- package/pennyfarthing_scripts/jira/reconcile.py +0 -1
- package/pennyfarthing_scripts/jira/story.py +2 -0
- package/pennyfarthing_scripts/jira/sync.py +1 -1
- package/pennyfarthing_scripts/migration/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/skill.py +0 -1
- package/pennyfarthing_scripts/migration/step.py +0 -1
- package/pennyfarthing_scripts/migration/validate.py +8 -5
- package/pennyfarthing_scripts/patch_mode.py +2 -2
- package/pennyfarthing_scripts/preflight/__init__.py +1 -1
- package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/finish.py +0 -1
- package/pennyfarthing_scripts/pretooluse_hook.py +6 -7
- package/pennyfarthing_scripts/prime/__init__.py +2 -0
- package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/cli.py +18 -1
- package/pennyfarthing_scripts/prime/loader.py +72 -3
- package/pennyfarthing_scripts/prime/persona.py +4 -2
- package/pennyfarthing_scripts/prime/tiers.py +17 -4
- package/pennyfarthing_scripts/schema_validation_hook.py +2 -3
- package/pennyfarthing_scripts/sprint/__init__.py +10 -12
- package/pennyfarthing_scripts/sprint/__main__.py +2 -2
- package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/epic_add.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/import_epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_add.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_update.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/validate_cmd.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/yaml_io.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/archive.py +0 -1
- package/pennyfarthing_scripts/sprint/archive_epic.py +1 -4
- package/pennyfarthing_scripts/sprint/cli.py +34 -28
- package/pennyfarthing_scripts/sprint/epic_add.py +8 -1
- package/pennyfarthing_scripts/sprint/import_epic.py +42 -18
- package/pennyfarthing_scripts/sprint/loader.py +6 -0
- package/pennyfarthing_scripts/sprint/status.py +1 -2
- package/pennyfarthing_scripts/sprint/story_add.py +2 -2
- package/pennyfarthing_scripts/sprint/story_finish.py +3 -5
- package/pennyfarthing_scripts/sprint/story_update.py +11 -3
- package/pennyfarthing_scripts/sprint/validate_cmd.py +0 -1
- package/pennyfarthing_scripts/sprint/validator.py +120 -6
- package/pennyfarthing_scripts/sprint/work.py +1 -4
- package/pennyfarthing_scripts/sprint/yaml_io.py +10 -2
- package/pennyfarthing_scripts/story/__init__.py +14 -16
- package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/size.py +0 -1
- package/pennyfarthing_scripts/story/template.py +0 -1
- package/pennyfarthing_scripts/swebench.py +1 -2
- package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_bikerack.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_epic_shard_validation.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_healthscore.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_yaml_io.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/conftest.py +1 -2
- package/pennyfarthing_scripts/tests/test_bikerack.py +785 -0
- package/pennyfarthing_scripts/tests/test_brownfield.py +10 -13
- package/pennyfarthing_scripts/tests/test_cli_modules.py +0 -4
- package/pennyfarthing_scripts/tests/test_codemarkers.py +13 -8
- package/pennyfarthing_scripts/tests/test_common.py +9 -4
- package/pennyfarthing_scripts/tests/test_epic_shard_validation.py +699 -0
- package/pennyfarthing_scripts/tests/test_git_utils.py +10 -13
- package/pennyfarthing_scripts/tests/test_healthscore.py +17 -25
- package/pennyfarthing_scripts/tests/test_jira_package.py +0 -3
- package/pennyfarthing_scripts/tests/test_package_structure.py +3 -16
- package/pennyfarthing_scripts/tests/test_patch_mode.py +7 -11
- package/pennyfarthing_scripts/tests/test_prime.py +39 -21
- package/pennyfarthing_scripts/tests/test_sprint_package.py +3 -8
- package/pennyfarthing_scripts/tests/test_sprint_validator.py +53 -5
- package/pennyfarthing_scripts/tests/test_story_add.py +3 -7
- package/pennyfarthing_scripts/tests/test_story_package.py +0 -3
- package/pennyfarthing_scripts/tests/test_story_update.py +5 -10
- package/pennyfarthing_scripts/tests/test_tiers.py +18 -17
- package/pennyfarthing_scripts/tests/test_token_counting.py +19 -13
- package/pennyfarthing_scripts/tests/test_topology_loader.py +620 -0
- package/pennyfarthing_scripts/tests/test_validate_cmd.py +2 -7
- package/pennyfarthing_scripts/tests/test_workflow_check.py +0 -2
- package/pennyfarthing_scripts/tests/test_yaml_io.py +0 -3
- package/pennyfarthing_scripts/theme/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/theme/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/theme/cli.py +3 -2
- package/pennyfarthing_scripts/validate/__init__.py +21 -0
- package/pennyfarthing_scripts/validate/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__init__.py +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/agent.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/schema.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/skill_command.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/sprint.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/agent.py +239 -0
- package/pennyfarthing_scripts/validate/adapters/schema.py +30 -0
- package/pennyfarthing_scripts/validate/adapters/skill_command.py +291 -0
- package/pennyfarthing_scripts/validate/adapters/sprint.py +69 -0
- package/pennyfarthing_scripts/validate/adapters/workflow.py +320 -0
- package/pennyfarthing_scripts/validate/cli.py +141 -0
- package/pennyfarthing_scripts/welcome_hook.py +2 -3
- package/pennyfarthing_scripts/workflow.py +3 -3
- package/scripts/README.md +3 -15
- package/pennyfarthing-dist/commands/benchmark-control.md +0 -69
- package/pennyfarthing-dist/commands/benchmark.md +0 -485
- package/pennyfarthing-dist/commands/job-fair.md +0 -102
- package/pennyfarthing-dist/commands/solo.md +0 -447
- package/pennyfarthing-dist/guides/benchmarks.md +0 -62
- package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +0 -59
- package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +0 -220
- package/pennyfarthing-dist/scripts/test/swebench-judge.py +0 -374
- package/pennyfarthing-dist/scripts/test/test-cache.sh +0 -165
- package/pennyfarthing-dist/scripts/test/test-setup.sh +0 -337
- package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +0 -13
- package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +0 -402
- package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +0 -97
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +0 -261
- package/pennyfarthing-dist/skills/judge/SKILL.md +0 -644
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +0 -187
- package/pennyfarthing-dist/workflows/dev-story/checklist.md +0 -80
- package/pennyfarthing-dist/workflows/dev-story/instructions.xml +0 -410
- package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +0 -50
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +0 -201
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +0 -156
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +0 -140
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +0 -203
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +0 -74
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +0 -27
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output Path Normalizer for MSSCI-14812 (91-27)
|
|
3
|
+
*
|
|
4
|
+
* Normalizes stepped workflow output paths to use sprint/planning/
|
|
5
|
+
* and detects filename collisions across workflows.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Normalize an output path to use sprint/planning/ as base directory
|
|
9
|
+
*
|
|
10
|
+
* Rewrites artifacts/, ./artifacts/, planning-artifacts/, ./planning-artifacts/
|
|
11
|
+
* prefixes to sprint/planning/. Bare filenames get sprint/planning/ prepended.
|
|
12
|
+
*
|
|
13
|
+
* @param outputPath - The original output_file path from workflow YAML
|
|
14
|
+
* @returns Normalized path under sprint/planning/
|
|
15
|
+
*/
|
|
16
|
+
export function normalizeOutputPath(outputPath) {
|
|
17
|
+
const TARGET = 'sprint/planning/';
|
|
18
|
+
// Already normalized
|
|
19
|
+
if (outputPath.startsWith(TARGET)) {
|
|
20
|
+
return outputPath;
|
|
21
|
+
}
|
|
22
|
+
// Strip known prefixes (with optional ./ leader)
|
|
23
|
+
const prefixes = [
|
|
24
|
+
'./artifacts/',
|
|
25
|
+
'artifacts/',
|
|
26
|
+
'./planning-artifacts/',
|
|
27
|
+
'planning-artifacts/',
|
|
28
|
+
];
|
|
29
|
+
for (const prefix of prefixes) {
|
|
30
|
+
if (outputPath.startsWith(prefix)) {
|
|
31
|
+
return TARGET + outputPath.slice(prefix.length);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Bare filename — no directory separator
|
|
35
|
+
if (!outputPath.includes('/')) {
|
|
36
|
+
return TARGET + outputPath;
|
|
37
|
+
}
|
|
38
|
+
return outputPath;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Audit workflow output paths for collisions and inconsistencies
|
|
42
|
+
*
|
|
43
|
+
* @param configs - Array of workflow output configurations
|
|
44
|
+
* @returns Audit result with collision and consistency details
|
|
45
|
+
*/
|
|
46
|
+
export function auditWorkflowOutputPaths(configs) {
|
|
47
|
+
const TARGET = 'sprint/planning/';
|
|
48
|
+
// Detect duplicate output filenames
|
|
49
|
+
const fileMap = new Map();
|
|
50
|
+
for (const config of configs) {
|
|
51
|
+
const existing = fileMap.get(config.outputFile) ?? [];
|
|
52
|
+
existing.push(config.workflowName);
|
|
53
|
+
fileMap.set(config.outputFile, existing);
|
|
54
|
+
}
|
|
55
|
+
const collisions = [...fileMap.entries()]
|
|
56
|
+
.filter(([, workflows]) => workflows.length > 1)
|
|
57
|
+
.map(([filePath, workflows]) => ({ filePath, workflows }));
|
|
58
|
+
// Detect inconsistent base directories (outputFile + planningArtifacts)
|
|
59
|
+
const inconsistentPaths = [];
|
|
60
|
+
for (const config of configs) {
|
|
61
|
+
if (!config.outputFile.startsWith(TARGET)) {
|
|
62
|
+
inconsistentPaths.push({ workflowName: config.workflowName, path: config.outputFile });
|
|
63
|
+
}
|
|
64
|
+
if (config.planningArtifacts !== undefined) {
|
|
65
|
+
const normalized = config.planningArtifacts.replace(/\/$/, '');
|
|
66
|
+
const targetNormalized = TARGET.replace(/\/$/, '');
|
|
67
|
+
if (normalized !== targetNormalized) {
|
|
68
|
+
inconsistentPaths.push({ workflowName: config.workflowName, path: config.planningArtifacts });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
hasCollisions: collisions.length > 0,
|
|
74
|
+
collisions,
|
|
75
|
+
hasInconsistentPaths: inconsistentPaths.length > 0,
|
|
76
|
+
inconsistentPaths,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=output-path-normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-path-normalizer.js","sourceRoot":"","sources":["../../src/workflow/output-path-normalizer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAElC,qBAAqB;IACrB,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,iDAAiD;IACjD,MAAM,QAAQ,GAAG;QACf,cAAc;QACd,YAAY;QACZ,uBAAuB;QACvB,qBAAqB;KACtB,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,GAAG,UAAU,CAAC;IAC7B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA+B;IACtE,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAElC,oCAAoC;IACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/C,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAE7D,wEAAwE;IACxE,MAAM,iBAAiB,GAAkD,EAAE,CAAC;IAE5E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;gBACpC,iBAAiB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;QACpC,UAAU;QACV,oBAAoB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAClD,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for Story MSSCI-14812 (91-27): Normalize stepped workflow output paths
|
|
3
|
+
*
|
|
4
|
+
* Problem: BMAD-ported stepped workflows write to inconsistent directories
|
|
5
|
+
* (./artifacts, planning-artifacts/) with generic filenames that collide.
|
|
6
|
+
* Output should go to sprint/planning/ to align with existing project docs.
|
|
7
|
+
*
|
|
8
|
+
* This test file covers:
|
|
9
|
+
* 1. normalizeOutputPath() — maps workflow output_file to sprint/planning/
|
|
10
|
+
* 2. auditWorkflowOutputPaths() — detects collisions and inconsistent dirs
|
|
11
|
+
* 3. variable-resolver default change — planning_artifacts → sprint/planning/
|
|
12
|
+
*
|
|
13
|
+
* Run with: npm test
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=output-path-normalizer.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-path-normalizer.test.d.ts","sourceRoot":"","sources":["../../src/workflow/output-path-normalizer.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for Story MSSCI-14812 (91-27): Normalize stepped workflow output paths
|
|
3
|
+
*
|
|
4
|
+
* Problem: BMAD-ported stepped workflows write to inconsistent directories
|
|
5
|
+
* (./artifacts, planning-artifacts/) with generic filenames that collide.
|
|
6
|
+
* Output should go to sprint/planning/ to align with existing project docs.
|
|
7
|
+
*
|
|
8
|
+
* This test file covers:
|
|
9
|
+
* 1. normalizeOutputPath() — maps workflow output_file to sprint/planning/
|
|
10
|
+
* 2. auditWorkflowOutputPaths() — detects collisions and inconsistent dirs
|
|
11
|
+
* 3. variable-resolver default change — planning_artifacts → sprint/planning/
|
|
12
|
+
*
|
|
13
|
+
* Run with: npm test
|
|
14
|
+
*/
|
|
15
|
+
import { describe, it } from 'node:test';
|
|
16
|
+
import assert from 'node:assert';
|
|
17
|
+
// Import will fail until implementation exists - confirms RED state
|
|
18
|
+
import { normalizeOutputPath, auditWorkflowOutputPaths, } from './output-path-normalizer.js';
|
|
19
|
+
describe('Output Path Normalizer (MSSCI-14812)', () => {
|
|
20
|
+
describe('AC1: normalizeOutputPath maps to sprint/planning/', () => {
|
|
21
|
+
it('should rewrite artifacts/ prefix to sprint/planning/', () => {
|
|
22
|
+
const result = normalizeOutputPath('artifacts/architecture.md');
|
|
23
|
+
assert.strictEqual(result, 'sprint/planning/architecture.md');
|
|
24
|
+
});
|
|
25
|
+
it('should rewrite ./artifacts/ prefix to sprint/planning/', () => {
|
|
26
|
+
const result = normalizeOutputPath('./artifacts/architecture.md');
|
|
27
|
+
assert.strictEqual(result, 'sprint/planning/architecture.md');
|
|
28
|
+
});
|
|
29
|
+
it('should rewrite planning-artifacts/ prefix to sprint/planning/', () => {
|
|
30
|
+
const result = normalizeOutputPath('planning-artifacts/prd.md');
|
|
31
|
+
assert.strictEqual(result, 'sprint/planning/prd.md');
|
|
32
|
+
});
|
|
33
|
+
it('should rewrite ./planning-artifacts/ prefix to sprint/planning/', () => {
|
|
34
|
+
const result = normalizeOutputPath('./planning-artifacts/prd.md');
|
|
35
|
+
assert.strictEqual(result, 'sprint/planning/prd.md');
|
|
36
|
+
});
|
|
37
|
+
it('should preserve subdirectories under the base dir', () => {
|
|
38
|
+
const result = normalizeOutputPath('artifacts/analysis/brainstorming-session-2026-02-11.md');
|
|
39
|
+
assert.strictEqual(result, 'sprint/planning/analysis/brainstorming-session-2026-02-11.md');
|
|
40
|
+
});
|
|
41
|
+
it('should leave sprint/planning/ paths unchanged', () => {
|
|
42
|
+
const result = normalizeOutputPath('sprint/planning/architecture.md');
|
|
43
|
+
assert.strictEqual(result, 'sprint/planning/architecture.md');
|
|
44
|
+
});
|
|
45
|
+
it('should handle bare filename (no directory) by prepending sprint/planning/', () => {
|
|
46
|
+
const result = normalizeOutputPath('architecture.md');
|
|
47
|
+
assert.strictEqual(result, 'sprint/planning/architecture.md');
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe('AC2: auditWorkflowOutputPaths detects collisions', () => {
|
|
51
|
+
it('should detect duplicate output filenames across workflows', () => {
|
|
52
|
+
const configs = [
|
|
53
|
+
{ workflowName: 'architecture', outputFile: 'sprint/planning/architecture.md' },
|
|
54
|
+
{ workflowName: 'architecture-phased', outputFile: 'sprint/planning/architecture.md' },
|
|
55
|
+
];
|
|
56
|
+
const result = auditWorkflowOutputPaths(configs);
|
|
57
|
+
assert.strictEqual(result.hasCollisions, true);
|
|
58
|
+
assert.ok(result.collisions.length > 0);
|
|
59
|
+
assert.ok(result.collisions[0].filePath.includes('architecture.md'));
|
|
60
|
+
assert.ok(result.collisions[0].workflows.includes('architecture'));
|
|
61
|
+
assert.ok(result.collisions[0].workflows.includes('architecture-phased'));
|
|
62
|
+
});
|
|
63
|
+
it('should report no collisions when all paths are unique', () => {
|
|
64
|
+
const configs = [
|
|
65
|
+
{ workflowName: 'architecture', outputFile: 'sprint/planning/architecture.md' },
|
|
66
|
+
{ workflowName: 'prd', outputFile: 'sprint/planning/prd.md' },
|
|
67
|
+
{ workflowName: 'research', outputFile: 'sprint/planning/research.md' },
|
|
68
|
+
];
|
|
69
|
+
const result = auditWorkflowOutputPaths(configs);
|
|
70
|
+
assert.strictEqual(result.hasCollisions, false);
|
|
71
|
+
assert.strictEqual(result.collisions.length, 0);
|
|
72
|
+
});
|
|
73
|
+
it('should detect inconsistent base directories', () => {
|
|
74
|
+
const configs = [
|
|
75
|
+
{ workflowName: 'architecture', outputFile: 'sprint/planning/architecture.md' },
|
|
76
|
+
{ workflowName: 'prd', outputFile: 'artifacts/prd.md' },
|
|
77
|
+
{ workflowName: 'research', outputFile: './planning-artifacts/research.md' },
|
|
78
|
+
];
|
|
79
|
+
const result = auditWorkflowOutputPaths(configs);
|
|
80
|
+
assert.strictEqual(result.hasInconsistentPaths, true);
|
|
81
|
+
assert.ok(result.inconsistentPaths.length >= 2);
|
|
82
|
+
});
|
|
83
|
+
it('should report all paths consistent when all use sprint/planning/', () => {
|
|
84
|
+
const configs = [
|
|
85
|
+
{ workflowName: 'architecture', outputFile: 'sprint/planning/architecture.md' },
|
|
86
|
+
{ workflowName: 'prd', outputFile: 'sprint/planning/prd.md' },
|
|
87
|
+
];
|
|
88
|
+
const result = auditWorkflowOutputPaths(configs);
|
|
89
|
+
assert.strictEqual(result.hasInconsistentPaths, false);
|
|
90
|
+
});
|
|
91
|
+
it('should handle empty config list', () => {
|
|
92
|
+
const result = auditWorkflowOutputPaths([]);
|
|
93
|
+
assert.strictEqual(result.hasCollisions, false);
|
|
94
|
+
assert.strictEqual(result.hasInconsistentPaths, false);
|
|
95
|
+
assert.strictEqual(result.collisions.length, 0);
|
|
96
|
+
});
|
|
97
|
+
it('should detect collision in planning_artifacts variable too', () => {
|
|
98
|
+
const configs = [
|
|
99
|
+
{ workflowName: 'architecture', outputFile: 'sprint/planning/architecture.md', planningArtifacts: 'sprint/planning' },
|
|
100
|
+
{ workflowName: 'prd', outputFile: 'sprint/planning/prd.md', planningArtifacts: './artifacts' },
|
|
101
|
+
];
|
|
102
|
+
const result = auditWorkflowOutputPaths(configs);
|
|
103
|
+
assert.strictEqual(result.hasInconsistentPaths, true);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
describe('AC3: Workflow YAML output_file values are normalized', () => {
|
|
107
|
+
it('should map architecture workflow output to sprint/planning/architecture.md', () => {
|
|
108
|
+
assert.strictEqual(normalizeOutputPath('artifacts/architecture.md'), 'sprint/planning/architecture.md');
|
|
109
|
+
});
|
|
110
|
+
it('should map prd workflow output to sprint/planning/prd.md', () => {
|
|
111
|
+
assert.strictEqual(normalizeOutputPath('artifacts/prd.md'), 'sprint/planning/prd.md');
|
|
112
|
+
});
|
|
113
|
+
it('should map research workflow output to sprint/planning/research.md', () => {
|
|
114
|
+
assert.strictEqual(normalizeOutputPath('artifacts/research.md'), 'sprint/planning/research.md');
|
|
115
|
+
});
|
|
116
|
+
it('should map epics-and-stories output to sprint/planning/epics.md', () => {
|
|
117
|
+
assert.strictEqual(normalizeOutputPath('artifacts/create-epics-and-stories.md'), 'sprint/planning/create-epics-and-stories.md');
|
|
118
|
+
});
|
|
119
|
+
it('should map sprint-planning output to sprint/planning/sprint-status.yaml', () => {
|
|
120
|
+
assert.strictEqual(normalizeOutputPath('artifacts/sprint-status.yaml'), 'sprint/planning/sprint-status.yaml');
|
|
121
|
+
});
|
|
122
|
+
it('should map ux-design output to sprint/planning/ux-design-specification.md', () => {
|
|
123
|
+
assert.strictEqual(normalizeOutputPath('artifacts/ux-design-specification.md'), 'sprint/planning/ux-design-specification.md');
|
|
124
|
+
});
|
|
125
|
+
it('should map implementation-readiness output to sprint/planning/', () => {
|
|
126
|
+
assert.strictEqual(normalizeOutputPath('artifacts/implementation-readiness-report.md'), 'sprint/planning/implementation-readiness-report.md');
|
|
127
|
+
});
|
|
128
|
+
it('should map product-brief output to sprint/planning/', () => {
|
|
129
|
+
assert.strictEqual(normalizeOutputPath('artifacts/product-brief.md'), 'sprint/planning/product-brief.md');
|
|
130
|
+
});
|
|
131
|
+
it('should map project-context output to sprint/planning/', () => {
|
|
132
|
+
assert.strictEqual(normalizeOutputPath('artifacts/generate-project-context.md'), 'sprint/planning/generate-project-context.md');
|
|
133
|
+
});
|
|
134
|
+
it('should map quick-dev output to sprint/planning/', () => {
|
|
135
|
+
assert.strictEqual(normalizeOutputPath('artifacts/quick-dev.md'), 'sprint/planning/quick-dev.md');
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
describe('Variable Resolver Default Update (MSSCI-14812)', () => {
|
|
140
|
+
// This test imports the existing resolveStepVariables and verifies
|
|
141
|
+
// the default has been changed from 'planning-artifacts/' to 'sprint/planning/'
|
|
142
|
+
it('should use sprint/planning/ as default planning_artifacts', async () => {
|
|
143
|
+
const { resolveStepVariables } = await import('./variable-resolver.js');
|
|
144
|
+
const content = 'Output to: {planning_artifacts}';
|
|
145
|
+
const result = resolveStepVariables(content, {});
|
|
146
|
+
assert.strictEqual(result.content, 'Output to: sprint/planning/', 'Default planning_artifacts should be sprint/planning/ not planning-artifacts/');
|
|
147
|
+
});
|
|
148
|
+
it('should still allow workflow vars to override the default', async () => {
|
|
149
|
+
const { resolveStepVariables } = await import('./variable-resolver.js');
|
|
150
|
+
const content = 'Output to: {planning_artifacts}';
|
|
151
|
+
const result = resolveStepVariables(content, {
|
|
152
|
+
workflowVars: { planning_artifacts: 'custom/path/' },
|
|
153
|
+
});
|
|
154
|
+
assert.strictEqual(result.content, 'Output to: custom/path/');
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
//# sourceMappingURL=output-path-normalizer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-path-normalizer.test.js","sourceRoot":"","sources":["../../src/workflow/output-path-normalizer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -395,8 +395,10 @@ describe('AC4: Fallback to TDD workflow', () => {
|
|
|
395
395
|
};
|
|
396
396
|
const result = routeStoryToWorkflow(story, workflows);
|
|
397
397
|
assert.ok(result, 'Should route to a workflow');
|
|
398
|
-
// Feature type
|
|
399
|
-
|
|
398
|
+
// Feature type with 5 points matches both 2party-tdd and tdd triggers
|
|
399
|
+
// (types: [feature, enhancement], points.min: 3). 2party-tdd loads first
|
|
400
|
+
// alphabetically and has equal specificity, so it wins the type match.
|
|
401
|
+
assert.strictEqual(result.workflow.name, '2party-tdd');
|
|
400
402
|
});
|
|
401
403
|
it('should use points-based routing for low-point stories without tag', async () => {
|
|
402
404
|
if (!workflowsDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story-workflow-routing.test.js","sourceRoot":"","sources":["../../src/workflow/story-workflow-routing.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"story-workflow-routing.test.js","sourceRoot":"","sources":["../../src/workflow/story-workflow-routing.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tandem Backseat Agent Lifecycle for Story 95-2
|
|
3
|
+
*
|
|
4
|
+
* Manages spawn/kill lifecycle for backseat observer agents in phased workflows.
|
|
5
|
+
* When a workflow phase has a `tandem:` config block, BikeLane spawns a background
|
|
6
|
+
* subagent that observes the primary agent's work.
|
|
7
|
+
*/
|
|
8
|
+
import type { WorkflowPhase } from './workflow-schema.js';
|
|
9
|
+
/**
|
|
10
|
+
* Handle to a running backseat agent
|
|
11
|
+
*/
|
|
12
|
+
export interface BackseatHandle {
|
|
13
|
+
/** Background task ID from Task tool */
|
|
14
|
+
taskId: string;
|
|
15
|
+
/** Partner agent name (from tandem config) */
|
|
16
|
+
partner: string;
|
|
17
|
+
/** Model used (should always be 'haiku') */
|
|
18
|
+
model: string;
|
|
19
|
+
/** Whether task runs in background */
|
|
20
|
+
runInBackground: boolean;
|
|
21
|
+
/** Normalized observation scopes */
|
|
22
|
+
scope: string[];
|
|
23
|
+
/** Path to observation file: .session/{storyId}-tandem-{partner}.md */
|
|
24
|
+
observationFilePath: string;
|
|
25
|
+
/** Whether cleanup handler was registered at spawn time */
|
|
26
|
+
cleanupRegistered: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Parameters for spawning a backseat agent
|
|
30
|
+
*/
|
|
31
|
+
export interface SpawnBackseatParams {
|
|
32
|
+
/** Phase config (must have tandem block to spawn) */
|
|
33
|
+
phase: WorkflowPhase;
|
|
34
|
+
/** Current story ID */
|
|
35
|
+
storyId: string;
|
|
36
|
+
/** Path to .session directory */
|
|
37
|
+
sessionDir: string;
|
|
38
|
+
/** Process adapter for real spawn/terminate. Omit for in-memory only (tests). */
|
|
39
|
+
adapter?: ProcessAdapter;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Cleanup handler for tandem backseat processes
|
|
43
|
+
*/
|
|
44
|
+
export interface TandemCleanupHandler {
|
|
45
|
+
/** Story ID this handler belongs to */
|
|
46
|
+
storyId: string;
|
|
47
|
+
/** Cleanup function to execute */
|
|
48
|
+
cleanup: () => Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Standard result object per framework pattern
|
|
52
|
+
*/
|
|
53
|
+
export interface TandemResult<T = unknown> {
|
|
54
|
+
success: boolean;
|
|
55
|
+
data?: T;
|
|
56
|
+
error?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Adapter for real process spawn/terminate operations.
|
|
60
|
+
*
|
|
61
|
+
* The library module cannot call Claude Code's Task tool directly —
|
|
62
|
+
* callers (workflow-executor) inject the real implementation.
|
|
63
|
+
* Tests use the default no-op adapter.
|
|
64
|
+
*/
|
|
65
|
+
export interface ProcessAdapter {
|
|
66
|
+
/** Spawn a background process. Returns the real task ID. */
|
|
67
|
+
spawn(params: {
|
|
68
|
+
partner: string;
|
|
69
|
+
model: string;
|
|
70
|
+
storyId: string;
|
|
71
|
+
scope: string[];
|
|
72
|
+
observationFilePath: string;
|
|
73
|
+
}): Promise<{
|
|
74
|
+
taskId: string;
|
|
75
|
+
}>;
|
|
76
|
+
/** Terminate a background process by task ID. */
|
|
77
|
+
terminate(taskId: string): Promise<void>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Reset all in-memory state. For testing only.
|
|
81
|
+
*/
|
|
82
|
+
export declare function _resetForTesting(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Spawn a backseat agent for a tandem-configured phase.
|
|
85
|
+
*
|
|
86
|
+
* If phase has no tandem config, returns success with no handle (no-op).
|
|
87
|
+
* If phase has tandem config, spawns background subagent and returns handle.
|
|
88
|
+
*/
|
|
89
|
+
export declare function spawnBackseat(params: SpawnBackseatParams): Promise<TandemResult<BackseatHandle>>;
|
|
90
|
+
/**
|
|
91
|
+
* Terminate a running backseat agent.
|
|
92
|
+
*
|
|
93
|
+
* Handles already-stopped tasks gracefully (no throw).
|
|
94
|
+
*/
|
|
95
|
+
export declare function terminateBackseat(handle: BackseatHandle, adapter?: ProcessAdapter): Promise<TandemResult<{
|
|
96
|
+
status: string;
|
|
97
|
+
}>>;
|
|
98
|
+
/**
|
|
99
|
+
* Get the active backseat handle for a story, if any.
|
|
100
|
+
*
|
|
101
|
+
* Returns null if no backseat is running for this story.
|
|
102
|
+
*/
|
|
103
|
+
export declare function getActiveBackseat(storyId: string): BackseatHandle | null;
|
|
104
|
+
/**
|
|
105
|
+
* Register a cleanup handler for tandem backseat processes.
|
|
106
|
+
*
|
|
107
|
+
* Handlers are executed on crash recovery or explicit cleanup.
|
|
108
|
+
*/
|
|
109
|
+
export declare function registerCleanupHandler(handler: TandemCleanupHandler): void;
|
|
110
|
+
/**
|
|
111
|
+
* Execute all cleanup handlers for a story.
|
|
112
|
+
*
|
|
113
|
+
* Must not throw even if individual handlers fail.
|
|
114
|
+
* Clears handlers after execution (idempotent).
|
|
115
|
+
*/
|
|
116
|
+
export declare function executeCleanupHandlers(storyId: string): Promise<void>;
|
|
117
|
+
//# sourceMappingURL=tandem-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tandem-lifecycle.d.ts","sourceRoot":"","sources":["../../src/workflow/tandem-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,oCAAoC;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uEAAuE;IACvE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,KAAK,EAAE,aAAa,CAAC;IACrB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,KAAK,CAAC,MAAM,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhC,iDAAiD;IACjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAeD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAoBD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CA+EvC;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmB3C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,GACd,cAAc,GAAG,IAAI,CAEvB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAIN;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAgBf"}
|