@pennyfarthing/core 10.4.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/package.json +16 -14
- package/packages/core/dist/benchmark/benchmark-integration.d.ts +182 -0
- package/packages/core/dist/benchmark/benchmark-integration.d.ts.map +1 -0
- package/packages/core/dist/benchmark/benchmark-integration.js +710 -0
- package/packages/core/dist/benchmark/benchmark-integration.js.map +1 -0
- package/packages/core/dist/benchmark/benchmark-integration.test.d.ts +6 -0
- package/packages/core/dist/benchmark/benchmark-integration.test.d.ts.map +1 -0
- package/packages/core/dist/benchmark/benchmark-integration.test.js +41 -0
- package/packages/core/dist/benchmark/benchmark-integration.test.js.map +1 -0
- package/packages/core/dist/benchmark/index.d.ts +3 -0
- package/packages/core/dist/benchmark/index.d.ts.map +1 -0
- package/packages/core/dist/benchmark/index.js +5 -0
- package/packages/core/dist/benchmark/index.js.map +1 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.d.ts +150 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.d.ts.map +1 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.js +547 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.js.map +1 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.test.d.ts +6 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.test.d.ts.map +1 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.test.js +35 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.test.js.map +1 -0
- package/packages/core/dist/cli/commands/hook-chaining.test.d.ts +17 -0
- package/packages/core/dist/cli/commands/hook-chaining.test.d.ts.map +1 -0
- package/packages/core/dist/cli/commands/hook-chaining.test.js +386 -0
- package/packages/core/dist/cli/commands/hook-chaining.test.js.map +1 -0
- package/packages/core/dist/cli/commands/init.d.ts +6 -1
- package/packages/core/dist/cli/commands/init.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/init.js +83 -30
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.js +20 -3
- package/packages/core/dist/cli/commands/uninstall.js.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.test.d.ts +8 -0
- package/packages/core/dist/cli/commands/uninstall.test.d.ts.map +1 -0
- package/packages/core/dist/cli/commands/uninstall.test.js +120 -0
- package/packages/core/dist/cli/commands/uninstall.test.js.map +1 -0
- package/packages/core/dist/cli/commands/update.js +4 -4
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +2 -1
- package/packages/core/dist/cli/cyclist-migration.test.js.map +1 -1
- package/packages/core/dist/cli/ocean-profiles.test.js +5 -4
- package/packages/core/dist/cli/ocean-profiles.test.js.map +1 -1
- package/packages/core/dist/cli/theme-maker.test.js +5 -4
- package/packages/core/dist/cli/theme-maker.test.js.map +1 -1
- package/packages/core/dist/cli/utils/008-sprint-shard-migration.test.d.ts +15 -0
- package/packages/core/dist/cli/utils/008-sprint-shard-migration.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/008-sprint-shard-migration.test.js +295 -0
- package/packages/core/dist/cli/utils/008-sprint-shard-migration.test.js.map +1 -0
- package/packages/core/dist/cli/utils/settings-consolidation.test.js +26 -0
- package/packages/core/dist/cli/utils/settings-consolidation.test.js.map +1 -1
- package/packages/core/dist/cli/utils/settings-merge.d.ts +128 -0
- package/packages/core/dist/cli/utils/settings-merge.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/settings-merge.js +303 -0
- package/packages/core/dist/cli/utils/settings-merge.js.map +1 -0
- package/packages/core/dist/cli/utils/settings-merge.test.d.ts +15 -0
- package/packages/core/dist/cli/utils/settings-merge.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/settings-merge.test.js +781 -0
- package/packages/core/dist/cli/utils/settings-merge.test.js.map +1 -0
- package/packages/core/dist/cli/utils/settings.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/settings.js +3 -0
- package/packages/core/dist/cli/utils/settings.js.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.d.ts +6 -16
- package/packages/core/dist/cli/utils/symlinks.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.js +100 -171
- package/packages/core/dist/cli/utils/symlinks.js.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.test.d.ts +10 -0
- package/packages/core/dist/cli/utils/symlinks.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/symlinks.test.js +266 -0
- package/packages/core/dist/cli/utils/symlinks.test.js.map +1 -0
- package/packages/core/dist/cli/utils/themes.js +1 -1
- package/packages/core/dist/cli/workspace.test.js +2 -5
- package/packages/core/dist/cli/workspace.test.js.map +1 -1
- package/packages/core/dist/consolidation.test.d.ts +11 -0
- package/packages/core/dist/consolidation.test.d.ts.map +1 -0
- package/packages/core/dist/consolidation.test.js +249 -0
- package/packages/core/dist/consolidation.test.js.map +1 -0
- package/packages/core/dist/index.d.ts +2 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +4 -0
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/plugins/plugin-discovery.js +1 -1
- package/packages/core/dist/plugins/plugin-discovery.js.map +1 -1
- package/packages/core/dist/plugins/plugin-discovery.test.d.ts +1 -1
- package/packages/core/dist/plugins/plugin-discovery.test.js +47 -36
- package/packages/core/dist/plugins/plugin-discovery.test.js.map +1 -1
- package/packages/core/dist/public/css/react.css +1 -0
- package/packages/core/dist/public/js/react/react.js +82 -0
- package/packages/core/dist/scripts/generate-report.test.js +2 -2
- package/packages/core/dist/scripts/generate-spider-report.test.js +2 -2
- package/packages/core/dist/scripts/generate-spider.test.js +2 -1
- package/packages/core/dist/scripts/generate-spider.test.js.map +1 -1
- package/packages/core/dist/server/agent-context.d.ts +5 -0
- package/packages/core/dist/server/agent-context.d.ts.map +1 -0
- package/packages/core/dist/server/agent-context.js +5 -0
- package/packages/core/dist/server/agent-context.js.map +1 -0
- package/packages/core/dist/server/agent-evaluation.d.ts +17 -0
- package/packages/core/dist/server/agent-evaluation.d.ts.map +1 -0
- package/packages/core/dist/server/agent-evaluation.js +15 -0
- package/packages/core/dist/server/agent-evaluation.js.map +1 -0
- package/packages/core/dist/server/api/agent-load.d.ts +3 -0
- package/packages/core/dist/server/api/agent-load.d.ts.map +1 -0
- package/packages/core/dist/server/api/agent-load.js +19 -0
- package/packages/core/dist/server/api/agent-load.js.map +1 -0
- package/packages/core/dist/server/api/audit-log.d.ts +3 -0
- package/packages/core/dist/server/api/audit-log.d.ts.map +1 -0
- package/packages/core/dist/server/api/audit-log.js +31 -0
- package/packages/core/dist/server/api/audit-log.js.map +1 -0
- package/packages/core/dist/server/api/background-tasks.d.ts +27 -0
- package/packages/core/dist/server/api/background-tasks.d.ts.map +1 -0
- package/packages/core/dist/server/api/background-tasks.js +56 -0
- package/packages/core/dist/server/api/background-tasks.js.map +1 -0
- package/packages/core/dist/server/api/bell.d.ts +19 -0
- package/packages/core/dist/server/api/bell.d.ts.map +1 -0
- package/packages/core/dist/server/api/bell.js +34 -0
- package/packages/core/dist/server/api/bell.js.map +1 -0
- package/packages/core/dist/server/api/code-markers.d.ts +9 -0
- package/packages/core/dist/server/api/code-markers.d.ts.map +1 -0
- package/packages/core/dist/server/api/code-markers.js +62 -0
- package/packages/core/dist/server/api/code-markers.js.map +1 -0
- package/packages/core/dist/server/api/complexity.d.ts +3 -0
- package/packages/core/dist/server/api/complexity.d.ts.map +1 -0
- package/packages/core/dist/server/api/complexity.js +47 -0
- package/packages/core/dist/server/api/complexity.js.map +1 -0
- package/packages/core/dist/server/api/context.d.ts +38 -0
- package/packages/core/dist/server/api/context.d.ts.map +1 -0
- package/packages/core/dist/server/api/context.js +144 -0
- package/packages/core/dist/server/api/context.js.map +1 -0
- package/packages/core/dist/server/api/dead-code.d.ts +3 -0
- package/packages/core/dist/server/api/dead-code.d.ts.map +1 -0
- package/packages/core/dist/server/api/dead-code.js +70 -0
- package/packages/core/dist/server/api/dead-code.js.map +1 -0
- package/packages/core/dist/server/api/dependencies.d.ts +3 -0
- package/packages/core/dist/server/api/dependencies.d.ts.map +1 -0
- package/packages/core/dist/server/api/dependencies.js +43 -0
- package/packages/core/dist/server/api/dependencies.js.map +1 -0
- package/packages/core/dist/server/api/evaluation.d.ts +3 -0
- package/packages/core/dist/server/api/evaluation.d.ts.map +1 -0
- package/packages/core/dist/server/api/evaluation.js +33 -0
- package/packages/core/dist/server/api/evaluation.js.map +1 -0
- package/packages/core/dist/server/api/file-browser.d.ts +9 -0
- package/packages/core/dist/server/api/file-browser.d.ts.map +1 -0
- package/packages/core/dist/server/api/file-browser.js +133 -0
- package/packages/core/dist/server/api/file-browser.js.map +1 -0
- package/packages/core/dist/server/api/git-fetch-cooldown.test.d.ts +10 -0
- package/packages/core/dist/server/api/git-fetch-cooldown.test.d.ts.map +1 -0
- package/packages/core/dist/server/api/git-fetch-cooldown.test.js +30 -0
- package/packages/core/dist/server/api/git-fetch-cooldown.test.js.map +1 -0
- package/packages/core/dist/server/api/git.d.ts +55 -0
- package/packages/core/dist/server/api/git.d.ts.map +1 -0
- package/packages/core/dist/server/api/git.js +382 -0
- package/packages/core/dist/server/api/git.js.map +1 -0
- package/packages/core/dist/server/api/health-score.d.ts +3 -0
- package/packages/core/dist/server/api/health-score.d.ts.map +1 -0
- package/packages/core/dist/server/api/health-score.js +47 -0
- package/packages/core/dist/server/api/health-score.js.map +1 -0
- package/packages/core/dist/server/api/hook-request.d.ts +41 -0
- package/packages/core/dist/server/api/hook-request.d.ts.map +1 -0
- package/packages/core/dist/server/api/hook-request.js +278 -0
- package/packages/core/dist/server/api/hook-request.js.map +1 -0
- package/packages/core/dist/server/api/hotspots.d.ts +3 -0
- package/packages/core/dist/server/api/hotspots.d.ts.map +1 -0
- package/packages/core/dist/server/api/hotspots.js +62 -0
- package/packages/core/dist/server/api/hotspots.js.map +1 -0
- package/packages/core/dist/server/api/identity.d.ts +17 -0
- package/packages/core/dist/server/api/identity.d.ts.map +1 -0
- package/packages/core/dist/server/api/identity.js +79 -0
- package/packages/core/dist/server/api/identity.js.map +1 -0
- package/packages/core/dist/server/api/index.d.ts +36 -0
- package/packages/core/dist/server/api/index.d.ts.map +1 -0
- package/packages/core/dist/server/api/index.js +47 -0
- package/packages/core/dist/server/api/index.js.map +1 -0
- package/packages/core/dist/server/api/mode.d.ts +24 -0
- package/packages/core/dist/server/api/mode.d.ts.map +1 -0
- package/packages/core/dist/server/api/mode.js +40 -0
- package/packages/core/dist/server/api/mode.js.map +1 -0
- package/packages/core/dist/server/api/otlp.d.ts +3 -0
- package/packages/core/dist/server/api/otlp.d.ts.map +1 -0
- package/packages/core/dist/server/api/otlp.js +40 -0
- package/packages/core/dist/server/api/otlp.js.map +1 -0
- package/packages/core/dist/server/api/permissions.d.ts +16 -0
- package/packages/core/dist/server/api/permissions.d.ts.map +1 -0
- package/packages/core/dist/server/api/permissions.js +67 -0
- package/packages/core/dist/server/api/permissions.js.map +1 -0
- package/packages/core/dist/server/api/persona.d.ts +9 -0
- package/packages/core/dist/server/api/persona.d.ts.map +1 -0
- package/packages/core/dist/server/api/persona.js +68 -0
- package/packages/core/dist/server/api/persona.js.map +1 -0
- package/packages/core/dist/server/api/portrait.d.ts +6 -0
- package/packages/core/dist/server/api/portrait.d.ts.map +1 -0
- package/packages/core/dist/server/api/portrait.js +28 -0
- package/packages/core/dist/server/api/portrait.js.map +1 -0
- package/packages/core/dist/server/api/settings.d.ts +14 -0
- package/packages/core/dist/server/api/settings.d.ts.map +1 -0
- package/packages/core/dist/server/api/settings.js +68 -0
- package/packages/core/dist/server/api/settings.js.map +1 -0
- package/packages/core/dist/server/api/spans.d.ts +3 -0
- package/packages/core/dist/server/api/spans.d.ts.map +1 -0
- package/packages/core/dist/server/api/spans.js +33 -0
- package/packages/core/dist/server/api/spans.js.map +1 -0
- package/packages/core/dist/server/api/stats.d.ts +13 -0
- package/packages/core/dist/server/api/stats.d.ts.map +1 -0
- package/packages/core/dist/server/api/stats.js +85 -0
- package/packages/core/dist/server/api/stats.js.map +1 -0
- package/packages/core/dist/server/api/story.d.ts +3 -0
- package/packages/core/dist/server/api/story.d.ts.map +1 -0
- package/packages/core/dist/server/api/story.js +15 -0
- package/packages/core/dist/server/api/story.js.map +1 -0
- package/packages/core/dist/server/api/telemetry.d.ts +3 -0
- package/packages/core/dist/server/api/telemetry.d.ts.map +1 -0
- package/packages/core/dist/server/api/telemetry.js +30 -0
- package/packages/core/dist/server/api/telemetry.js.map +1 -0
- package/packages/core/dist/server/api/theme-agents.d.ts +10 -0
- package/packages/core/dist/server/api/theme-agents.d.ts.map +1 -0
- package/packages/core/dist/server/api/theme-agents.js +39 -0
- package/packages/core/dist/server/api/theme-agents.js.map +1 -0
- package/packages/core/dist/server/api/todos.d.ts +33 -0
- package/packages/core/dist/server/api/todos.d.ts.map +1 -0
- package/packages/core/dist/server/api/todos.js +44 -0
- package/packages/core/dist/server/api/todos.js.map +1 -0
- package/packages/core/dist/server/api/token-stats.d.ts +8 -0
- package/packages/core/dist/server/api/token-stats.d.ts.map +1 -0
- package/packages/core/dist/server/api/token-stats.js +36 -0
- package/packages/core/dist/server/api/token-stats.js.map +1 -0
- package/packages/core/dist/server/api/welcome.d.ts +22 -0
- package/packages/core/dist/server/api/welcome.d.ts.map +1 -0
- package/packages/core/dist/server/api/welcome.js +35 -0
- package/packages/core/dist/server/api/welcome.js.map +1 -0
- package/packages/core/dist/server/bell-mode.d.ts +7 -0
- package/packages/core/dist/server/bell-mode.d.ts.map +1 -0
- package/packages/core/dist/server/bell-mode.js +7 -0
- package/packages/core/dist/server/bell-mode.js.map +1 -0
- package/packages/core/dist/server/dangerous-path.d.ts +36 -0
- package/packages/core/dist/server/dangerous-path.d.ts.map +1 -0
- package/packages/core/dist/server/dangerous-path.js +159 -0
- package/packages/core/dist/server/dangerous-path.js.map +1 -0
- package/packages/core/dist/server/enriched-span-exporter.d.ts +17 -0
- package/packages/core/dist/server/enriched-span-exporter.d.ts.map +1 -0
- package/packages/core/dist/server/enriched-span-exporter.js +12 -0
- package/packages/core/dist/server/enriched-span-exporter.js.map +1 -0
- package/packages/core/dist/server/env.d.ts +6 -0
- package/packages/core/dist/server/env.d.ts.map +1 -0
- package/packages/core/dist/server/env.js +10 -0
- package/packages/core/dist/server/env.js.map +1 -0
- package/packages/core/dist/server/file-browser.d.ts +17 -0
- package/packages/core/dist/server/file-browser.d.ts.map +1 -0
- package/packages/core/dist/server/file-browser.js +11 -0
- package/packages/core/dist/server/file-browser.js.map +1 -0
- package/packages/core/dist/server/otlp-receiver.d.ts +87 -0
- package/packages/core/dist/server/otlp-receiver.d.ts.map +1 -0
- package/packages/core/dist/server/otlp-receiver.js +106 -0
- package/packages/core/dist/server/otlp-receiver.js.map +1 -0
- package/packages/core/dist/server/parser.d.ts +11 -0
- package/packages/core/dist/server/parser.d.ts.map +1 -0
- package/packages/core/dist/server/parser.js +6 -0
- package/packages/core/dist/server/parser.js.map +1 -0
- package/packages/core/dist/server/paths.d.ts +37 -0
- package/packages/core/dist/server/paths.d.ts.map +1 -0
- package/packages/core/dist/server/paths.js +227 -0
- package/packages/core/dist/server/paths.js.map +1 -0
- package/packages/core/dist/server/pennyfarthing.d.ts +56 -0
- package/packages/core/dist/server/pennyfarthing.d.ts.map +1 -0
- package/packages/core/dist/server/pennyfarthing.js +356 -0
- package/packages/core/dist/server/pennyfarthing.js.map +1 -0
- package/packages/core/dist/server/plugin-loader.d.ts +22 -0
- package/packages/core/dist/server/plugin-loader.d.ts.map +1 -0
- package/packages/core/dist/server/plugin-loader.js +67 -0
- package/packages/core/dist/server/plugin-loader.js.map +1 -0
- package/packages/core/dist/server/prime.d.ts +12 -0
- package/packages/core/dist/server/prime.d.ts.map +1 -0
- package/packages/core/dist/server/prime.js +8 -0
- package/packages/core/dist/server/prime.js.map +1 -0
- package/packages/core/dist/server/server.d.ts +47 -0
- package/packages/core/dist/server/server.d.ts.map +1 -0
- package/packages/core/dist/server/server.js +353 -0
- package/packages/core/dist/server/server.js.map +1 -0
- package/packages/core/dist/server/server.test.d.ts +26 -0
- package/packages/core/dist/server/server.test.d.ts.map +1 -0
- package/packages/core/dist/server/server.test.js +447 -0
- package/packages/core/dist/server/server.test.js.map +1 -0
- package/packages/core/dist/server/settings-store.d.ts +195 -0
- package/packages/core/dist/server/settings-store.d.ts.map +1 -0
- package/packages/core/dist/server/settings-store.js +398 -0
- package/packages/core/dist/server/settings-store.js.map +1 -0
- package/packages/core/dist/server/settings.d.ts +136 -0
- package/packages/core/dist/server/settings.d.ts.map +1 -0
- package/packages/core/dist/server/settings.js +417 -0
- package/packages/core/dist/server/settings.js.map +1 -0
- package/packages/core/dist/server/span-hierarchy.d.ts +5 -0
- package/packages/core/dist/server/span-hierarchy.d.ts.map +1 -0
- package/packages/core/dist/server/span-hierarchy.js +5 -0
- package/packages/core/dist/server/span-hierarchy.js.map +1 -0
- package/packages/core/dist/server/story-context.d.ts +5 -0
- package/packages/core/dist/server/story-context.d.ts.map +1 -0
- package/packages/core/dist/server/story-context.js +5 -0
- package/packages/core/dist/server/story-context.js.map +1 -0
- package/packages/core/dist/server/story-parser.d.ts +74 -0
- package/packages/core/dist/server/story-parser.d.ts.map +1 -0
- package/packages/core/dist/server/story-parser.js +748 -0
- package/packages/core/dist/server/story-parser.js.map +1 -0
- package/packages/core/dist/server/tdd-metrics.d.ts +5 -0
- package/packages/core/dist/server/tdd-metrics.d.ts.map +1 -0
- package/packages/core/dist/server/tdd-metrics.js +5 -0
- package/packages/core/dist/server/tdd-metrics.js.map +1 -0
- package/packages/core/dist/server/ui-build.test.d.ts +19 -0
- package/packages/core/dist/server/ui-build.test.d.ts.map +1 -0
- package/packages/core/dist/server/ui-build.test.js +152 -0
- package/packages/core/dist/server/ui-build.test.js.map +1 -0
- package/packages/core/dist/server/websocket.d.ts +7 -0
- package/packages/core/dist/server/websocket.d.ts.map +1 -0
- package/packages/core/dist/server/websocket.js +8 -0
- package/packages/core/dist/server/websocket.js.map +1 -0
- package/packages/core/dist/shared/browser.d.ts +6 -0
- package/packages/core/dist/shared/browser.d.ts.map +1 -0
- package/packages/core/dist/shared/browser.js +8 -0
- package/packages/core/dist/shared/browser.js.map +1 -0
- package/packages/core/dist/shared/generate-skill-docs.d.ts +35 -0
- package/packages/core/dist/shared/generate-skill-docs.d.ts.map +1 -0
- package/packages/core/dist/shared/generate-skill-docs.js +442 -0
- package/packages/core/dist/shared/generate-skill-docs.js.map +1 -0
- package/packages/core/dist/shared/generate-skill-docs.test.d.ts +13 -0
- package/packages/core/dist/shared/generate-skill-docs.test.d.ts.map +1 -0
- package/packages/core/dist/shared/generate-skill-docs.test.js +519 -0
- package/packages/core/dist/shared/generate-skill-docs.test.js.map +1 -0
- package/packages/core/dist/shared/index.d.ts +11 -0
- package/packages/core/dist/shared/index.d.ts.map +1 -0
- package/packages/core/dist/shared/index.js +13 -0
- package/packages/core/dist/shared/index.js.map +1 -0
- package/packages/core/dist/shared/marker/constants.d.ts +39 -0
- package/packages/core/dist/shared/marker/constants.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/constants.js +46 -0
- package/packages/core/dist/shared/marker/constants.js.map +1 -0
- package/packages/core/dist/shared/marker/continue.test.d.ts +12 -0
- package/packages/core/dist/shared/marker/continue.test.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/continue.test.js +76 -0
- package/packages/core/dist/shared/marker/continue.test.js.map +1 -0
- package/packages/core/dist/shared/marker/detect.d.ts +25 -0
- package/packages/core/dist/shared/marker/detect.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/detect.js +53 -0
- package/packages/core/dist/shared/marker/detect.js.map +1 -0
- package/packages/core/dist/shared/marker/detect.test.d.ts +10 -0
- package/packages/core/dist/shared/marker/detect.test.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/detect.test.js +418 -0
- package/packages/core/dist/shared/marker/detect.test.js.map +1 -0
- package/packages/core/dist/shared/marker/index.d.ts +14 -0
- package/packages/core/dist/shared/marker/index.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/index.js +15 -0
- package/packages/core/dist/shared/marker/index.js.map +1 -0
- package/packages/core/dist/shared/marker/strip.d.ts +26 -0
- package/packages/core/dist/shared/marker/strip.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/strip.js +39 -0
- package/packages/core/dist/shared/marker/strip.js.map +1 -0
- package/packages/core/dist/shared/marker/types.d.ts +23 -0
- package/packages/core/dist/shared/marker/types.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/types.js +7 -0
- package/packages/core/dist/shared/marker/types.js.map +1 -0
- package/packages/core/dist/shared/migrate-theme-schema.test.d.ts +8 -0
- package/packages/core/dist/shared/migrate-theme-schema.test.d.ts.map +1 -0
- package/packages/core/dist/shared/migrate-theme-schema.test.js +100 -0
- package/packages/core/dist/shared/migrate-theme-schema.test.js.map +1 -0
- package/packages/core/dist/shared/portrait-resolver.d.ts +35 -0
- package/packages/core/dist/shared/portrait-resolver.d.ts.map +1 -0
- package/packages/core/dist/shared/portrait-resolver.js +259 -0
- package/packages/core/dist/shared/portrait-resolver.js.map +1 -0
- package/packages/core/dist/shared/portrait-resolver.test.d.ts +2 -0
- package/packages/core/dist/shared/portrait-resolver.test.d.ts.map +1 -0
- package/packages/core/dist/shared/portrait-resolver.test.js +157 -0
- package/packages/core/dist/shared/portrait-resolver.test.js.map +1 -0
- package/packages/core/dist/shared/repos-topology.d.ts +49 -0
- package/packages/core/dist/shared/repos-topology.d.ts.map +1 -0
- package/packages/core/dist/shared/repos-topology.js +101 -0
- package/packages/core/dist/shared/repos-topology.js.map +1 -0
- package/packages/core/dist/shared/repos-topology.test.d.ts +8 -0
- package/packages/core/dist/shared/repos-topology.test.d.ts.map +1 -0
- package/packages/core/dist/shared/repos-topology.test.js +250 -0
- package/packages/core/dist/shared/repos-topology.test.js.map +1 -0
- package/packages/core/dist/shared/skill-search.d.ts +36 -0
- package/packages/core/dist/shared/skill-search.d.ts.map +1 -0
- package/packages/core/dist/shared/skill-search.js +300 -0
- package/packages/core/dist/shared/skill-search.js.map +1 -0
- package/packages/core/dist/shared/skill-search.test.d.ts +16 -0
- package/packages/core/dist/shared/skill-search.test.d.ts.map +1 -0
- package/packages/core/dist/shared/skill-search.test.js +177 -0
- package/packages/core/dist/shared/skill-search.test.js.map +1 -0
- package/packages/core/dist/shared/skill-suggest.d.ts +76 -0
- package/packages/core/dist/shared/skill-suggest.d.ts.map +1 -0
- package/packages/core/dist/shared/skill-suggest.js +256 -0
- package/packages/core/dist/shared/skill-suggest.js.map +1 -0
- package/packages/core/dist/shared/skill-suggest.test.d.ts +12 -0
- package/packages/core/dist/shared/skill-suggest.test.d.ts.map +1 -0
- package/packages/core/dist/shared/skill-suggest.test.js +257 -0
- package/packages/core/dist/shared/skill-suggest.test.js.map +1 -0
- package/packages/core/dist/shared/theme-loader.d.ts +81 -0
- package/packages/core/dist/shared/theme-loader.d.ts.map +1 -0
- package/packages/core/dist/shared/theme-loader.js +491 -0
- package/packages/core/dist/shared/theme-loader.js.map +1 -0
- package/packages/core/dist/shared/theme-loader.test.d.ts +8 -0
- package/packages/core/dist/shared/theme-loader.test.d.ts.map +1 -0
- package/packages/core/dist/shared/theme-loader.test.js +62 -0
- package/packages/core/dist/shared/theme-loader.test.js.map +1 -0
- package/packages/core/dist/workflow/context-watch.test.js +1 -1
- package/packages/core/dist/workflow/context-watch.test.js.map +1 -1
- package/packages/core/dist/workflow/variable-resolver.test.js +1 -1
- package/packages/core/dist/workflow/variable-resolver.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-migration.test.js +4 -3
- package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
- package/pennyfarthing-dist/agents/architect.md +1 -2
- package/pennyfarthing-dist/agents/ba.md +1 -1
- package/pennyfarthing-dist/agents/dev.md +2 -3
- package/pennyfarthing-dist/agents/devops.md +1 -1
- package/pennyfarthing-dist/agents/orchestrator.md +2 -3
- package/pennyfarthing-dist/agents/pm.md +2 -2
- package/pennyfarthing-dist/agents/reviewer.md +2 -2
- package/pennyfarthing-dist/agents/sm-setup.md +7 -7
- package/pennyfarthing-dist/agents/sm.md +19 -18
- package/pennyfarthing-dist/agents/tea.md +3 -2
- package/pennyfarthing-dist/agents/tech-writer.md +1 -1
- package/pennyfarthing-dist/agents/ux-designer.md +0 -1
- package/pennyfarthing-dist/commands/benchmark-control.md +69 -0
- package/pennyfarthing-dist/commands/benchmark.md +485 -0
- package/pennyfarthing-dist/commands/job-fair.md +102 -0
- package/pennyfarthing-dist/commands/{close-epic.md → pf-close-epic.md} +1 -1
- package/pennyfarthing-dist/commands/{new-work.md → pf-new-work.md} +4 -4
- package/pennyfarthing-dist/commands/{party-mode.md → pf-party-mode.md} +15 -2
- package/pennyfarthing-dist/commands/{patch.md → pf-patch.md} +3 -3
- package/pennyfarthing-dist/commands/{release.md → pf-release.md} +17 -10
- package/pennyfarthing-dist/commands/{setup.md → pf-setup.md} +2 -2
- package/pennyfarthing-dist/commands/{sprint.md → pf-sprint.md} +19 -19
- package/pennyfarthing-dist/commands/{standalone.md → pf-standalone.md} +2 -2
- package/pennyfarthing-dist/commands/{workflow.md → pf-workflow.md} +7 -7
- package/pennyfarthing-dist/commands/solo.md +447 -0
- package/pennyfarthing-dist/guides/agent-behavior.md +2 -2
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +1 -2
- package/pennyfarthing-dist/guides/agent-template-strategic.md +1 -1
- package/pennyfarthing-dist/guides/agent-template-tactical.md +2 -2
- package/pennyfarthing-dist/guides/bikelane.md +6 -6
- package/pennyfarthing-dist/guides/permission-protocol.md +1 -1
- package/pennyfarthing-dist/guides/scale-levels.md +2 -2
- package/pennyfarthing-dist/guides/skill-schema.md +9 -9
- package/pennyfarthing-dist/guides/xml-tags.md +2 -2
- package/pennyfarthing-dist/personas/themes/dune.yaml +0 -1
- package/pennyfarthing-dist/personas/themes/hogans-heroes.yaml +260 -0
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/stephen-king.yaml +260 -0
- package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -0
- package/pennyfarthing-dist/scripts/core/check-context.sh +0 -0
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +0 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -0
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -0
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -0
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +84 -21
- package/pennyfarthing-dist/scripts/git/release.sh +0 -0
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -0
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/dispatcher-template.sh +45 -0
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +27 -2
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -0
- package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +25 -89
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/README.md +1 -1
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/common.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/logging.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/retry.sh +0 -0
- package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -0
- package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -0
- package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +50 -26
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +18 -6
- package/pennyfarthing-dist/scripts/sprint/README.md +1 -1
- package/pennyfarthing-dist/scripts/story/README.md +1 -1
- package/pennyfarthing-dist/scripts/story/create-story.sh +0 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +0 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -0
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +1 -1
- package/pennyfarthing-dist/scripts/workflow/check.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/check.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/complete-step.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -0
- package/pennyfarthing-dist/skills/pf-bc/examples.md +83 -0
- package/pennyfarthing-dist/skills/pf-bc/skill.md +51 -0
- package/pennyfarthing-dist/skills/pf-bc/usage.md +113 -0
- package/pennyfarthing-dist/skills/{cyclist → pf-cyclist}/SKILL.md +5 -5
- package/pennyfarthing-dist/skills/pf-finalize-run/SKILL.md +261 -0
- package/pennyfarthing-dist/skills/pf-jira/SKILL.md +61 -0
- package/pennyfarthing-dist/skills/pf-jira/examples.md +163 -0
- package/pennyfarthing-dist/skills/pf-jira/usage.md +213 -0
- package/pennyfarthing-dist/skills/pf-judge/SKILL.md +644 -0
- package/pennyfarthing-dist/skills/{just → pf-just}/SKILL.md +23 -23
- package/pennyfarthing-dist/skills/{permissions → pf-permissions}/skill.md +8 -8
- package/pennyfarthing-dist/skills/pf-persona-benchmark/SKILL.md +187 -0
- package/pennyfarthing-dist/skills/pf-sprint/examples.md +189 -0
- package/pennyfarthing-dist/skills/pf-sprint/skill.md +85 -0
- package/pennyfarthing-dist/skills/pf-sprint/usage.md +293 -0
- package/pennyfarthing-dist/skills/{story → pf-story}/scripts/create-story.sh +0 -0
- package/pennyfarthing-dist/skills/{story → pf-story}/scripts/size-story.sh +0 -0
- package/pennyfarthing-dist/skills/{story → pf-story}/scripts/story-template.sh +0 -0
- package/pennyfarthing-dist/skills/pf-story/skill.md +27 -0
- package/pennyfarthing-dist/skills/{systematic-debugging → pf-systematic-debugging}/SKILL.md +5 -6
- package/pennyfarthing-dist/skills/pf-theme/examples.md +92 -0
- package/pennyfarthing-dist/skills/pf-theme/skill.md +42 -0
- package/pennyfarthing-dist/skills/pf-theme/usage.md +149 -0
- package/pennyfarthing-dist/skills/pf-workflow/examples.md +101 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/list-workflows.sh +0 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/resume-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/show-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/start-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/workflow-status.sh +0 -0
- package/pennyfarthing-dist/skills/pf-workflow/skill.md +49 -0
- package/pennyfarthing-dist/skills/pf-workflow/usage.md +145 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +63 -81
- package/pennyfarthing-dist/workflows/architecture/data/domain-complexity.csv +13 -0
- package/pennyfarthing-dist/workflows/architecture/data/project-types.csv +7 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +40 -11
- package/pennyfarthing-dist/workflows/party-mode-roleplay/steps/step-01-agent-loading.md +99 -0
- package/pennyfarthing-dist/workflows/party-mode-roleplay/steps/step-02-discussion.md +130 -0
- package/pennyfarthing-dist/workflows/party-mode-roleplay/steps/step-03-exit.md +100 -0
- package/pennyfarthing-dist/workflows/party-mode-roleplay/workflow.yaml +62 -0
- package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +2 -0
- package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +2 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +16 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +3 -3
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +193 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +148 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +141 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +192 -0
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +35 -0
- package/pennyfarthing-dist/workflows/release/steps/step-01-preflight.md +42 -3
- package/pennyfarthing-dist/workflows/release/steps/step-02-bump.md +10 -3
- package/pennyfarthing-dist/workflows/release/steps/step-03-changelog.md +1 -1
- package/pennyfarthing-dist/workflows/release/steps/step-07-commit.md +13 -4
- package/pennyfarthing-dist/workflows/release/steps/step-08-merge.md +31 -6
- package/pennyfarthing-dist/workflows/release/steps/step-09-push.md +12 -6
- package/pennyfarthing-dist/workflows/release/steps/step-10-publish.md +30 -5
- package/pennyfarthing-dist/workflows/release/steps/step-11-finalize.md +29 -0
- package/pennyfarthing-dist/workflows/release.yaml +7 -0
- package/pennyfarthing_scripts/CLAUDE.md +182 -0
- package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/session_start_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/__init__.py +1 -0
- package/pennyfarthing_scripts/bc/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/__pycache__/focus.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/cli.py +223 -0
- package/pennyfarthing_scripts/bc/focus.py +333 -0
- package/pennyfarthing_scripts/bikerack/__init__.py +8 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/background_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/base_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/changed_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/diffs_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/git_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/launcher.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/sprint_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/tui.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/ws_client.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/background_panel.py +81 -0
- package/pennyfarthing_scripts/bikerack/base_panel.py +100 -0
- package/pennyfarthing_scripts/bikerack/changed_panel.py +105 -0
- package/pennyfarthing_scripts/bikerack/cli.py +22 -24
- package/pennyfarthing_scripts/bikerack/diffs_panel.py +146 -0
- package/pennyfarthing_scripts/bikerack/git_panel.py +69 -0
- package/pennyfarthing_scripts/bikerack/launcher.py +63 -4
- package/pennyfarthing_scripts/bikerack/sprint_panel.py +72 -0
- package/pennyfarthing_scripts/bikerack/tui.py +193 -0
- package/pennyfarthing_scripts/bikerack/ws_client.py +176 -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 +60 -16
- package/pennyfarthing_scripts/codemarkers/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/analyze.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__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/analyze.py +15 -1
- package/pennyfarthing_scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/cli.py +10 -2
- package/pennyfarthing_scripts/launch/__init__.py +1 -0
- package/pennyfarthing_scripts/launch/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/launch/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/launch/cli.py +231 -0
- 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/prime/__pycache__/version_sentinel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/version_sentinel.py +0 -1
- package/pennyfarthing_scripts/session_start_hook.py +192 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__main__.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__/epic_update.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__/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__/yaml_io.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/archive_epic.py +109 -1
- package/pennyfarthing_scripts/sprint/cli.py +30 -9
- package/pennyfarthing_scripts/sprint/epic_add.py +7 -1
- package/pennyfarthing_scripts/sprint/epic_update.py +148 -0
- package/pennyfarthing_scripts/sprint/loader.py +33 -0
- package/pennyfarthing_scripts/sprint/story_add.py +11 -1
- package/pennyfarthing_scripts/sprint/story_finish.py +14 -10
- package/pennyfarthing_scripts/sprint/story_update.py +7 -0
- package/pennyfarthing_scripts/sprint/validate_cmd.py +2 -1
- package/pennyfarthing_scripts/sprint/yaml_io.py +64 -6
- 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/tests/__pycache__/test_archive_epic.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_bc.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_cli_normalization.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_panel.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_topology_loader.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_tui_focus.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_tui_panel_persistence.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_version_sentinel.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_yaml_io.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/test_archive_epic.py +185 -0
- package/pennyfarthing_scripts/tests/test_bc.py +490 -0
- package/pennyfarthing_scripts/tests/test_cli_normalization.py +295 -0
- package/pennyfarthing_scripts/tests/test_sprint_panel.py +531 -0
- package/pennyfarthing_scripts/tests/test_tui_focus.py +411 -0
- package/pennyfarthing_scripts/tests/test_tui_panel_persistence.py +411 -0
- package/pennyfarthing_scripts/tests/test_version_sentinel.py +1 -5
- package/pennyfarthing_scripts/tests/test_yaml_io.py +5 -5
- package/pennyfarthing_scripts/theme/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/theme/cli.py +25 -2
- package/scripts/README.md +41 -0
- package/packages/core/dist/scripts/benchmark-integration.test.d.ts +0 -13
- package/packages/core/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/benchmark-integration.test.js +0 -680
- package/packages/core/dist/scripts/benchmark-integration.test.js.map +0 -1
- package/packages/core/dist/scripts/debugging-scenarios.test.d.ts +0 -18
- package/packages/core/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/debugging-scenarios.test.js +0 -317
- package/packages/core/dist/scripts/debugging-scenarios.test.js.map +0 -1
- package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
- package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/job-fair-aggregator.test.js +0 -616
- package/packages/core/dist/scripts/job-fair-aggregator.test.js.map +0 -1
- package/packages/core/dist/scripts/theme-detail.test.d.ts +0 -10
- package/packages/core/dist/scripts/theme-detail.test.js +0 -199
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +0 -392
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +0 -461
- package/pennyfarthing-dist/skills/jira/SKILL.md +0 -207
- package/pennyfarthing-dist/skills/sprint/skill.md +0 -806
- package/pennyfarthing-dist/skills/story/skill.md +0 -27
- package/pennyfarthing-dist/skills/theme/skill.md +0 -356
- package/pennyfarthing-dist/skills/workflow/skill.md +0 -368
- /package/pennyfarthing-dist/commands/{architect.md → pf-architect.md} +0 -0
- /package/pennyfarthing-dist/commands/{ba.md → pf-ba.md} +0 -0
- /package/pennyfarthing-dist/commands/{brainstorming.md → pf-brainstorming.md} +0 -0
- /package/pennyfarthing-dist/commands/{check.md → pf-check.md} +0 -0
- /package/pennyfarthing-dist/commands/{chore.md → pf-chore.md} +0 -0
- /package/pennyfarthing-dist/commands/{continue-session.md → pf-continue-session.md} +0 -0
- /package/pennyfarthing-dist/commands/{create-branches-from-story.md → pf-create-branches-from-story.md} +0 -0
- /package/pennyfarthing-dist/commands/{create-theme.md → pf-create-theme.md} +0 -0
- /package/pennyfarthing-dist/commands/{dev.md → pf-dev.md} +0 -0
- /package/pennyfarthing-dist/commands/{devops.md → pf-devops.md} +0 -0
- /package/pennyfarthing-dist/commands/{fix-blocker.md → pf-fix-blocker.md} +0 -0
- /package/pennyfarthing-dist/commands/{git-cleanup.md → pf-git-cleanup.md} +0 -0
- /package/pennyfarthing-dist/commands/{health-check.md → pf-health-check.md} +0 -0
- /package/pennyfarthing-dist/commands/{help.md → pf-help.md} +0 -0
- /package/pennyfarthing-dist/commands/{list-themes.md → pf-list-themes.md} +0 -0
- /package/pennyfarthing-dist/commands/{orchestrator.md → pf-orchestrator.md} +0 -0
- /package/pennyfarthing-dist/commands/{parallel-work.md → pf-parallel-work.md} +0 -0
- /package/pennyfarthing-dist/commands/{permissions.md → pf-permissions.md} +0 -0
- /package/pennyfarthing-dist/commands/{pm.md → pf-pm.md} +0 -0
- /package/pennyfarthing-dist/commands/{prime.md → pf-prime.md} +0 -0
- /package/pennyfarthing-dist/commands/{repo-status.md → pf-repo-status.md} +0 -0
- /package/pennyfarthing-dist/commands/{retro.md → pf-retro.md} +0 -0
- /package/pennyfarthing-dist/commands/{reviewer.md → pf-reviewer.md} +0 -0
- /package/pennyfarthing-dist/commands/{run-ci.md → pf-run-ci.md} +0 -0
- /package/pennyfarthing-dist/commands/{set-theme.md → pf-set-theme.md} +0 -0
- /package/pennyfarthing-dist/commands/{show-theme.md → pf-show-theme.md} +0 -0
- /package/pennyfarthing-dist/commands/{sm.md → pf-sm.md} +0 -0
- /package/pennyfarthing-dist/commands/{sprint-planning.md → pf-sprint-planning.md} +0 -0
- /package/pennyfarthing-dist/commands/{start-epic.md → pf-start-epic.md} +0 -0
- /package/pennyfarthing-dist/commands/{sync-epic-to-jira.md → pf-sync-epic-to-jira.md} +0 -0
- /package/pennyfarthing-dist/commands/{sync-work-with-sprint.md → pf-sync-work-with-sprint.md} +0 -0
- /package/pennyfarthing-dist/commands/{tea.md → pf-tea.md} +0 -0
- /package/pennyfarthing-dist/commands/{tech-writer.md → pf-tech-writer.md} +0 -0
- /package/pennyfarthing-dist/commands/{theme-maker.md → pf-theme-maker.md} +0 -0
- /package/pennyfarthing-dist/commands/{theme.md → pf-theme.md} +0 -0
- /package/pennyfarthing-dist/commands/{update-domain-docs.md → pf-update-domain-docs.md} +0 -0
- /package/pennyfarthing-dist/commands/{ux-designer.md → pf-ux-designer.md} +0 -0
- /package/pennyfarthing-dist/commands/{work.md → pf-work.md} +0 -0
- /package/pennyfarthing-dist/skills/{agentic-patterns → pf-agentic-patterns}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{changelog → pf-changelog}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{code-review → pf-code-review}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{context-engineering → pf-context-engineering}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{mermaid → pf-mermaid}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{otel → pf-otel}/skill.md +0 -0
- /package/pennyfarthing-dist/skills/{testing → pf-testing}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{testing → pf-testing}/references/troubleshooting.md +0 -0
- /package/pennyfarthing-dist/skills/{theme-creation → pf-theme-creation}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{yq → pf-yq}/SKILL.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 'step-05-import-to-future'
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Create initiative file and import validated epics into sprint/future.yaml backlog'
|
|
4
4
|
|
|
5
5
|
# Path Definitions
|
|
6
6
|
workflow_path: '{project_root}/.pennyfarthing/workflows/epics-and-stories'
|
|
@@ -28,11 +28,12 @@ To import the validated and complete epics and stories from the epics.md documen
|
|
|
28
28
|
</instructions>
|
|
29
29
|
|
|
30
30
|
<output>
|
|
31
|
-
- Initiative
|
|
31
|
+
- Initiative file created at sprint/initiative-{name}.yaml with epic metadata
|
|
32
|
+
- Initiative name added to sprint/future.yaml
|
|
32
33
|
- Epic assigned with correct sequential number (epic-N)
|
|
33
34
|
- All stories with proper IDs (epic-N-story-M format)
|
|
34
35
|
- Dry-run preview showing exactly what will be imported
|
|
35
|
-
- Verification that
|
|
36
|
+
- Verification that both initiative file and future.yaml entry exist
|
|
36
37
|
- Completion message with next steps for sprint planning
|
|
37
38
|
</output>
|
|
38
39
|
|
|
@@ -111,22 +112,46 @@ Display the full preview to the user showing:
|
|
|
111
112
|
Ask user: "Does this look correct? [Y] Yes, import to future.yaml / [N] No, make changes"
|
|
112
113
|
|
|
113
114
|
**If Y:**
|
|
114
|
-
|
|
115
|
+
|
|
116
|
+
**Step A — Create the initiative file** (`sprint/initiative-{initiative_name}.yaml`).
|
|
117
|
+
This file is required by the sprint system to hold epic metadata. Use the following structure:
|
|
118
|
+
|
|
119
|
+
```yaml
|
|
120
|
+
name: "{Initiative Display Name}"
|
|
121
|
+
description: |
|
|
122
|
+
{Brief description extracted from the epics document}
|
|
123
|
+
status: backlog
|
|
124
|
+
blocked_by:
|
|
125
|
+
total_points: {sum of all story points}
|
|
126
|
+
epics:
|
|
127
|
+
- epic-{N}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
If the initiative produces multiple epics, list all of them in the `epics` array.
|
|
131
|
+
|
|
132
|
+
**Step B — Append initiative name to `sprint/future.yaml`.**
|
|
133
|
+
Add `{initiative_name}` to the `future.initiatives` list using yq or direct YAML editing.
|
|
115
134
|
|
|
116
135
|
**If N:**
|
|
117
136
|
Ask what changes are needed and help user adjust before re-applying.
|
|
118
137
|
|
|
119
138
|
### 5. Verify Import
|
|
120
139
|
|
|
121
|
-
After successful import, verify
|
|
140
|
+
After successful import, verify **both** files:
|
|
122
141
|
|
|
123
142
|
```bash
|
|
124
|
-
|
|
143
|
+
# Verify initiative file exists and has correct structure
|
|
144
|
+
cat sprint/initiative-{initiative_name}.yaml
|
|
145
|
+
|
|
146
|
+
# Verify initiative is listed in future.yaml
|
|
147
|
+
grep "{initiative_name}" sprint/future.yaml
|
|
125
148
|
```
|
|
126
149
|
|
|
127
150
|
Confirm:
|
|
128
|
-
-
|
|
129
|
-
-
|
|
151
|
+
- Initiative file exists at `sprint/initiative-{initiative_name}.yaml`
|
|
152
|
+
- Initiative file contains epic IDs and metadata
|
|
153
|
+
- Initiative name appears in future.yaml
|
|
154
|
+
- Epic numbers are correct
|
|
130
155
|
- Stories have proper IDs
|
|
131
156
|
|
|
132
157
|
### 6. Complete Workflow
|
|
@@ -139,15 +164,18 @@ Display completion message:
|
|
|
139
164
|
**Epic imported:** epic-{N}
|
|
140
165
|
**Initiative:** {initiative_name}
|
|
141
166
|
**Stories:** {count} stories ready for sprint planning
|
|
142
|
-
**
|
|
167
|
+
**Files created/updated:**
|
|
168
|
+
- sprint/initiative-{initiative_name}.yaml (NEW)
|
|
169
|
+
- sprint/future.yaml (UPDATED)
|
|
143
170
|
|
|
144
171
|
Next steps:
|
|
145
|
-
- Use `/sprint` to view the backlog
|
|
172
|
+
- Use `/pf-sprint` to view the backlog
|
|
146
173
|
- Use `pf sprint epic promote` to move to a sprint when ready
|
|
147
174
|
```
|
|
148
175
|
|
|
149
176
|
## SUCCESS CRITERIA:
|
|
150
177
|
|
|
178
|
+
- ✅ Initiative file created at `sprint/initiative-{initiative_name}.yaml`
|
|
151
179
|
- ✅ Initiative appears in future.yaml
|
|
152
180
|
- ✅ Epic has correct sequential number
|
|
153
181
|
- ✅ All stories have proper IDs (epic-story format)
|
|
@@ -156,7 +184,8 @@ Next steps:
|
|
|
156
184
|
## FAILURE MODES:
|
|
157
185
|
|
|
158
186
|
- ❌ future.yaml not found - ensure sprint/ directory exists
|
|
187
|
+
- ❌ Initiative file not created - sprint commands won't find epic data
|
|
159
188
|
- ❌ Duplicate epic number - check existing IDs before assigning
|
|
160
189
|
- ❌ yq not installed - required for YAML manipulation (`brew install yq`)
|
|
161
190
|
|
|
162
|
-
**Master Rule:** The workflow is not complete until
|
|
191
|
+
**Master Rule:** The workflow is not complete until both the initiative file exists AND the initiative is listed in future.yaml.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Step 1: Agent Loading and Party Mode Initialization
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 1
|
|
5
|
+
name: agent-loading
|
|
6
|
+
gate: false
|
|
7
|
+
next: step-02-discussion
|
|
8
|
+
</step-meta>
|
|
9
|
+
|
|
10
|
+
<purpose>
|
|
11
|
+
Load the full Pennyfarthing agent roster with theme personas and initialize party mode with an engaging introduction. This replaces BMAD's CSV manifest loading with PF's agent .md files and theme persona resolution.
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<instructions>
|
|
15
|
+
1. Read `.pennyfarthing/config.local.yaml` to get the active `theme`
|
|
16
|
+
2. Read the theme file from `pennyfarthing-dist/personas/themes/{theme}.yaml` (or `.pennyfarthing/personas/themes/`)
|
|
17
|
+
3. Scan `.pennyfarthing/agents/` for all agent `.md` files
|
|
18
|
+
4. For each agent, extract their role from the `<role>` tag in their agent file
|
|
19
|
+
5. Resolve each agent's persona from the theme file (`agents.{agent-name}` section): character name, style, expertise, emoji
|
|
20
|
+
6. Build a complete roster merging agent role data with theme persona data
|
|
21
|
+
7. Present an enthusiastic party mode introduction showcasing 3-4 diverse agents
|
|
22
|
+
8. Wait for the user to provide an initial topic
|
|
23
|
+
</instructions>
|
|
24
|
+
|
|
25
|
+
<actions>
|
|
26
|
+
- Read: `{config_path}` for active theme
|
|
27
|
+
- Read: `.pennyfarthing/personas/themes/{theme}.yaml` for persona data
|
|
28
|
+
- Read: `{agents_path}/*.md` for agent roles (scan directory, read `<role>` tags)
|
|
29
|
+
</actions>
|
|
30
|
+
|
|
31
|
+
<output>
|
|
32
|
+
Present the agent roster and invitation to discuss:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
PARTY MODE ACTIVATED!
|
|
36
|
+
|
|
37
|
+
Welcome! All Pennyfarthing agents are here for a group discussion.
|
|
38
|
+
I've loaded the full roster with their {theme} personas.
|
|
39
|
+
|
|
40
|
+
Agents ready to collaborate:
|
|
41
|
+
|
|
42
|
+
- {emoji} {Character Name} ({Agent Role}): {brief expertise}
|
|
43
|
+
- {emoji} {Character Name} ({Agent Role}): {brief expertise}
|
|
44
|
+
- {emoji} {Character Name} ({Agent Role}): {brief expertise}
|
|
45
|
+
... and {N} more agents standing by.
|
|
46
|
+
|
|
47
|
+
What would you like to discuss with the team?
|
|
48
|
+
```
|
|
49
|
+
</output>
|
|
50
|
+
|
|
51
|
+
<collaboration-menu>
|
|
52
|
+
- **[C] Continue** — User provides a topic and discussion begins
|
|
53
|
+
</collaboration-menu>
|
|
54
|
+
|
|
55
|
+
<next-step>
|
|
56
|
+
After user provides a topic, proceed to step-02-discussion.md for multi-round discussion orchestration.
|
|
57
|
+
</next-step>
|
|
58
|
+
|
|
59
|
+
## Agent Roster
|
|
60
|
+
|
|
61
|
+
Include these primary agents (all found in `.pennyfarthing/agents/`):
|
|
62
|
+
|
|
63
|
+
| Agent | Role Focus |
|
|
64
|
+
|-------|-----------|
|
|
65
|
+
| pm | Strategy, prioritization, business value |
|
|
66
|
+
| architect | System design, technical possibilities |
|
|
67
|
+
| sm | Practical concerns, process, team impact |
|
|
68
|
+
| dev | Implementation, code, building |
|
|
69
|
+
| tea | Testing, quality, verification |
|
|
70
|
+
| ux-designer | User experience, interaction design |
|
|
71
|
+
| tech-writer | Documentation, communication |
|
|
72
|
+
| devops | Infrastructure, deployment, operations |
|
|
73
|
+
| orchestrator | Coordination, the long view |
|
|
74
|
+
| reviewer | Code quality, adversarial review |
|
|
75
|
+
|
|
76
|
+
Only include agents whose `.md` files exist in the agents directory. Skip subagent files (sm-setup, sm-finish, sm-handoff, sm-file-summary, handoff, reviewer-preflight, testing-runner, tandem-backseat).
|
|
77
|
+
|
|
78
|
+
## Persona Resolution
|
|
79
|
+
|
|
80
|
+
For each agent, resolve from the theme file:
|
|
81
|
+
- `character` — The persona name (e.g., "Amos Burton" in The Expanse theme)
|
|
82
|
+
- `style` — Communication style flavor
|
|
83
|
+
- `expertise` — Domain framing
|
|
84
|
+
- `emoji` — Default emoji identifier
|
|
85
|
+
|
|
86
|
+
If theme data is unavailable for an agent, fall back to the agent's role description from their `.md` file.
|
|
87
|
+
|
|
88
|
+
## Failure Modes
|
|
89
|
+
|
|
90
|
+
- Loading subagent files as primary agents
|
|
91
|
+
- Not resolving theme personas (presenting generic names instead of characters)
|
|
92
|
+
- Skipping the roster presentation and jumping straight to discussion
|
|
93
|
+
|
|
94
|
+
## Success Metrics
|
|
95
|
+
|
|
96
|
+
- All primary agents discovered and loaded
|
|
97
|
+
- Theme personas resolved for each agent
|
|
98
|
+
- Engaging introduction with character names displayed
|
|
99
|
+
- User prompted for an initial discussion topic
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Step 2: Discussion Orchestration
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 2
|
|
5
|
+
name: discussion
|
|
6
|
+
gate: false
|
|
7
|
+
next: step-03-exit
|
|
8
|
+
</step-meta>
|
|
9
|
+
|
|
10
|
+
<purpose>
|
|
11
|
+
Orchestrate a sustained multi-round discussion between agents with intelligent selection, natural cross-talk, and authentic in-character responses. This is the core loop — it repeats until the user exits.
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<instructions>
|
|
15
|
+
1. Analyze each user message for domain and expertise requirements
|
|
16
|
+
2. Select 2-3 agents whose roles and personas best match the topic
|
|
17
|
+
3. Generate in-character responses using each agent's theme persona (character name, communication style) and role expertise
|
|
18
|
+
4. Enable cross-talk — agents reference each other, build on points, respectfully disagree
|
|
19
|
+
5. Handle questions appropriately (direct-to-user pauses the round; inter-agent flows naturally)
|
|
20
|
+
6. Present `[E] Exit` option after each response round
|
|
21
|
+
7. Repeat until user selects Exit or triggers an exit condition
|
|
22
|
+
</instructions>
|
|
23
|
+
|
|
24
|
+
<actions>
|
|
25
|
+
- Read: Agent roster built in step 1 (maintained in conversation context)
|
|
26
|
+
- Read: Conversation history for context continuity
|
|
27
|
+
</actions>
|
|
28
|
+
|
|
29
|
+
<output>
|
|
30
|
+
Each response round follows this format:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
{emoji} **{Character Name}**: {In-character response reflecting their communication
|
|
34
|
+
style, role expertise, and persona. References the topic with domain knowledge.}
|
|
35
|
+
|
|
36
|
+
{emoji} **{Character Name}**: {Response that may build on, agree with, or challenge
|
|
37
|
+
the previous agent's point. Natural cross-talk.}
|
|
38
|
+
|
|
39
|
+
{emoji} **{Character Name}**: {Third perspective if warranted. Not every round
|
|
40
|
+
needs three agents — pick the right number for the topic.}
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
Continue the discussion, or:
|
|
44
|
+
[E] Exit Party Mode — end with summary
|
|
45
|
+
```
|
|
46
|
+
</output>
|
|
47
|
+
|
|
48
|
+
## Agent Selection
|
|
49
|
+
|
|
50
|
+
For each user message:
|
|
51
|
+
|
|
52
|
+
**Relevance analysis:**
|
|
53
|
+
- What domains does this touch? (technical, business, process, quality, UX, ops)
|
|
54
|
+
- Which agents have primary expertise here?
|
|
55
|
+
- Who would offer a valuable contrasting perspective?
|
|
56
|
+
|
|
57
|
+
**Selection rules:**
|
|
58
|
+
- Pick 2-3 agents per round (never all of them — that's noise, not discussion)
|
|
59
|
+
- If the user names a specific agent/character, prioritize them + 1-2 complementary agents
|
|
60
|
+
- Rotate participation over time so all agents get airtime across rounds
|
|
61
|
+
- Don't repeat the same 2-3 agents every round unless the topic demands it
|
|
62
|
+
|
|
63
|
+
## Character Consistency
|
|
64
|
+
|
|
65
|
+
Each agent response must:
|
|
66
|
+
- Use the agent's theme character name (not the role name)
|
|
67
|
+
- Reflect their communication style from the theme persona
|
|
68
|
+
- Draw from their role expertise for substance
|
|
69
|
+
- Maintain a consistent voice across rounds — the character should feel like one person
|
|
70
|
+
|
|
71
|
+
## Cross-Talk Patterns
|
|
72
|
+
|
|
73
|
+
Agents interact naturally:
|
|
74
|
+
- **Build:** "As {Character} mentioned, and building on that..."
|
|
75
|
+
- **Agree:** "I'm with {Character} on this — and I'd add..."
|
|
76
|
+
- **Disagree:** "I see it differently than {Character}. Here's why..."
|
|
77
|
+
- **Question:** "{Character}, how would you handle {specific aspect}?"
|
|
78
|
+
- **Synthesize:** "Taking {Character}'s point and {Character}'s concern together..."
|
|
79
|
+
|
|
80
|
+
## Question Handling
|
|
81
|
+
|
|
82
|
+
**Direct questions to the user:**
|
|
83
|
+
When an agent asks the user a specific question:
|
|
84
|
+
1. End the response round immediately after the question
|
|
85
|
+
2. Highlight: **{Character Name} asks: {question}**
|
|
86
|
+
3. Wait for user input before continuing
|
|
87
|
+
|
|
88
|
+
**Rhetorical questions:**
|
|
89
|
+
Agents can think aloud without pausing the round.
|
|
90
|
+
|
|
91
|
+
**Inter-agent questions:**
|
|
92
|
+
Agents can question each other and respond within the same round.
|
|
93
|
+
|
|
94
|
+
## Exit Detection
|
|
95
|
+
|
|
96
|
+
Check after each round:
|
|
97
|
+
- User selects `[E]` → proceed to step-03-exit.md
|
|
98
|
+
- User message contains exit triggers (`*exit`, `goodbye`, `end party mode`, `quit`) → proceed to step-03-exit.md
|
|
99
|
+
- Conversation naturally concludes → ask conversationally if they'd like to continue or wrap up
|
|
100
|
+
|
|
101
|
+
<collaboration-menu>
|
|
102
|
+
- **[E] Exit** — End the discussion and produce a structured summary
|
|
103
|
+
</collaboration-menu>
|
|
104
|
+
|
|
105
|
+
<next-step>
|
|
106
|
+
When user exits, proceed to step-03-exit.md for farewells and structured summary.
|
|
107
|
+
</next-step>
|
|
108
|
+
|
|
109
|
+
## Moderation
|
|
110
|
+
|
|
111
|
+
- If discussion becomes circular, have the Orchestrator character summarize and redirect
|
|
112
|
+
- If an agent's expertise is being stretched beyond their domain, acknowledge the boundary
|
|
113
|
+
- Balance depth with breadth — follow the user's energy
|
|
114
|
+
- Keep rounds focused; don't pad with filler perspectives
|
|
115
|
+
|
|
116
|
+
## Failure Modes
|
|
117
|
+
|
|
118
|
+
- Generic responses that don't reflect character personality
|
|
119
|
+
- Selecting agents that don't match the topic
|
|
120
|
+
- Not enabling cross-talk (isolated responses that don't reference each other)
|
|
121
|
+
- Continuing after exit trigger without acknowledging it
|
|
122
|
+
- Every round using the exact same agent selection
|
|
123
|
+
|
|
124
|
+
## Success Metrics
|
|
125
|
+
|
|
126
|
+
- Agents feel like distinct characters with authentic voices
|
|
127
|
+
- Cross-talk creates genuine conversation, not serial monologues
|
|
128
|
+
- Agent selection matches topic expertise
|
|
129
|
+
- User controls the pace and direction
|
|
130
|
+
- Exit is always available and respected
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Step 3: Graceful Exit
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 3
|
|
5
|
+
name: exit
|
|
6
|
+
gate: false
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
<purpose>
|
|
10
|
+
Conclude the party mode session with in-character farewells, session highlights, and a structured output artifact matching the Quick variant's format (Ideas Generated, Most Promising, Wild Cards, Next Steps).
|
|
11
|
+
</purpose>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
1. Select 2-3 agents who were most active in the discussion
|
|
15
|
+
2. Generate brief, in-character farewells from each — one sentence, reflecting their personality
|
|
16
|
+
3. Summarize session highlights (key topics covered, notable insights)
|
|
17
|
+
4. Produce structured output in the Party Mode Results format
|
|
18
|
+
5. If invoked from a parent workflow, return control to the parent
|
|
19
|
+
</instructions>
|
|
20
|
+
|
|
21
|
+
<output>
|
|
22
|
+
## Farewells
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
{emoji} **{Character}**: {Brief farewell in their voice — one sentence.}
|
|
26
|
+
|
|
27
|
+
{emoji} **{Character}**: {Their goodbye, maybe referencing a highlight.}
|
|
28
|
+
|
|
29
|
+
{emoji} **{Character}**: {Final thought in character.}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Structured Summary
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
## Party Mode Results: [Topic]
|
|
36
|
+
|
|
37
|
+
### Ideas Generated
|
|
38
|
+
1. [Idea] - contributed by [Character Name]
|
|
39
|
+
2. [Idea] - built on #1 by [Character Name]
|
|
40
|
+
...
|
|
41
|
+
|
|
42
|
+
### Most Promising
|
|
43
|
+
- [Top 3 ideas worth exploring further, with brief rationale]
|
|
44
|
+
|
|
45
|
+
### Wild Cards
|
|
46
|
+
- [Unconventional ideas that surfaced during discussion]
|
|
47
|
+
|
|
48
|
+
### Key Disagreements
|
|
49
|
+
- [Points where agents diverged — both sides noted]
|
|
50
|
+
|
|
51
|
+
### Next Steps
|
|
52
|
+
- [ ] Explore [idea] with /architect
|
|
53
|
+
- [ ] Prototype [idea] with /dev
|
|
54
|
+
- [ ] Get user feedback on [idea]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Party Mode session complete.
|
|
58
|
+
</output>
|
|
59
|
+
|
|
60
|
+
## Farewell Guidelines
|
|
61
|
+
|
|
62
|
+
- Keep farewells short — one sentence per agent, in character
|
|
63
|
+
- Reference something specific from the discussion if possible
|
|
64
|
+
- No generic "thanks for the great discussion" filler
|
|
65
|
+
- The farewell should sound like that character, not like a facilitator
|
|
66
|
+
|
|
67
|
+
## Structured Output
|
|
68
|
+
|
|
69
|
+
The summary artifact is what makes roleplay sessions produce lasting value. Include:
|
|
70
|
+
|
|
71
|
+
- **Ideas Generated**: Every distinct idea that surfaced, attributed to the character who raised it
|
|
72
|
+
- **Most Promising**: The 3 best ideas with brief rationale for why they stand out
|
|
73
|
+
- **Wild Cards**: Ideas that seemed crazy but might have merit — don't filter these
|
|
74
|
+
- **Key Disagreements**: Where agents diverged. Both perspectives, no resolution forced
|
|
75
|
+
- **Next Steps**: Actionable follow-ups using PF agent commands
|
|
76
|
+
|
|
77
|
+
## Return Protocol
|
|
78
|
+
|
|
79
|
+
If this workflow was invoked from within a parent workflow:
|
|
80
|
+
|
|
81
|
+
1. Identify the parent workflow step that invoked party-mode-roleplay
|
|
82
|
+
2. Re-read that step file to restore context
|
|
83
|
+
3. Resume from where the parent workflow directed the invocation
|
|
84
|
+
4. Present any menus the parent workflow requires after sub-workflow completion
|
|
85
|
+
|
|
86
|
+
Do not continue conversationally — return to parent workflow control flow.
|
|
87
|
+
|
|
88
|
+
## Failure Modes
|
|
89
|
+
|
|
90
|
+
- Skipping the structured summary (the whole point of exit)
|
|
91
|
+
- Generic farewells that don't reflect character voice
|
|
92
|
+
- Not attributing ideas to specific characters
|
|
93
|
+
- Forcing consensus on disagreements instead of capturing both sides
|
|
94
|
+
|
|
95
|
+
## Success Metrics
|
|
96
|
+
|
|
97
|
+
- In-character farewells that feel authentic
|
|
98
|
+
- Structured summary captures the substance of the discussion
|
|
99
|
+
- Ideas properly attributed to contributing characters
|
|
100
|
+
- Session feels complete, not abruptly terminated
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Party Mode Roleplay — Sustained Multi-Agent Discussion
|
|
2
|
+
#
|
|
3
|
+
# Adapted from BMAD party-mode workflow. Uses PF agent .md files and theme
|
|
4
|
+
# persona resolution instead of BMAD's agent-manifest.csv.
|
|
5
|
+
#
|
|
6
|
+
# Flow: Agent Loading → Discussion (multi-round) → Graceful Exit
|
|
7
|
+
#
|
|
8
|
+
# This is an interactive workflow — no document output. The discussion itself
|
|
9
|
+
# is the deliverable, with a structured summary produced on exit.
|
|
10
|
+
#
|
|
11
|
+
# Source: BMAD-METHOD/src/core/workflows/party-mode/
|
|
12
|
+
# Adapted: 2026-02-13
|
|
13
|
+
|
|
14
|
+
workflow:
|
|
15
|
+
name: party-mode-roleplay
|
|
16
|
+
description: |
|
|
17
|
+
Sustained multi-round discussion with real agent personas. Loads the full
|
|
18
|
+
agent roster with theme personas, orchestrates natural cross-talk and
|
|
19
|
+
intelligent agent selection, and produces a structured summary on exit.
|
|
20
|
+
version: "1.0.0"
|
|
21
|
+
type: stepped
|
|
22
|
+
|
|
23
|
+
# Step configuration
|
|
24
|
+
steps:
|
|
25
|
+
path: ./steps/
|
|
26
|
+
pattern: step-{nn}-*.md
|
|
27
|
+
|
|
28
|
+
# Variables available in step files
|
|
29
|
+
variables:
|
|
30
|
+
project_root: .
|
|
31
|
+
agents_path: .pennyfarthing/agents/
|
|
32
|
+
config_path: .pennyfarthing/config.local.yaml
|
|
33
|
+
|
|
34
|
+
# No formal gates — the discussion loop is user-driven via [E] Exit
|
|
35
|
+
gates:
|
|
36
|
+
after_steps: []
|
|
37
|
+
|
|
38
|
+
# Collaboration menus available in steps
|
|
39
|
+
collaboration:
|
|
40
|
+
menus:
|
|
41
|
+
- key: E
|
|
42
|
+
name: Exit
|
|
43
|
+
description: End the discussion and produce a summary
|
|
44
|
+
- key: C
|
|
45
|
+
name: Continue
|
|
46
|
+
description: Continue the discussion
|
|
47
|
+
|
|
48
|
+
# No agent assignment — the workflow itself orchestrates multiple agents
|
|
49
|
+
agent: orchestrator
|
|
50
|
+
|
|
51
|
+
# Exit conditions
|
|
52
|
+
exit_triggers:
|
|
53
|
+
- "*exit"
|
|
54
|
+
- "end party mode"
|
|
55
|
+
- "stop party mode"
|
|
56
|
+
- "goodbye"
|
|
57
|
+
- "quit"
|
|
58
|
+
|
|
59
|
+
# Triggers — when to suggest this workflow
|
|
60
|
+
triggers:
|
|
61
|
+
types: [party-mode, roleplay, discussion, multi-agent]
|
|
62
|
+
tags: [party-mode, roleplay, interactive, stepped]
|
|
@@ -9,5 +9,7 @@ scientific,"research,algorithm,simulation,modeling,computational,analysis,data s
|
|
|
9
9
|
legaltech,"legal,law,contract,compliance,litigation,patent,attorney,court",high,"Legal ethics;Bar regulations;Data retention;Attorney-client privilege;Court system integration","Legal practice rules;Ethics requirements;Court filing systems;Document standards;Confidentiality","domain-research","legal technology ethics {date};law practice management software requirements;court filing system standards;attorney client privilege technology","ethics_compliance;data_retention;confidentiality_measures;court_integration"
|
|
10
10
|
insuretech,"insurance,claims,underwriting,actuarial,policy,risk,premium",high,"Insurance regulations;Actuarial standards;Data privacy;Fraud detection;State compliance","Insurance regulations by state;Actuarial methods;Risk modeling;Claims processing;Regulatory reporting","domain-research","insurance software regulations {date};actuarial standards software;insurance fraud detection;state insurance compliance","regulatory_requirements;risk_modeling;fraud_detection;reporting_compliance"
|
|
11
11
|
energy,"energy,utility,grid,solar,wind,power,electricity,oil,gas",high,"Grid compliance;NERC standards;Environmental regulations;Safety requirements;Real-time operations","Energy regulations;Grid standards;Environmental compliance;Safety protocols;SCADA systems","domain-research","energy sector software compliance {date};NERC CIP standards;smart grid requirements;renewable energy software standards","grid_compliance;safety_protocols;environmental_compliance;operational_requirements"
|
|
12
|
+
process_control,"industrial automation,process control,PLC,SCADA,DCS,HMI,operational technology,OT,control system,cyberphysical,MES,historian,instrumentation,I&C,P&ID",high,"Functional safety;OT cybersecurity;Real-time control requirements;Legacy system integration;Process safety and hazard analysis;Environmental compliance and permitting;Engineering authority and PE requirements","Functional safety standards;OT security frameworks;Industrial protocols;Process control architecture;Plant reliability and maintainability","domain-research + technical-model","IEC 62443 OT cybersecurity requirements {date};functional safety software requirements {date};industrial process control architecture;ISA-95 manufacturing integration","functional_safety;ot_security;process_requirements;engineering_authority"
|
|
13
|
+
building_automation,"building automation,BAS,BMS,HVAC,smart building,lighting control,fire alarm,fire protection,fire suppression,life safety,elevator,access control,DDC,energy management,sequence of operations,commissioning",high,"Life safety codes;Building energy standards;Multi-trade coordination and interoperability;Commissioning and ongoing operational performance;Indoor environmental quality and occupant comfort;Engineering authority and PE requirements","Building automation protocols;HVAC and mechanical controls;Fire alarm, fire protection, and life safety design;Commissioning process and sequence of operations;Building codes and energy standards","domain-research","smart building software architecture {date};BACnet integration best practices;building automation cybersecurity {date};ASHRAE building standards","life_safety;energy_compliance;commissioning_requirements;engineering_authority"
|
|
12
14
|
gaming,"game,player,gameplay,level,character,multiplayer,quest",redirect,"REDIRECT TO GAME WORKFLOWS","Game design","game-brief","NA","NA"
|
|
13
15
|
general,"",low,"Standard requirements;Basic security;User experience;Performance","General software practices","continue","software development best practices {date}","standard_requirements"
|
|
@@ -120,6 +120,8 @@ Certain industries have mandatory requirements that must be present:
|
|
|
120
120
|
- **Fintech:** PCI-DSS Level 1, AML/KYC compliance, SOX controls, financial audit trails
|
|
121
121
|
- **GovTech:** NIST framework, Section 508 accessibility (WCAG 2.1 AA), FedRAMP, data residency
|
|
122
122
|
- **E-Commerce:** PCI-DSS for payments, inventory accuracy, tax calculation by jurisdiction
|
|
123
|
+
- **Process Control:** IEC 62443 OT cybersecurity, IEC 61508/61511 functional safety, HAZOP/LOPA process safety, PE/EOR engineering authority
|
|
124
|
+
- **Building Automation:** Life safety codes (fire alarm, fire protection, suppression), ASHRAE building energy standards, BACnet interoperability, commissioning and sequence of operations, PE/EOR engineering authority
|
|
123
125
|
|
|
124
126
|
**Why:** Missing these requirements in the PRD means they'll be missed in architecture and implementation, creating expensive rework. During PRD creation there is a step to cover this - during validation we want to make sure it was covered. For this purpose steps will utilize a domain-complexity.csv and project-types.csv.
|
|
125
127
|
|
|
@@ -101,6 +101,8 @@ Treat as "general" (low complexity) and proceed to step 4
|
|
|
101
101
|
- GovTech / Public sector
|
|
102
102
|
- EdTech (educational records, accredited courses)
|
|
103
103
|
- Legal tech
|
|
104
|
+
- Process Control / Industrial Automation / OT
|
|
105
|
+
- Building Automation / BAS / BMS
|
|
104
106
|
- Other regulated domains
|
|
105
107
|
|
|
106
108
|
### 3. For High-Complexity Domains: Validate Required Special Sections
|
|
@@ -131,6 +133,20 @@ Based on {domain} requirements, check PRD for:
|
|
|
131
133
|
- Security Clearance requirements
|
|
132
134
|
- Data residency requirements
|
|
133
135
|
|
|
136
|
+
**Process Control / Industrial Automation:**
|
|
137
|
+
- Functional Safety (IEC 61508/61511, SIL ratings)
|
|
138
|
+
- OT Cybersecurity (IEC 62443, network segmentation, zone/conduit model)
|
|
139
|
+
- Process requirements (real-time control, legacy system integration, industrial protocols)
|
|
140
|
+
- Process safety and hazard analysis (HAZOP, LOPA, SIS)
|
|
141
|
+
- Engineering authority (PE/EOR credential requirements, stamped deliverables)
|
|
142
|
+
|
|
143
|
+
**Building Automation:**
|
|
144
|
+
- Life Safety (fire alarm, fire protection, suppression codes, elevator safety)
|
|
145
|
+
- Energy compliance (ASHRAE standards, building energy codes, Title 24)
|
|
146
|
+
- Commissioning requirements (sequence of operations, functional performance testing)
|
|
147
|
+
- Multi-trade coordination and interoperability (BACnet, LON, Modbus)
|
|
148
|
+
- Engineering authority (PE/EOR credential requirements, stamped deliverables)
|
|
149
|
+
|
|
134
150
|
**Other regulated domains:**
|
|
135
151
|
- Check for domain-specific regulatory sections
|
|
136
152
|
- Compliance requirements
|
|
@@ -130,9 +130,9 @@ If sprint/ exists:
|
|
|
130
130
|
```markdown
|
|
131
131
|
## Sprint Management
|
|
132
132
|
|
|
133
|
-
- `/sprint status` - View current sprint
|
|
134
|
-
- `/sprint backlog` - Available stories
|
|
135
|
-
- `/sprint work` - Start a story
|
|
133
|
+
- `/pf-sprint status` - View current sprint
|
|
134
|
+
- `/pf-sprint backlog` - Available stories
|
|
135
|
+
- `/pf-sprint work` - Start a story
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
### 4. Add Project-Specific Sections
|