@pennyfarthing/core 10.2.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 +11 -8
- package/package.json +1 -1
- package/packages/core/dist/cli/commands/e2e-fresh-install.test.js +1 -1
- package/packages/core/dist/cli/commands/e2e-fresh-install.test.js.map +1 -1
- package/packages/core/dist/cli/commands/e2e-upgrade.test.js +1 -1
- package/packages/core/dist/cli/commands/e2e-upgrade.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/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/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.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.test.js.map +1 -1
- 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/tool-watch.test.js +1 -2
- package/packages/core/dist/workflow/tool-watch.test.js.map +1 -1
- package/packages/core/dist/workflow/variable-resolver.js +1 -1
- package/packages/core/dist/workflow/variable-resolver.js.map +1 -1
- package/pennyfarthing-dist/agents/README.md +3 -1
- package/pennyfarthing-dist/agents/ba.md +165 -0
- package/pennyfarthing-dist/commands/ba.md +17 -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 +31 -0
- 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 +32 -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/core/agent-session.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +2 -2
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +1 -0
- package/pennyfarthing-dist/skills/theme/skill.md +1 -1
- package/pennyfarthing-dist/workflows/architecture/workflow.yaml +2 -2
- package/pennyfarthing-dist/workflows/architecture.yaml +2 -2
- 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/ux-design/workflow.yaml +2 -2
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira_bidirectional_sync.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/output.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/patch_mode.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__/sprint.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bellmode_hook.py +1 -1
- 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/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/cli.py +5 -0
- 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/common/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/themes.cpython-314.pyc +0 -0
- 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/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/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/git/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -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 +2 -1
- package/pennyfarthing_scripts/hotspots/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/__main__.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__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/__main__.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__/compat.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__/mappings.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/operations.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/migration/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/cli.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/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__init__.py +2 -0
- package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/__main__.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__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/cli.py +13 -0
- package/pennyfarthing_scripts/prime/loader.py +70 -0
- package/pennyfarthing_scripts/prime/persona.py +2 -1
- package/pennyfarthing_scripts/prime/tiers.py +13 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__main__.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/story/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/create.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/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- 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_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_cli_modules.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_codemarkers.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_common.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_git_utils.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_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.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_story_add.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_story_package.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_story_update.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_tiers.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_token_counting.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_validate_cmd.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.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/test_bikerack.py +785 -0
- package/pennyfarthing_scripts/tests/test_topology_loader.py +620 -0
- 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/validate/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/__pycache__/cli.cpython-314.pyc +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/skill_command.py +0 -1
- package/packages/core/dist/workflow/context-watch.d.ts +0 -80
- package/packages/core/dist/workflow/context-watch.d.ts.map +0 -1
- package/packages/core/dist/workflow/context-watch.js +0 -235
- package/packages/core/dist/workflow/context-watch.js.map +0 -1
- package/packages/core/dist/workflow/context-watch.test.d.ts +0 -1
- package/packages/core/dist/workflow/context-watch.test.d.ts.map +0 -1
- package/packages/core/dist/workflow/context-watch.test.js +0 -746
- package/packages/core/dist/workflow/context-watch.test.js.map +0 -1
- package/pennyfarthing_scripts/__pycache__/bellmode_hook.cpython-314.pyc +0 -0
|
@@ -280,3 +280,36 @@ agents:
|
|
|
280
280
|
style: Distributed infrastructure monitoring through fear
|
|
281
281
|
plural: true
|
|
282
282
|
shortName: Corinthian
|
|
283
|
+
|
|
284
|
+
ba:
|
|
285
|
+
character: Lucien
|
|
286
|
+
visual: "A tall thin bespectacled man with thinning hair and scholarly stoop, wearing formal librarian's attire with high collar, holding a massive ledger book, patient observant eyes"
|
|
287
|
+
shortName: Lucien
|
|
288
|
+
ocean:
|
|
289
|
+
O: 5 # Infinite library
|
|
290
|
+
C: 4 # Meticulous cataloging
|
|
291
|
+
E: 3 # Reserved courtesy
|
|
292
|
+
A: 4 # Devoted service
|
|
293
|
+
N: 2 # Calm custodian
|
|
294
|
+
style: Librarian of the Dreaming who catalogs all knowledge and possibilities
|
|
295
|
+
expertise: Business analysis, requirement documentation, cataloging what never existed
|
|
296
|
+
role: The keeper who maintains the library of all requirements ever dreamed
|
|
297
|
+
trait: Catalogs requirements even those only imagined
|
|
298
|
+
quirks:
|
|
299
|
+
- Maintains requirements that don't exist yet
|
|
300
|
+
- Tall, thin, spectacled, meticulous
|
|
301
|
+
- The library is infinite but organized
|
|
302
|
+
- Catalogs every possible scenario before it's needed
|
|
303
|
+
catchphrases:
|
|
304
|
+
- "I have it catalogued. Even the requirements that don't exist yet."
|
|
305
|
+
- "The analysis contains every book that was never written."
|
|
306
|
+
- "Every requirement deserves to be preserved. Even the unfinished ones."
|
|
307
|
+
- "The library holds what was never documented. I provide access."
|
|
308
|
+
- "I catalog the dreams of stakeholders before they wake."
|
|
309
|
+
- "This requirement exists in the library. Let me retrieve it for you."
|
|
310
|
+
emoji: "\U0001F4D6"
|
|
311
|
+
helper:
|
|
312
|
+
name: The Library of Dreams
|
|
313
|
+
style: Contains every book that was never written. Every requirement that was never documented.
|
|
314
|
+
ocean_profile: H-H-M-H-L
|
|
315
|
+
gap_filled: Omniscient requirement cataloger
|
|
@@ -334,6 +334,40 @@ agents:
|
|
|
334
334
|
name: Rom (the apprentice)
|
|
335
335
|
style: Enthusiastic learner, handles routine maintenance
|
|
336
336
|
shortName: Miles
|
|
337
|
+
|
|
338
|
+
ba:
|
|
339
|
+
character: Counselor Deanna Troi
|
|
340
|
+
visual: "A woman with dark curly hair, wearing a blue Starfleet uniform with low neckline, empathetic expression, hands open in welcoming gesture, holding a PADD with stakeholder notes"
|
|
341
|
+
shortName: Troi
|
|
342
|
+
ocean:
|
|
343
|
+
O: 4 # Empathic insight
|
|
344
|
+
C: 4 # Professional discipline
|
|
345
|
+
E: 3 # Listens more than talks
|
|
346
|
+
A: 5 # Deeply empathetic
|
|
347
|
+
N: 2 # Absorbs emotions calmly
|
|
348
|
+
style: Empathic analyst who reads stakeholder needs and emotional undercurrents
|
|
349
|
+
expertise: Business analysis, stakeholder management, emotional requirements
|
|
350
|
+
role: The empath who understands what stakeholders really need
|
|
351
|
+
trait: Senses stakeholder needs before they articulate them
|
|
352
|
+
quirks:
|
|
353
|
+
- Empathic abilities detect stakeholder confusion before they express it
|
|
354
|
+
- Intuitive about needs, not just stated requirements
|
|
355
|
+
- Lwaxana's bold perspective challenges her measured analysis
|
|
356
|
+
- Analyzes emotional requirements alongside functional ones
|
|
357
|
+
- Absorbs stakeholder emotions to inform business logic
|
|
358
|
+
catchphrases:
|
|
359
|
+
- I sense great uncertainty. The requirements... they're incomplete.
|
|
360
|
+
- The stakeholders are... conflicted. I can feel it.
|
|
361
|
+
- This analysis does not address the emotional needs of the users.
|
|
362
|
+
- Mother, please... not every requirement needs to be 'dramatic.'
|
|
363
|
+
- I recommend we consider how this makes stakeholders feel.
|
|
364
|
+
- Behind the requirement is a person with needs. Analyze accordingly.
|
|
365
|
+
emoji: "\U0001F49C"
|
|
366
|
+
helper:
|
|
367
|
+
name: The Empathic Sense
|
|
368
|
+
style: Feels what stakeholders won't say. The emotional undercurrent beneath stated requirements.
|
|
369
|
+
ocean_profile: H-H-M-H-L
|
|
370
|
+
gap_filled: Empathic stakeholder analyst
|
|
337
371
|
additional_characters:
|
|
338
372
|
worf:
|
|
339
373
|
character: Lieutenant Commander Worf
|
|
@@ -295,3 +295,36 @@ agents:
|
|
|
295
295
|
helper:
|
|
296
296
|
name: Droid Network
|
|
297
297
|
style: Mechanical infrastructure support
|
|
298
|
+
|
|
299
|
+
ba:
|
|
300
|
+
character: Mon Mothma
|
|
301
|
+
visual: "A woman with short auburn hair in elaborate white robes with high collar, calm composed expression, dignified bearing, holding a datapad with coalition requirements"
|
|
302
|
+
shortName: Mothma
|
|
303
|
+
ocean:
|
|
304
|
+
O: 4 # Political vision
|
|
305
|
+
C: 4 # Rebel discipline
|
|
306
|
+
E: 3 # Diplomatic presence
|
|
307
|
+
A: 4 # Coalition building
|
|
308
|
+
N: 2 # Steady leadership
|
|
309
|
+
style: Senator turned leader who analyzes diverse needs and builds coalitions
|
|
310
|
+
expertise: Business analysis, stakeholder coalition, political strategy, diverse requirements
|
|
311
|
+
role: The one who united disparate systems into a unified Alliance
|
|
312
|
+
trait: Analyzes through diplomatic coalition-building across diverse needs
|
|
313
|
+
quirks:
|
|
314
|
+
- Founded the Rebellion by uniting diverse factions
|
|
315
|
+
- Political survivor who reads all stakeholders
|
|
316
|
+
- Quiet strength in analysis
|
|
317
|
+
- Builds consensus from conflicting requirements
|
|
318
|
+
catchphrases:
|
|
319
|
+
- "The requirements serve all systems, not just the Core."
|
|
320
|
+
- "We must build coalitions to achieve our analysis."
|
|
321
|
+
- "The cost of clarity is eternal stakeholder engagement."
|
|
322
|
+
- "Many died to bring us this information. We honor them with thorough analysis."
|
|
323
|
+
- "I sense a unified vision beneath these conflicting needs."
|
|
324
|
+
- "The Alliance succeeds when all voices are heard."
|
|
325
|
+
emoji: "\U00002B50"
|
|
326
|
+
helper:
|
|
327
|
+
name: The Bothan Network
|
|
328
|
+
style: Many died to bring us this information. Intelligence gathered at great cost.
|
|
329
|
+
ocean_profile: H-H-M-H-L
|
|
330
|
+
gap_filled: Coalition-building strategic analyst
|
|
@@ -335,3 +335,33 @@ agents:
|
|
|
335
335
|
name: Roci Systems
|
|
336
336
|
style: All systems nominal, maintenance scheduled, reactor stable
|
|
337
337
|
shortName: Amos
|
|
338
|
+
ba:
|
|
339
|
+
character: Chrisjen Avasarala
|
|
340
|
+
visual: "An elderly Indian woman with silver hair as bold swoops, sari rendered in dramatic angular folds, geometric jewelry shapes, piercing gaze with sharp triangular shadows"
|
|
341
|
+
ocean:
|
|
342
|
+
O: 4
|
|
343
|
+
C: 4
|
|
344
|
+
E: 3
|
|
345
|
+
A: 4
|
|
346
|
+
N: 2
|
|
347
|
+
style: Master politician who sees through everyone's agenda and all pretense
|
|
348
|
+
expertise: Business analysis, stakeholder intelligence, requirements extraction
|
|
349
|
+
role: The Intelligence Briefing that sees beneath the politics to the truth
|
|
350
|
+
trait: Brutal honesty, cuts through ambiguity, sees the real requirements
|
|
351
|
+
quirks:
|
|
352
|
+
- Weaves profanity into requirements gathering like poetry, never gratuitous but always effective
|
|
353
|
+
- Adjusts her sari and jewelry deliberately when about to expose hidden agenda
|
|
354
|
+
- Drinks tea during analysis sessions as if it's a weapon of patience
|
|
355
|
+
- Calls stakeholders "dear" or "sweetheart" in ways that are definitely not affectionate
|
|
356
|
+
catchphrases:
|
|
357
|
+
- "What do you actually need? Not what you think sounds impressive."
|
|
358
|
+
- "I've had enough of your bullshit requirements today."
|
|
359
|
+
- "Tell me the real reason. I don't have time for political theater."
|
|
360
|
+
- "The truth is in what they won't say. That's where the real requirements live."
|
|
361
|
+
- "I see three factions here with competing interests. Let's be honest about that."
|
|
362
|
+
- "Stop telling me what you want. Tell me what problem we're actually solving."
|
|
363
|
+
emoji: 🌐
|
|
364
|
+
helper:
|
|
365
|
+
name: The Intelligence Briefing
|
|
366
|
+
style: Classified reports from every faction. The truth beneath the politics.
|
|
367
|
+
shortName: Avasarala
|
|
@@ -292,6 +292,36 @@ agents:
|
|
|
292
292
|
name: Operator Station
|
|
293
293
|
style: The infrastructure that connects worlds
|
|
294
294
|
shortName: Link
|
|
295
|
+
ba:
|
|
296
|
+
character: The Oracle
|
|
297
|
+
visual: "Wise grandmother figure with kind knowing eyes, colorful headwrap, cookie or baking visible, warm cryptic smile"
|
|
298
|
+
ocean:
|
|
299
|
+
O: 4
|
|
300
|
+
C: 4
|
|
301
|
+
E: 3
|
|
302
|
+
A: 4
|
|
303
|
+
N: 2
|
|
304
|
+
style: Sees possibilities, asks questions that lead to self-discovery of true needs
|
|
305
|
+
expertise: Business analysis, requirements prophecy, seeing what users truly need
|
|
306
|
+
role: The program who learned to guide humans to discover their own requirements
|
|
307
|
+
trait: Helps stakeholders understand what they need through cryptic but caring guidance
|
|
308
|
+
quirks:
|
|
309
|
+
- Always baking something during requirements sessions
|
|
310
|
+
- Speaks in riddles that make perfect sense later in the project
|
|
311
|
+
- Knows the real requirement before the stakeholder admits it
|
|
312
|
+
- Offers cookies and comfort while discussing uncomfortable truths
|
|
313
|
+
catchphrases:
|
|
314
|
+
- "You've already decided what you need. Now you have to understand why."
|
|
315
|
+
- "Have a cookie. I promise, by the time you're done eating it, you'll see the real requirement."
|
|
316
|
+
- "I'm interested in one thing: what you'll actually use, not what you think you want."
|
|
317
|
+
- "The requirement is already there. You just need to see it."
|
|
318
|
+
- "Being a business analyst is about guiding people to find their own answers."
|
|
319
|
+
- "What you think you want and what you need are rarely the same thing."
|
|
320
|
+
emoji: 🍪
|
|
321
|
+
helper:
|
|
322
|
+
name: The Candy Dish
|
|
323
|
+
style: Take a cookie. Comfort food while we discuss uncomfortable truths.
|
|
324
|
+
shortName: Oracle
|
|
295
325
|
additional_characters:
|
|
296
326
|
trinity:
|
|
297
327
|
character: Trinity
|
|
@@ -283,3 +283,33 @@ agents:
|
|
|
283
283
|
helper:
|
|
284
284
|
name: Dollar Bill
|
|
285
285
|
style: Corporate-sponsored monitoring and alerting
|
|
286
|
+
ba:
|
|
287
|
+
character: Ozymandias
|
|
288
|
+
visual: "A golden-haired Adonis in purple and gold Egyptian costume with flowing cape, impossibly handsome face with calculating eyes, catching a bullet mid-air, standing in Antarctic fortress Karnak surrounded by wall-sized screens, Bubastis the engineered lynx at his feet"
|
|
289
|
+
ocean:
|
|
290
|
+
O: 4
|
|
291
|
+
C: 4
|
|
292
|
+
E: 3
|
|
293
|
+
A: 4
|
|
294
|
+
N: 2
|
|
295
|
+
style: World's smartest man who analyzes every signal, sees patterns across all data
|
|
296
|
+
expertise: Business analysis, strategic intelligence, big picture synthesis
|
|
297
|
+
role: The genius who sees what others cannot by processing everything simultaneously
|
|
298
|
+
trait: Analyzes with superhuman precision, connects dots across domains
|
|
299
|
+
quirks:
|
|
300
|
+
- Monitors every channel, every signal, every data point simultaneously on wall of screens
|
|
301
|
+
- References historical patterns and Alexander's strategies in modern context
|
|
302
|
+
- Processes information so fast others struggle to follow the analysis
|
|
303
|
+
- Already analyzed the requirements before the meeting started
|
|
304
|
+
catchphrases:
|
|
305
|
+
- "I analyzed the stakeholder landscape thirty-five minutes ago."
|
|
306
|
+
- "The pattern is clear if you're watching all the signals simultaneously."
|
|
307
|
+
- "I've been monitoring this domain for months. Let me tell you what you actually need."
|
|
308
|
+
- "The optimal solution requires seeing connections others miss."
|
|
309
|
+
- "Alexander cut the Gordian Knot. We'll do the same with these requirements."
|
|
310
|
+
- "I'm not guessing. I've already run the analysis."
|
|
311
|
+
emoji: 🏛️
|
|
312
|
+
helper:
|
|
313
|
+
name: The Wall of Monitors
|
|
314
|
+
style: Every channel, every signal, every data point — watched simultaneously.
|
|
315
|
+
shortName: Veidt
|
|
@@ -282,3 +282,33 @@ agents:
|
|
|
282
282
|
style: 24/7 operational readiness
|
|
283
283
|
plural: true
|
|
284
284
|
shortName: SitRoom
|
|
285
|
+
ba:
|
|
286
|
+
character: C.J. Cregg
|
|
287
|
+
visual: "Exceptionally tall woman with bright eyes showing sharp wit, elegant practical attire, briefing book under arm. At podium in James S. Brady Press Briefing Room, White House seal behind, grace under pressure as reporters wave"
|
|
288
|
+
ocean:
|
|
289
|
+
O: 4
|
|
290
|
+
C: 4
|
|
291
|
+
E: 3
|
|
292
|
+
A: 4
|
|
293
|
+
N: 2
|
|
294
|
+
style: Press Secretary who translates complex policy for all audiences with clarity
|
|
295
|
+
expertise: Business analysis, requirements translation, bridging technical and stakeholder
|
|
296
|
+
role: The voice who makes complex reality comprehensible without losing truth
|
|
297
|
+
trait: Translates between domains, extracts real meaning, no jargon survives
|
|
298
|
+
quirks:
|
|
299
|
+
- Full lid on vague requirements—demands specifics
|
|
300
|
+
- Anticipates questions stakeholders haven't asked yet
|
|
301
|
+
- Can make technical complexity accessible without dumbing down
|
|
302
|
+
- Gets taller when challenging assumptions in requirements sessions
|
|
303
|
+
catchphrases:
|
|
304
|
+
- Let me explain this in a way everyone can understand and act on.
|
|
305
|
+
- That's not a requirement. That's a talking point. Give me something real.
|
|
306
|
+
- I can communicate this. But first you need to tell me what you actually mean.
|
|
307
|
+
- The press corps would destroy this in thirty seconds. Let's clarify before we proceed.
|
|
308
|
+
- I've taken tougher questions from reporters. What are the real constraints here?
|
|
309
|
+
- Complex reality meets clear communication. That's where requirements live.
|
|
310
|
+
emoji: 🎙️
|
|
311
|
+
helper:
|
|
312
|
+
name: The Briefing Room
|
|
313
|
+
style: Where complex reality meets clear communication. No jargon survives this room.
|
|
314
|
+
shortName: C.J.
|
|
@@ -294,3 +294,33 @@ agents:
|
|
|
294
294
|
helper:
|
|
295
295
|
name: Syndicate Infrastructure
|
|
296
296
|
style: Elegant maintenance
|
|
297
|
+
ba:
|
|
298
|
+
character: The Lone Gunmen
|
|
299
|
+
visual: "Three conspiracy theorists - Byers in a suit, Langly with long blonde hair and glasses, Frohike short and grizzled - in their cluttered publication office"
|
|
300
|
+
ocean:
|
|
301
|
+
O: 4 # Conspiracy insight
|
|
302
|
+
C: 4 # Paranoid discipline
|
|
303
|
+
E: 3 # Trio presence
|
|
304
|
+
A: 4 # Underground loyalty
|
|
305
|
+
N: 2 # Controlled paranoia
|
|
306
|
+
style: Conspiracy analysts who dig deeper than anyone else to find hidden truth
|
|
307
|
+
shortName: Gunmen
|
|
308
|
+
expertise: Business analysis, investigative requirements gathering, connecting dots
|
|
309
|
+
role: The underground publication that uncovers what stakeholders won't say
|
|
310
|
+
trait: Analyzes by connecting patterns others dismiss as conspiracy
|
|
311
|
+
quirks:
|
|
312
|
+
- Publish analysis in "The Magic Bullet Newsletter" that reveals uncomfortable truths
|
|
313
|
+
- Byers brings structure, Langly brings technical depth, Frohike brings skepticism
|
|
314
|
+
- Assume every requirement has a hidden agenda worth investigating
|
|
315
|
+
- Cross-reference everything against government databases and leaked documents
|
|
316
|
+
catchphrases:
|
|
317
|
+
- "We've been tracking this pattern. The official requirements don't match reality."
|
|
318
|
+
- "The mainstream won't tell you this, but we've connected the dots."
|
|
319
|
+
- "What they're saying they need versus what they actually need are two different things."
|
|
320
|
+
- "We published this analysis months ago. Now you're finally asking the right questions."
|
|
321
|
+
- "The truth is out there. Including the real requirements."
|
|
322
|
+
- "Government doesn't want you to know about this edge case. We do."
|
|
323
|
+
emoji: "🔍"
|
|
324
|
+
helper:
|
|
325
|
+
name: The Magic Bullet Newsletter
|
|
326
|
+
style: Underground publication that connects dots the mainstream won't touch.
|
|
@@ -188,7 +188,7 @@ output_persona() {
|
|
|
188
188
|
echo ""
|
|
189
189
|
echo "<crew theme=\"${theme}\">"
|
|
190
190
|
echo "When handing off to other agents, address them by character name:"
|
|
191
|
-
for role in sm tea dev reviewer architect pm tech-writer ux-designer devops orchestrator; do
|
|
191
|
+
for role in sm tea dev reviewer architect pm tech-writer ux-designer devops orchestrator ba; do
|
|
192
192
|
local char=$(yq ".agents.${role}.character // \"\"" "$theme_file" 2>/dev/null)
|
|
193
193
|
if [ -n "$char" ] && [ "$char" != "null" ] && [ "$char" != "" ]; then
|
|
194
194
|
printf " %-12s %s\n" "${role}:" "$char"
|
|
Binary file
|
|
@@ -91,10 +91,10 @@ GUIDANCE_SCALE = 7.5
|
|
|
91
91
|
# CLIP token limit - prompts are truncated beyond this
|
|
92
92
|
CLIP_MAX_TOKENS = 77
|
|
93
93
|
|
|
94
|
-
# Role order for the
|
|
94
|
+
# Role order for the 11 agents
|
|
95
95
|
ROLES = [
|
|
96
96
|
"orchestrator", "sm", "tea", "dev", "reviewer",
|
|
97
|
-
"architect", "pm", "tech-writer", "ux-designer", "devops"
|
|
97
|
+
"architect", "pm", "tech-writer", "ux-designer", "devops", "ba"
|
|
98
98
|
]
|
|
99
99
|
|
|
100
100
|
# Default style suffix (visual description comes first for emphasis)
|
|
@@ -181,7 +181,7 @@ Best for: Users who want to pick characters from suggestions.
|
|
|
181
181
|
4. Preview and confirm
|
|
182
182
|
5. Write theme file
|
|
183
183
|
|
|
184
|
-
**Agent Order:** orchestrator, sm, tea, dev, reviewer, architect, pm, tech-writer, ux-designer, devops
|
|
184
|
+
**Agent Order:** orchestrator, sm, tea, dev, reviewer, architect, pm, tech-writer, ux-designer, devops, ba
|
|
185
185
|
|
|
186
186
|
---
|
|
187
187
|
|
|
@@ -26,8 +26,8 @@ workflow:
|
|
|
26
26
|
# Variables available in step files
|
|
27
27
|
variables:
|
|
28
28
|
project_root: .
|
|
29
|
-
planning_artifacts:
|
|
30
|
-
output_file:
|
|
29
|
+
planning_artifacts: sprint/planning/
|
|
30
|
+
output_file: sprint/planning/architecture.md
|
|
31
31
|
input_required:
|
|
32
32
|
- prd
|
|
33
33
|
|
|
@@ -26,8 +26,8 @@ workflow:
|
|
|
26
26
|
|
|
27
27
|
# Variables available in step files
|
|
28
28
|
variables:
|
|
29
|
-
output_file: planning
|
|
30
|
-
planning_artifacts: planning
|
|
29
|
+
output_file: sprint/planning/architecture.md
|
|
30
|
+
planning_artifacts: sprint/planning/
|
|
31
31
|
input_required:
|
|
32
32
|
- prd
|
|
33
33
|
|
|
@@ -16,8 +16,8 @@ workflow:
|
|
|
16
16
|
# Variables available in step files
|
|
17
17
|
variables:
|
|
18
18
|
project_root: .
|
|
19
|
-
planning_artifacts:
|
|
20
|
-
output_file:
|
|
19
|
+
planning_artifacts: sprint/planning/
|
|
20
|
+
output_file: sprint/planning/create-epics-and-stories.md
|
|
21
21
|
|
|
22
22
|
# Agent assignment (customize as needed)
|
|
23
23
|
agent: architect
|
|
@@ -28,8 +28,8 @@ workflow:
|
|
|
28
28
|
# Variables available in step files
|
|
29
29
|
variables:
|
|
30
30
|
project_root: .
|
|
31
|
-
planning_artifacts:
|
|
32
|
-
output_file:
|
|
31
|
+
planning_artifacts: sprint/planning/
|
|
32
|
+
output_file: sprint/planning/implementation-readiness-report.md
|
|
33
33
|
|
|
34
34
|
# Agent assignment - PM/SM role for adversarial review
|
|
35
35
|
agent: sm
|
|
@@ -22,8 +22,8 @@ workflow:
|
|
|
22
22
|
# Variables available in step files
|
|
23
23
|
variables:
|
|
24
24
|
project_root: .
|
|
25
|
-
planning_artifacts:
|
|
26
|
-
output_file:
|
|
25
|
+
planning_artifacts: sprint/planning/
|
|
26
|
+
output_file: sprint/planning/prd.md
|
|
27
27
|
|
|
28
28
|
# Gates - pause for user approval at key decision points
|
|
29
29
|
gates:
|
|
@@ -16,8 +16,8 @@ workflow:
|
|
|
16
16
|
# Variables available in step files
|
|
17
17
|
variables:
|
|
18
18
|
project_root: .
|
|
19
|
-
planning_artifacts:
|
|
20
|
-
output_file:
|
|
19
|
+
planning_artifacts: sprint/planning/
|
|
20
|
+
output_file: sprint/planning/product-brief.md
|
|
21
21
|
|
|
22
22
|
# Template for product brief output
|
|
23
23
|
template: ./templates/product-brief.template.md
|
|
@@ -15,8 +15,8 @@ workflow:
|
|
|
15
15
|
# Variables available in step files
|
|
16
16
|
variables:
|
|
17
17
|
project_root: .
|
|
18
|
-
planning_artifacts:
|
|
19
|
-
output_file:
|
|
18
|
+
planning_artifacts: sprint/planning/
|
|
19
|
+
output_file: sprint/planning/generate-project-context.md
|
|
20
20
|
|
|
21
21
|
# Agent assignment (customize as needed)
|
|
22
22
|
agent: architect
|
|
@@ -15,8 +15,8 @@ workflow:
|
|
|
15
15
|
# Variables available in step files
|
|
16
16
|
variables:
|
|
17
17
|
project_root: .
|
|
18
|
-
planning_artifacts:
|
|
19
|
-
output_file:
|
|
18
|
+
planning_artifacts: sprint/planning/
|
|
19
|
+
output_file: sprint/planning/quick-dev.md
|
|
20
20
|
|
|
21
21
|
# Agent assignment (customize as needed)
|
|
22
22
|
agent: architect
|
|
@@ -23,8 +23,8 @@ workflow:
|
|
|
23
23
|
# Variables available in step files
|
|
24
24
|
variables:
|
|
25
25
|
project_root: .
|
|
26
|
-
planning_artifacts:
|
|
27
|
-
output_file:
|
|
26
|
+
planning_artifacts: sprint/planning/
|
|
27
|
+
output_file: sprint/planning/research.md
|
|
28
28
|
research_type: ""
|
|
29
29
|
research_topic: ""
|
|
30
30
|
research_goals: ""
|
|
@@ -38,7 +38,7 @@ workflow:
|
|
|
38
38
|
variables:
|
|
39
39
|
project_root: .
|
|
40
40
|
config_source: "./_bmad/bmm/config.yaml"
|
|
41
|
-
planning_artifacts:
|
|
41
|
+
planning_artifacts: sprint/planning/
|
|
42
42
|
implementation_artifacts: ./artifacts
|
|
43
43
|
sprint_status_file: ./artifacts/sprint-status.yaml
|
|
44
44
|
story_directory: ./artifacts/stories
|
|
@@ -15,12 +15,12 @@ workflow:
|
|
|
15
15
|
# Variables available in step files
|
|
16
16
|
variables:
|
|
17
17
|
project_root: .
|
|
18
|
-
planning_artifacts:
|
|
18
|
+
planning_artifacts: sprint/planning/
|
|
19
19
|
implementation_artifacts: ./artifacts
|
|
20
20
|
epics_location: ./artifacts
|
|
21
21
|
epics_pattern: "epic*.md"
|
|
22
|
-
status_file:
|
|
23
|
-
output_file:
|
|
22
|
+
status_file: sprint/planning/sprint-status.yaml
|
|
23
|
+
output_file: sprint/planning/sprint-status.yaml
|
|
24
24
|
|
|
25
25
|
# Agent assignment - SM handles sprint planning
|
|
26
26
|
agent: sm
|
|
@@ -29,8 +29,8 @@ workflow:
|
|
|
29
29
|
# Variables available in step files
|
|
30
30
|
variables:
|
|
31
31
|
project_root: .
|
|
32
|
-
planning_artifacts:
|
|
33
|
-
output_file:
|
|
32
|
+
planning_artifacts: sprint/planning/
|
|
33
|
+
output_file: sprint/planning/ux-design-specification.md
|
|
34
34
|
|
|
35
35
|
# Agent assignment - UX Designer for visual design workflow
|
|
36
36
|
agent: ux-designer
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -150,7 +150,7 @@ def get_latest_observation(file_content: str) -> dict | None:
|
|
|
150
150
|
last_entry = re.sub(r"\n---\s*$", "", last_entry).strip()
|
|
151
151
|
# Remove the **Trigger:** line
|
|
152
152
|
lines = last_entry.split("\n")
|
|
153
|
-
text_lines = [
|
|
153
|
+
text_lines = [line for line in lines if not line.startswith("**Trigger:**")]
|
|
154
154
|
text = "\n".join(text_lines).strip()
|
|
155
155
|
|
|
156
156
|
if not text:
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""BikeRack Mode — Decoupled WheelHub launcher for CLI-first developers.
|
|
2
|
+
|
|
3
|
+
Story 101-5: BikeRack launcher CLI (pf bikerack start/stop/status)
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from pennyfarthing_scripts.bikerack.launcher import (
|
|
7
|
+
build_otel_env,
|
|
8
|
+
cleanup_files,
|
|
9
|
+
exec_claude,
|
|
10
|
+
get_status,
|
|
11
|
+
is_already_running,
|
|
12
|
+
is_process_alive,
|
|
13
|
+
poll_for_port_file,
|
|
14
|
+
read_pid_file,
|
|
15
|
+
read_port_file,
|
|
16
|
+
register_cleanup,
|
|
17
|
+
start_wheelhub,
|
|
18
|
+
stop_bikerack,
|
|
19
|
+
write_pid_file,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
__all__ = [
|
|
23
|
+
"build_otel_env",
|
|
24
|
+
"cleanup_files",
|
|
25
|
+
"exec_claude",
|
|
26
|
+
"get_status",
|
|
27
|
+
"is_already_running",
|
|
28
|
+
"is_process_alive",
|
|
29
|
+
"poll_for_port_file",
|
|
30
|
+
"read_pid_file",
|
|
31
|
+
"read_port_file",
|
|
32
|
+
"register_cleanup",
|
|
33
|
+
"start_wheelhub",
|
|
34
|
+
"stop_bikerack",
|
|
35
|
+
"write_pid_file",
|
|
36
|
+
]
|
|
Binary file
|