@pennyfarthing/core 11.2.1 → 11.2.2
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 +100 -40
- package/package.json +1 -1
- package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/doctor.js +121 -28
- package/packages/core/dist/cli/commands/doctor.js.map +1 -1
- package/packages/core/dist/cli/utils/settings.d.ts +0 -4
- package/packages/core/dist/cli/utils/settings.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/settings.js +31 -26
- package/packages/core/dist/cli/utils/settings.js.map +1 -1
- package/packages/core/dist/consultation/dialogue-manager.d.ts +1 -1
- package/packages/core/dist/consultation/dialogue-manager.d.ts.map +1 -1
- package/packages/core/dist/consultation/dialogue-manager.js +1 -1
- package/packages/core/dist/consultation/dialogue-manager.js.map +1 -1
- package/packages/core/dist/consultation/dialogue-manager.test.js.map +1 -1
- package/packages/core/dist/consultation/tandem-metrics.test.js.map +1 -1
- package/packages/core/dist/public/css/react.css +1 -1
- package/packages/core/dist/public/js/react/react.js +9 -9
- package/packages/core/dist/server/api/git.d.ts.map +1 -1
- package/packages/core/dist/server/api/git.js +0 -1
- package/packages/core/dist/server/api/git.js.map +1 -1
- package/packages/core/dist/server/api/index.d.ts +2 -0
- package/packages/core/dist/server/api/index.d.ts.map +1 -1
- package/packages/core/dist/server/api/index.js +2 -0
- package/packages/core/dist/server/api/index.js.map +1 -1
- package/packages/core/dist/server/api/project-info.d.ts +11 -0
- package/packages/core/dist/server/api/project-info.d.ts.map +1 -0
- package/packages/core/dist/server/api/project-info.js +18 -0
- package/packages/core/dist/server/api/project-info.js.map +1 -0
- package/packages/core/dist/server/otlp-receiver.d.ts.map +1 -1
- package/packages/core/dist/server/otlp-receiver.js +18 -1
- package/packages/core/dist/server/otlp-receiver.js.map +1 -1
- package/packages/core/dist/server/otlp-receiver.test.js +1 -1
- package/packages/core/dist/server/otlp-receiver.test.js.map +1 -1
- package/packages/core/dist/server/server.d.ts.map +1 -1
- package/packages/core/dist/server/server.js +3 -2
- package/packages/core/dist/server/server.js.map +1 -1
- package/packages/core/dist/server/server.test.d.ts +1 -1
- package/packages/core/dist/server/server.test.js +8 -8
- package/packages/core/dist/server/settings.d.ts +1 -0
- package/packages/core/dist/server/settings.d.ts.map +1 -1
- package/packages/core/dist/server/settings.js +13 -0
- package/packages/core/dist/server/settings.js.map +1 -1
- package/packages/core/dist/workflow/team-lifecycle.d.ts +169 -0
- package/packages/core/dist/workflow/team-lifecycle.d.ts.map +1 -0
- package/packages/core/dist/workflow/team-lifecycle.js +217 -0
- package/packages/core/dist/workflow/team-lifecycle.js.map +1 -0
- package/packages/core/dist/workflow/team-lifecycle.test.d.ts +20 -0
- package/packages/core/dist/workflow/team-lifecycle.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/team-lifecycle.test.js +966 -0
- package/packages/core/dist/workflow/team-lifecycle.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-team-templates.test.d.ts +17 -0
- package/packages/core/dist/workflow/workflow-team-templates.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-team-templates.test.js +275 -0
- package/packages/core/dist/workflow/workflow-team-templates.test.js.map +1 -0
- package/pennyfarthing-dist/agents/dev.md +15 -2
- package/pennyfarthing-dist/agents/reviewer.md +17 -4
- package/pennyfarthing-dist/agents/sm-finish.md +1 -1
- package/pennyfarthing-dist/agents/sm-setup.md +7 -7
- package/pennyfarthing-dist/agents/sm.md +12 -12
- package/pennyfarthing-dist/agents/tea.md +2 -2
- package/pennyfarthing-dist/agents/testing-runner.md +1 -1
- package/pennyfarthing-dist/commands/pf-architect.md +1 -1
- package/pennyfarthing-dist/commands/pf-ba.md +1 -1
- package/pennyfarthing-dist/commands/pf-chore.md +2 -2
- package/pennyfarthing-dist/commands/pf-dev.md +1 -1
- package/pennyfarthing-dist/commands/pf-devops.md +1 -1
- package/pennyfarthing-dist/commands/pf-epic.md +6 -6
- package/pennyfarthing-dist/commands/pf-git.md +10 -10
- package/pennyfarthing-dist/commands/pf-health-check.md +1 -1
- package/pennyfarthing-dist/commands/pf-help.md +12 -12
- package/pennyfarthing-dist/commands/pf-orchestrator.md +1 -1
- package/pennyfarthing-dist/commands/pf-pm.md +1 -1
- package/pennyfarthing-dist/commands/pf-prime.md +8 -8
- package/pennyfarthing-dist/commands/pf-reviewer.md +1 -1
- package/pennyfarthing-dist/commands/pf-session.md +7 -7
- package/pennyfarthing-dist/commands/pf-sm.md +1 -1
- package/pennyfarthing-dist/commands/pf-sprint.md +7 -7
- package/pennyfarthing-dist/commands/pf-tea.md +1 -1
- package/pennyfarthing-dist/commands/pf-tech-writer.md +1 -1
- package/pennyfarthing-dist/commands/pf-theme.md +9 -9
- package/pennyfarthing-dist/commands/pf-ux-designer.md +1 -1
- package/pennyfarthing-dist/commands/pf-work.md +1 -1
- package/pennyfarthing-dist/guides/agent-behavior.md +70 -19
- package/pennyfarthing-dist/guides/agent-coordination.md +10 -10
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +6 -6
- package/pennyfarthing-dist/guides/agent-template-tactical.md +1 -1
- package/pennyfarthing-dist/guides/bell-mode.md +1 -1
- package/pennyfarthing-dist/guides/bikerack.md +10 -10
- package/pennyfarthing-dist/guides/brownfield-tools.md +24 -24
- package/pennyfarthing-dist/guides/command-tag-taxonomy.md +1 -1
- package/pennyfarthing-dist/guides/gate-schema.md +2 -2
- package/pennyfarthing-dist/guides/gates.md +3 -3
- package/pennyfarthing-dist/guides/handoff-cli.md +8 -8
- package/pennyfarthing-dist/guides/hooks.md +27 -27
- package/pennyfarthing-dist/guides/prime.md +2 -2
- package/pennyfarthing-dist/guides/reflector.md +1 -1
- package/pennyfarthing-dist/guides/skill-schema.md +6 -6
- package/pennyfarthing-dist/guides/tandem-protocol.md +3 -3
- package/pennyfarthing-dist/guides/workflow-schema.md +1 -1
- package/pennyfarthing-dist/guides/worktree-mode.md +3 -3
- package/pennyfarthing-dist/guides/xml-tags.md +8 -8
- package/pennyfarthing-dist/scripts/README.md +4 -4
- package/pennyfarthing-dist/scripts/core/agent-session.sh +2 -5
- package/pennyfarthing-dist/scripts/core/check-context.sh +1 -1
- package/pennyfarthing-dist/scripts/core/pf.sh +5 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +2 -5
- package/pennyfarthing-dist/scripts/core/prime.sh +2 -25
- package/pennyfarthing-dist/scripts/git/README.md +14 -14
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +2 -3
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +2 -3
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +2 -3
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +2 -4
- package/pennyfarthing-dist/scripts/hooks/README.md +6 -6
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +5 -4
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +2 -1
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +3 -3
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +3 -4
- package/pennyfarthing-dist/scripts/lib/env.sh +34 -0
- package/pennyfarthing-dist/scripts/lib/run-pf.sh +39 -0
- package/pennyfarthing-dist/scripts/misc/README.md +1 -1
- package/pennyfarthing-dist/scripts/misc/statusline.sh +3 -3
- package/pennyfarthing-dist/scripts/sprint/README.md +21 -21
- package/pennyfarthing-dist/scripts/workflow/README.md +2 -2
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +2 -16
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +3 -3
- package/pennyfarthing-dist/skills/pf-bc/examples.md +23 -23
- package/pennyfarthing-dist/skills/pf-bc/skill.md +17 -17
- package/pennyfarthing-dist/skills/pf-bc/usage.md +8 -8
- package/pennyfarthing-dist/skills/pf-jira/SKILL.md +15 -15
- package/pennyfarthing-dist/skills/pf-jira/examples.md +48 -48
- package/pennyfarthing-dist/skills/pf-jira/usage.md +15 -15
- package/pennyfarthing-dist/skills/pf-sprint/examples.md +80 -80
- package/pennyfarthing-dist/skills/pf-sprint/skill.md +35 -35
- package/pennyfarthing-dist/skills/pf-sprint/usage.md +30 -30
- package/pennyfarthing-dist/skills/pf-theme/examples.md +15 -15
- package/pennyfarthing-dist/skills/pf-theme/skill.md +6 -6
- package/pennyfarthing-dist/skills/pf-theme/usage.md +5 -5
- package/pennyfarthing-dist/skills/pf-workflow/examples.md +27 -27
- package/pennyfarthing-dist/skills/pf-workflow/skill.md +11 -11
- package/pennyfarthing-dist/skills/pf-workflow/usage.md +11 -11
- package/pennyfarthing-dist/skills/skill-registry.yaml +19 -19
- package/pennyfarthing-dist/templates/settings.local.json.template +11 -11
- package/pennyfarthing-dist/workflows/bdd-team.yaml +89 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +1 -1
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +1 -1
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +1 -1
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +1 -1
- package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +47 -0
- package/pennyfarthing-dist/workflows/tdd-team.yaml +80 -0
- package/pennyfarthing_scripts/__init__.py +1 -1
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/bellmode_hook.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__/context.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/hooks.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__/session_start_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -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/__pycache__/split.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/cli.py +2 -2
- package/pennyfarthing_scripts/bellmode_hook.py +2 -5
- 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__/audit_log_panel.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__/context_meter_footer.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/debug_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/diffs_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/events.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__/portrait.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/portrait_resolver.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/progress_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/sprint_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/story_detail_data.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/story_detail_screen.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/audit_log_panel.py +48 -6
- package/pennyfarthing_scripts/bikerack/launcher.py +6 -6
- package/pennyfarthing_scripts/bikerack/progress_panel.py +0 -1
- package/pennyfarthing_scripts/bikerack/sprint_panel.py +1 -1
- package/pennyfarthing_scripts/bikerack/story_detail_data.py +4 -1
- package/pennyfarthing_scripts/bikerack/story_detail_screen.py +2 -1
- package/pennyfarthing_scripts/bikerack/tui.py +12 -2
- package/pennyfarthing_scripts/bikerack/ws_client.py +2 -2
- 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/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/common/config.py +29 -2
- 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/consultation/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/consultation/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/consultation/cli.py +3 -3
- package/pennyfarthing_scripts/context.py +3 -3
- 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/epic/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/epic/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/gate/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/gate/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/gate/__pycache__/validate.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__/hooks_installer.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/repos.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/worktree.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/hooks_installer.py +2 -3
- package/pennyfarthing_scripts/git/status_all.py +1 -1
- package/pennyfarthing_scripts/git/worktree.py +2 -2
- package/pennyfarthing_scripts/git_group/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git_group/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/complete_phase.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/gate_file.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/gate_runner.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/marker.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/phase_check.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/resolve_gate.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/hooks/__init__.py +8 -3
- package/pennyfarthing_scripts/hooks/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/bell_mode.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/context_breaker.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/context_warning.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/cyclist_pretooluse.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/pre_edit_check.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/schema_validation.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/session_start.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/session_stop.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/sprint_yaml_validation.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/statusline.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/bell_mode.py +0 -1
- package/pennyfarthing_scripts/hooks/pre_edit_check.py +0 -1
- package/pennyfarthing_scripts/hooks/reflector_check.py +1 -2
- package/pennyfarthing_scripts/hooks/schema_validation.py +0 -1
- package/pennyfarthing_scripts/hooks/session_start.py +6 -8
- package/pennyfarthing_scripts/hooks/statusline.py +10 -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__/create.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/epic.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/launch/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/launch/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/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/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/heatmap.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__/version_sentinel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/heatmap.py +3 -15
- package/pennyfarthing_scripts/session/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/session/__pycache__/cli.cpython-314.pyc +0 -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__/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__/status.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_add.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_update.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/validate_cmd.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/yaml_io.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/cli.py +121 -0
- package/pennyfarthing_scripts/sprint/loader.py +154 -3
- package/pennyfarthing_scripts/sprint/story_update.py +7 -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_108_2_remove_handoff_fallback.cpython-314-pytest-9.0.2.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_gate_file_resolution.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_gate_runner.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_handoff_cli.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_handoff_e2e.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_resolve_gate_file_field.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_workflow_list_team.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 +26 -26
- package/pennyfarthing_scripts/tests/test_dialogue_manager.py +0 -1
- package/pennyfarthing_scripts/tests/test_workflow_list_team.py +147 -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__/tandem_awareness.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/team_mode.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/team_mode.py +323 -0
- package/pennyfarthing_scripts/workflow/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/helpers.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/scale.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/state.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/team_lifecycle.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/cli.py +15 -14
- package/pennyfarthing_scripts/workflow/state.py +0 -1
- package/pennyfarthing_scripts/workflow/team_lifecycle.py +3 -4
- package/packages/core/dist/cli/cyclist-migration.test.d.ts +0 -16
- package/packages/core/dist/cli/cyclist-migration.test.d.ts.map +0 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +0 -229
- package/packages/core/dist/cli/cyclist-migration.test.js.map +0 -1
- package/packages/core/dist/scripts/benchmark-integration.d.ts +0 -182
- package/packages/core/dist/scripts/benchmark-integration.d.ts.map +0 -1
- package/packages/core/dist/scripts/benchmark-integration.js +0 -691
- package/packages/core/dist/scripts/benchmark-integration.js.map +0 -1
- package/packages/core/dist/scripts/job-fair-aggregator.d.ts +0 -150
- package/packages/core/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
- package/packages/core/dist/scripts/job-fair-aggregator.js +0 -547
- package/packages/core/dist/scripts/job-fair-aggregator.js.map +0 -1
- package/packages/core/dist/scripts/theme-detail.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/theme-detail.test.js.map +0 -1
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira.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/consultation/__pycache__/dialogue_manager.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/compat.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/migration/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_108_1_gate_migration.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_confidence_sm_evaluation.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_confidence_sm_gate.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_dialogue_manager.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
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Story 11-3: Cyclist Migration Tests
|
|
3
|
-
*
|
|
4
|
-
* These tests verify the Cyclist Electron GUI is correctly migrated
|
|
5
|
-
* into the pnpm workspace as @pennyfarthing/cyclist.
|
|
6
|
-
* Tests are designed to FAIL until the migration is complete.
|
|
7
|
-
*
|
|
8
|
-
* Acceptance Criteria:
|
|
9
|
-
* 1. packages/cyclist/ contains Cyclist source
|
|
10
|
-
* 2. Dependencies use workspace:* for internal packages
|
|
11
|
-
* 3. Portrait resolution uses @pennyfarthing/shared
|
|
12
|
-
* 4. Electron app starts and shows portraits
|
|
13
|
-
* 5. Dogfooding scenario works (portraits load from pennyfarthing-dist/)
|
|
14
|
-
*/
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=cyclist-migration.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cyclist-migration.test.d.ts","sourceRoot":"","sources":["../../src/cli/cyclist-migration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Story 11-3: Cyclist Migration Tests
|
|
3
|
-
*
|
|
4
|
-
* These tests verify the Cyclist Electron GUI is correctly migrated
|
|
5
|
-
* into the pnpm workspace as @pennyfarthing/cyclist.
|
|
6
|
-
* Tests are designed to FAIL until the migration is complete.
|
|
7
|
-
*
|
|
8
|
-
* Acceptance Criteria:
|
|
9
|
-
* 1. packages/cyclist/ contains Cyclist source
|
|
10
|
-
* 2. Dependencies use workspace:* for internal packages
|
|
11
|
-
* 3. Portrait resolution uses @pennyfarthing/shared
|
|
12
|
-
* 4. Electron app starts and shows portraits
|
|
13
|
-
* 5. Dogfooding scenario works (portraits load from pennyfarthing-dist/)
|
|
14
|
-
*/
|
|
15
|
-
import { describe, it } from 'node:test';
|
|
16
|
-
import assert from 'node:assert';
|
|
17
|
-
import { existsSync, readFileSync, readdirSync } from 'node:fs';
|
|
18
|
-
import { join } from 'node:path';
|
|
19
|
-
import { findMonorepoRoot } from './utils/files.js';
|
|
20
|
-
const __dirname = import.meta.dirname;
|
|
21
|
-
const PROJECT_ROOT = findMonorepoRoot(__dirname);
|
|
22
|
-
describe('Story 11-3: Cyclist Migration into Monorepo', () => {
|
|
23
|
-
describe('AC1: packages/cyclist/ contains Cyclist source', () => {
|
|
24
|
-
it('should have packages/cyclist directory', () => {
|
|
25
|
-
const cyclistDir = join(PROJECT_ROOT, 'packages', 'cyclist');
|
|
26
|
-
assert.ok(existsSync(cyclistDir), 'packages/cyclist/ directory must exist');
|
|
27
|
-
});
|
|
28
|
-
it('should have packages/cyclist/src directory', () => {
|
|
29
|
-
const srcDir = join(PROJECT_ROOT, 'packages', 'cyclist', 'src');
|
|
30
|
-
assert.ok(existsSync(srcDir), 'packages/cyclist/src/ directory must exist');
|
|
31
|
-
});
|
|
32
|
-
it('should have packages/cyclist/src/main.ts (Electron main process)', () => {
|
|
33
|
-
const mainTs = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'main.ts');
|
|
34
|
-
assert.ok(existsSync(mainTs), 'packages/cyclist/src/main.ts must exist');
|
|
35
|
-
});
|
|
36
|
-
it('should have packages/cyclist/src/paths.ts (path resolution)', () => {
|
|
37
|
-
const pathsTs = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
|
|
38
|
-
assert.ok(existsSync(pathsTs), 'packages/cyclist/src/paths.ts must exist');
|
|
39
|
-
});
|
|
40
|
-
it('should have packages/cyclist/src/public directory', () => {
|
|
41
|
-
const publicDir = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'public');
|
|
42
|
-
assert.ok(existsSync(publicDir), 'packages/cyclist/src/public/ directory must exist');
|
|
43
|
-
});
|
|
44
|
-
it('should have packages/cyclist/package.json', () => {
|
|
45
|
-
const packageJson = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
|
|
46
|
-
assert.ok(existsSync(packageJson), 'packages/cyclist/package.json must exist');
|
|
47
|
-
});
|
|
48
|
-
it('should have @pennyfarthing/cyclist as package name', () => {
|
|
49
|
-
const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
|
|
50
|
-
if (!existsSync(packageJsonPath)) {
|
|
51
|
-
assert.fail('packages/cyclist/package.json must exist first');
|
|
52
|
-
}
|
|
53
|
-
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
54
|
-
assert.strictEqual(pkg.name, '@pennyfarthing/cyclist', 'Package name must be @pennyfarthing/cyclist');
|
|
55
|
-
});
|
|
56
|
-
it('should have packages/cyclist/tsconfig.json', () => {
|
|
57
|
-
const tsconfig = join(PROJECT_ROOT, 'packages', 'cyclist', 'tsconfig.json');
|
|
58
|
-
assert.ok(existsSync(tsconfig), 'packages/cyclist/tsconfig.json must exist');
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
describe('AC2: Dependencies use workspace:* for internal packages', () => {
|
|
62
|
-
it('should have @pennyfarthing/shared as workspace dependency', () => {
|
|
63
|
-
const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
|
|
64
|
-
if (!existsSync(packageJsonPath)) {
|
|
65
|
-
assert.fail('packages/cyclist/package.json must exist first');
|
|
66
|
-
}
|
|
67
|
-
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
68
|
-
const deps = pkg.dependencies || {};
|
|
69
|
-
assert.ok(deps['@pennyfarthing/shared'], 'packages/cyclist should depend on @pennyfarthing/shared');
|
|
70
|
-
// Dependency can use workspace:* or a version range
|
|
71
|
-
assert.ok(deps['@pennyfarthing/shared'].includes('workspace') || /^\^?\d/.test(deps['@pennyfarthing/shared']), '@pennyfarthing/shared dependency should use workspace protocol or version range');
|
|
72
|
-
});
|
|
73
|
-
it('should NOT have pennyfarthing GitHub dependency', () => {
|
|
74
|
-
const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
|
|
75
|
-
if (!existsSync(packageJsonPath)) {
|
|
76
|
-
assert.fail('packages/cyclist/package.json must exist first');
|
|
77
|
-
}
|
|
78
|
-
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
79
|
-
const deps = pkg.dependencies || {};
|
|
80
|
-
assert.ok(!deps['pennyfarthing'] || !deps['pennyfarthing'].includes('github'), 'packages/cyclist should NOT have GitHub pennyfarthing dependency (use workspace instead)');
|
|
81
|
-
});
|
|
82
|
-
it('should be listed in pnpm-workspace.yaml packages', () => {
|
|
83
|
-
const workspaceYamlPath = join(PROJECT_ROOT, 'pnpm-workspace.yaml');
|
|
84
|
-
const content = readFileSync(workspaceYamlPath, 'utf-8');
|
|
85
|
-
// packages/* pattern should include packages/cyclist
|
|
86
|
-
assert.ok(content.includes('packages/*') || content.includes('packages/cyclist'), 'pnpm-workspace.yaml should include packages/cyclist (via packages/* pattern)');
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
describe('AC3: Portrait resolution uses shared resolver pattern', () => {
|
|
90
|
-
// Note: paths.ts inlines the shared resolver functions for standalone npm distribution
|
|
91
|
-
// This is valid - we test for the functions existing, not the import pattern
|
|
92
|
-
it('should have resolvePennyfarthingDist function', () => {
|
|
93
|
-
const pathsPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
|
|
94
|
-
if (!existsSync(pathsPath)) {
|
|
95
|
-
assert.fail('packages/cyclist/src/paths.ts must exist first');
|
|
96
|
-
}
|
|
97
|
-
const content = readFileSync(pathsPath, 'utf-8');
|
|
98
|
-
assert.ok(content.includes('resolvePennyfarthingDist'), 'paths.ts should have resolvePennyfarthingDist function (inlined or imported)');
|
|
99
|
-
});
|
|
100
|
-
it('should have getPortraitPaths function', () => {
|
|
101
|
-
const pathsPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
|
|
102
|
-
if (!existsSync(pathsPath)) {
|
|
103
|
-
assert.fail('packages/cyclist/src/paths.ts must exist first');
|
|
104
|
-
}
|
|
105
|
-
const content = readFileSync(pathsPath, 'utf-8');
|
|
106
|
-
assert.ok(content.includes('getPortraitPaths'), 'paths.ts should have getPortraitPaths function (inlined or imported)');
|
|
107
|
-
});
|
|
108
|
-
it('should NOT have hardcoded pennyfarthing path in getPortraitsDir', () => {
|
|
109
|
-
const pathsPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
|
|
110
|
-
if (!existsSync(pathsPath)) {
|
|
111
|
-
assert.fail('packages/cyclist/src/paths.ts must exist first');
|
|
112
|
-
}
|
|
113
|
-
const content = readFileSync(pathsPath, 'utf-8');
|
|
114
|
-
// Should not contain the old hardcoded path logic (join calls, not comments)
|
|
115
|
-
// Old pattern was: join(..., 'pennyfarthing', 'pennyfarthing-dist')
|
|
116
|
-
const hasOldPattern = content.includes("join(__dirname, 'pennyfarthing', 'pennyfarthing-dist')") ||
|
|
117
|
-
content.includes('join(__dirname, "pennyfarthing", "pennyfarthing-dist")');
|
|
118
|
-
assert.ok(!hasOldPattern, 'paths.ts should NOT have hardcoded pennyfarthing path - use shared resolver instead');
|
|
119
|
-
});
|
|
120
|
-
it('should depend on @pennyfarthing/shared in package.json', () => {
|
|
121
|
-
const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
|
|
122
|
-
if (!existsSync(packageJsonPath)) {
|
|
123
|
-
assert.fail('packages/cyclist/package.json must exist first');
|
|
124
|
-
}
|
|
125
|
-
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
126
|
-
const deps = pkg.dependencies || {};
|
|
127
|
-
assert.ok(deps['@pennyfarthing/shared'], 'packages/cyclist should depend on @pennyfarthing/shared');
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
describe('AC4: Electron app starts and shows portraits', () => {
|
|
131
|
-
// Note: Full build verification requires pnpm install which needs workspace resolution
|
|
132
|
-
// These tests verify the package configuration is correct for building
|
|
133
|
-
it('should have Electron dependency', () => {
|
|
134
|
-
const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
|
|
135
|
-
if (!existsSync(packageJsonPath)) {
|
|
136
|
-
assert.fail('packages/cyclist/package.json must exist first');
|
|
137
|
-
}
|
|
138
|
-
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
139
|
-
const devDeps = pkg.devDependencies || {};
|
|
140
|
-
assert.ok(devDeps['electron'], 'packages/cyclist should have electron as devDependency');
|
|
141
|
-
});
|
|
142
|
-
it('should have build script in package.json', () => {
|
|
143
|
-
const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
|
|
144
|
-
if (!existsSync(packageJsonPath)) {
|
|
145
|
-
assert.fail('packages/cyclist/package.json must exist first');
|
|
146
|
-
}
|
|
147
|
-
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
148
|
-
assert.ok(pkg.scripts?.build, 'packages/cyclist should have a build script');
|
|
149
|
-
});
|
|
150
|
-
it('should have main entry point configured', () => {
|
|
151
|
-
const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
|
|
152
|
-
if (!existsSync(packageJsonPath)) {
|
|
153
|
-
assert.fail('packages/cyclist/package.json must exist first');
|
|
154
|
-
}
|
|
155
|
-
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
156
|
-
assert.ok(pkg.main, 'packages/cyclist should have a main entry point');
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
describe('AC5: Dogfooding scenario works', () => {
|
|
160
|
-
it('should resolve portraits from pennyfarthing-dist in monorepo', () => {
|
|
161
|
-
// This test validates that portrait resolution works in the monorepo context
|
|
162
|
-
const pennyfarthingDist = join(PROJECT_ROOT, 'pennyfarthing-dist');
|
|
163
|
-
assert.ok(existsSync(pennyfarthingDist), 'pennyfarthing-dist/ should exist at monorepo root for dogfooding');
|
|
164
|
-
});
|
|
165
|
-
it('should have portraits directory in pennyfarthing-dist', () => {
|
|
166
|
-
const portraitsDir = join(PROJECT_ROOT, 'pennyfarthing-dist', 'personas', 'portraits');
|
|
167
|
-
assert.ok(existsSync(portraitsDir), 'pennyfarthing-dist/personas/portraits/ should exist');
|
|
168
|
-
});
|
|
169
|
-
it('should have at least one theme with portraits', () => {
|
|
170
|
-
const portraitsDir = join(PROJECT_ROOT, 'pennyfarthing-dist', 'personas', 'portraits');
|
|
171
|
-
if (!existsSync(portraitsDir)) {
|
|
172
|
-
assert.fail('portraits directory must exist first');
|
|
173
|
-
}
|
|
174
|
-
const themes = readdirSync(portraitsDir);
|
|
175
|
-
assert.ok(themes.length > 0, 'Should have at least one theme directory in portraits');
|
|
176
|
-
});
|
|
177
|
-
it('should have paths.ts configured to use shared resolver', () => {
|
|
178
|
-
// Verify paths.ts source code uses the shared resolver
|
|
179
|
-
// Runtime verification requires pnpm install + build
|
|
180
|
-
const pathsPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
|
|
181
|
-
if (!existsSync(pathsPath)) {
|
|
182
|
-
assert.fail('packages/cyclist/src/paths.ts must exist');
|
|
183
|
-
}
|
|
184
|
-
const content = readFileSync(pathsPath, 'utf-8');
|
|
185
|
-
assert.ok(content.includes('resolvePennyfarthingDist') && content.includes('getPortraitPaths'), 'paths.ts should use resolvePennyfarthingDist and getPortraitPaths from shared');
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
describe('Build Integration', () => {
|
|
189
|
-
// Note: Full TypeScript compilation requires pnpm install to resolve workspace dependencies
|
|
190
|
-
// These tests verify the build configuration is correct
|
|
191
|
-
it('should have valid tsconfig.json extending base', () => {
|
|
192
|
-
const tsconfigPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'tsconfig.json');
|
|
193
|
-
if (!existsSync(tsconfigPath)) {
|
|
194
|
-
assert.fail('packages/cyclist/tsconfig.json must exist');
|
|
195
|
-
}
|
|
196
|
-
const content = readFileSync(tsconfigPath, 'utf-8');
|
|
197
|
-
const tsconfig = JSON.parse(content);
|
|
198
|
-
assert.ok(tsconfig.extends?.includes('tsconfig.base.json'), 'tsconfig.json should extend ../../tsconfig.base.json');
|
|
199
|
-
});
|
|
200
|
-
it('should have outDir configured for dist', () => {
|
|
201
|
-
const tsconfigPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'tsconfig.json');
|
|
202
|
-
if (!existsSync(tsconfigPath)) {
|
|
203
|
-
assert.fail('packages/cyclist/tsconfig.json must exist');
|
|
204
|
-
}
|
|
205
|
-
const content = readFileSync(tsconfigPath, 'utf-8');
|
|
206
|
-
const tsconfig = JSON.parse(content);
|
|
207
|
-
assert.strictEqual(tsconfig.compilerOptions?.outDir, 'dist', 'tsconfig.json should output to dist directory');
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
describe('Source File Completeness', () => {
|
|
211
|
-
it('should have pennyfarthing.ts (persona/theme loading)', () => {
|
|
212
|
-
const pennyfarthingTs = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'pennyfarthing.ts');
|
|
213
|
-
assert.ok(existsSync(pennyfarthingTs), 'packages/cyclist/src/pennyfarthing.ts must exist');
|
|
214
|
-
});
|
|
215
|
-
it('should have server.ts (Express server)', () => {
|
|
216
|
-
const serverTs = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'server.ts');
|
|
217
|
-
assert.ok(existsSync(serverTs), 'packages/cyclist/src/server.ts must exist');
|
|
218
|
-
});
|
|
219
|
-
it('should have api/ directory', () => {
|
|
220
|
-
const apiDir = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'api');
|
|
221
|
-
assert.ok(existsSync(apiDir), 'packages/cyclist/src/api/ directory must exist');
|
|
222
|
-
});
|
|
223
|
-
it('should have tests/ directory', () => {
|
|
224
|
-
const testsDir = join(PROJECT_ROOT, 'packages', 'cyclist', 'tests');
|
|
225
|
-
assert.ok(existsSync(testsDir), 'packages/cyclist/tests/ directory must exist');
|
|
226
|
-
});
|
|
227
|
-
});
|
|
228
|
-
});
|
|
229
|
-
//# sourceMappingURL=cyclist-migration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cyclist-migration.test.js","sourceRoot":"","sources":["../../src/cli/cyclist-migration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Benchmark Integration Module
|
|
3
|
-
*
|
|
4
|
-
* Story 11-8: Integrate with Benchmark Output
|
|
5
|
-
* Story 12-6: Update for local results (Epic 12 migration)
|
|
6
|
-
*
|
|
7
|
-
* Correlates Chernoff faces and OCEAN profiles with benchmark performance data.
|
|
8
|
-
* Reads benchmark results from internal/results/ directory (or BENCHMARK_PATH env var).
|
|
9
|
-
*/
|
|
10
|
-
export interface OceanScores {
|
|
11
|
-
O: number;
|
|
12
|
-
C: number;
|
|
13
|
-
E: number;
|
|
14
|
-
A: number;
|
|
15
|
-
N: number;
|
|
16
|
-
}
|
|
17
|
-
export interface BenchmarkResult {
|
|
18
|
-
theme: string;
|
|
19
|
-
role: string;
|
|
20
|
-
character: string;
|
|
21
|
-
scenario: string;
|
|
22
|
-
mean: number;
|
|
23
|
-
stdDev: number;
|
|
24
|
-
delta: number;
|
|
25
|
-
cohensD?: number;
|
|
26
|
-
n: number;
|
|
27
|
-
scores: number[];
|
|
28
|
-
ocean: OceanScores;
|
|
29
|
-
face: string;
|
|
30
|
-
benchmarkMissing?: boolean;
|
|
31
|
-
}
|
|
32
|
-
export interface CorrelationResult {
|
|
33
|
-
O: {
|
|
34
|
-
effect: number;
|
|
35
|
-
direction: 'positive' | 'negative' | 'none';
|
|
36
|
-
};
|
|
37
|
-
C: {
|
|
38
|
-
effect: number;
|
|
39
|
-
direction: 'positive' | 'negative' | 'none';
|
|
40
|
-
};
|
|
41
|
-
E: {
|
|
42
|
-
effect: number;
|
|
43
|
-
direction: 'positive' | 'negative' | 'none';
|
|
44
|
-
};
|
|
45
|
-
A: {
|
|
46
|
-
effect: number;
|
|
47
|
-
direction: 'positive' | 'negative' | 'none';
|
|
48
|
-
};
|
|
49
|
-
N: {
|
|
50
|
-
effect: number;
|
|
51
|
-
direction: 'positive' | 'negative' | 'none';
|
|
52
|
-
};
|
|
53
|
-
strongest: {
|
|
54
|
-
dimension: keyof OceanScores;
|
|
55
|
-
effect: number;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
export interface OptimalProfile {
|
|
59
|
-
ocean: OceanScores;
|
|
60
|
-
reasoning: string;
|
|
61
|
-
}
|
|
62
|
-
export interface RoleRecommendations {
|
|
63
|
-
role: string;
|
|
64
|
-
topThemes: Array<{
|
|
65
|
-
theme: string;
|
|
66
|
-
character: string;
|
|
67
|
-
score: number;
|
|
68
|
-
ocean: OceanScores;
|
|
69
|
-
}>;
|
|
70
|
-
avoidThemes: Array<{
|
|
71
|
-
theme: string;
|
|
72
|
-
character: string;
|
|
73
|
-
score: number;
|
|
74
|
-
}>;
|
|
75
|
-
insight: string;
|
|
76
|
-
}
|
|
77
|
-
export interface PerformerResult {
|
|
78
|
-
theme: string;
|
|
79
|
-
character: string;
|
|
80
|
-
score: number;
|
|
81
|
-
delta: number;
|
|
82
|
-
ocean: OceanScores;
|
|
83
|
-
face: string;
|
|
84
|
-
}
|
|
85
|
-
export interface QueryOptions {
|
|
86
|
-
scenario?: string;
|
|
87
|
-
role?: string;
|
|
88
|
-
filter?: string;
|
|
89
|
-
ocean?: string;
|
|
90
|
-
limit?: number;
|
|
91
|
-
minScore?: number;
|
|
92
|
-
sortBy?: 'score' | 'delta' | 'name';
|
|
93
|
-
}
|
|
94
|
-
export interface BenchmarkReportResult {
|
|
95
|
-
markdown: string;
|
|
96
|
-
data: {
|
|
97
|
-
performers: PerformerResult[];
|
|
98
|
-
correlation: CorrelationResult;
|
|
99
|
-
recommendations: RoleRecommendations;
|
|
100
|
-
errorCorrelation?: OceanErrorCorrelation;
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
export interface ErrorTypeCell {
|
|
104
|
-
correlation: number;
|
|
105
|
-
arrow: string;
|
|
106
|
-
}
|
|
107
|
-
export interface OceanErrorCorrelation {
|
|
108
|
-
matrix: {
|
|
109
|
-
[dimension: string]: {
|
|
110
|
-
reasoning: ErrorTypeCell;
|
|
111
|
-
planning: ErrorTypeCell;
|
|
112
|
-
execution: ErrorTypeCell;
|
|
113
|
-
};
|
|
114
|
-
};
|
|
115
|
-
strongest: {
|
|
116
|
-
dimension: string;
|
|
117
|
-
errorType: string;
|
|
118
|
-
correlation: number;
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
export interface JudgeScore {
|
|
122
|
-
detection_by_type?: {
|
|
123
|
-
reasoning: number;
|
|
124
|
-
planning: number;
|
|
125
|
-
execution: number;
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
export interface BenchmarkResultWithOcean {
|
|
129
|
-
ocean: OceanScores;
|
|
130
|
-
mean: number;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Load benchmark data from thunderdome results
|
|
134
|
-
*/
|
|
135
|
-
export declare function loadBenchmarkData(scenario: string, role: string): BenchmarkResult[];
|
|
136
|
-
/**
|
|
137
|
-
* Get benchmark result with face visualization attached
|
|
138
|
-
*/
|
|
139
|
-
export declare function getBenchmarkWithFace(theme: string, role: string, scenario: string): BenchmarkResult | null;
|
|
140
|
-
/**
|
|
141
|
-
* Calculate OCEAN correlation with benchmark performance
|
|
142
|
-
*/
|
|
143
|
-
export declare function calculateOceanCorrelation(scenario: string, role: string): CorrelationResult;
|
|
144
|
-
/**
|
|
145
|
-
* Generate markdown correlation report
|
|
146
|
-
*/
|
|
147
|
-
export declare function generateCorrelationReport(scenario: string, role: string): string;
|
|
148
|
-
/**
|
|
149
|
-
* Get optimal OCEAN profile for a role based on benchmark data
|
|
150
|
-
*/
|
|
151
|
-
export declare function getOptimalProfile(role: string): OptimalProfile;
|
|
152
|
-
/**
|
|
153
|
-
* Get role recommendations (top themes, themes to avoid)
|
|
154
|
-
*/
|
|
155
|
-
export declare function getRoleRecommendations(role: string): RoleRecommendations;
|
|
156
|
-
/**
|
|
157
|
-
* Find top performers for a scenario/role with optional filters
|
|
158
|
-
*/
|
|
159
|
-
export declare function findTopPerformers(options: QueryOptions): PerformerResult[];
|
|
160
|
-
/**
|
|
161
|
-
* General query interface for benchmark data
|
|
162
|
-
*/
|
|
163
|
-
export declare function queryBenchmarks(options: QueryOptions): PerformerResult[];
|
|
164
|
-
/**
|
|
165
|
-
* Calculate OCEAN × error-type correlation matrix
|
|
166
|
-
* Story 14-5: Correlates OCEAN dimensions with error detection rates
|
|
167
|
-
*/
|
|
168
|
-
export declare function calculateErrorTypeCorrelation(results: BenchmarkResultWithOcean[], judgeScores: JudgeScore[]): OceanErrorCorrelation;
|
|
169
|
-
/**
|
|
170
|
-
* Generate markdown heat map for OCEAN × error-type correlations
|
|
171
|
-
* Story 14-5: Produces 5×3 matrix with directional arrows and effect sizes
|
|
172
|
-
*/
|
|
173
|
-
export declare function generateOceanErrorHeatMap(correlation: OceanErrorCorrelation): string;
|
|
174
|
-
/**
|
|
175
|
-
* Generate complete benchmark report with faces and correlations
|
|
176
|
-
*/
|
|
177
|
-
export declare function generateBenchmarkReport(options: {
|
|
178
|
-
scenario: string;
|
|
179
|
-
role: string;
|
|
180
|
-
includeErrorTypeCorrelation?: boolean;
|
|
181
|
-
}): BenchmarkReportResult;
|
|
182
|
-
//# sourceMappingURL=benchmark-integration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-integration.d.ts","sourceRoot":"","sources":["../../src/scripts/benchmark-integration.ts"],"names":[],"mappings":"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"}
|