pathly-adapters 2.9.0__tar.gz → 2.9.2__tar.gz

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.
Files changed (347) hide show
  1. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/PKG-INFO +12 -13
  2. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/README.md +153 -153
  3. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/pyproject.toml +48 -48
  4. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/setup.cfg +4 -4
  5. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/install_cli/__main__.py +4 -4
  6. pathly_adapters-2.9.2/src/install_cli/materialize.py +160 -0
  7. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/install_cli/resources.py +42 -42
  8. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/install_cli/setup_command.py +440 -563
  9. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/install_cli/stitch.py +90 -90
  10. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_adapters.egg-info/PKG-INFO +12 -13
  11. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_adapters.egg-info/SOURCES.txt +52 -54
  12. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_adapters.egg-info/requires.txt +0 -1
  13. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/.claude-plugin/marketplace.json +29 -29
  14. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/.claude-plugin/plugin.json +7 -7
  15. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/README.md +42 -42
  16. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/archive_skill.yaml +3 -3
  17. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/build_skill.yaml +3 -3
  18. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/builder.yaml +5 -5
  19. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/debug_skill.yaml +3 -3
  20. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/end_skill.yaml +3 -3
  21. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/explore_skill.yaml +3 -3
  22. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/explorer.yaml +5 -5
  23. pathly_adapters-2.9.2/src/pathly_data/adapters/claude/_meta/fsm-call_skill.yaml +3 -0
  24. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/go_skill.yaml +3 -3
  25. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/help_skill.yaml +3 -3
  26. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/install.yaml +10 -15
  27. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/lessons_skill.yaml +3 -3
  28. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/meet_skill.yaml +3 -3
  29. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/orchestrator.yaml +13 -13
  30. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/pause_skill.yaml +3 -3
  31. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/plan_skill.yaml +5 -5
  32. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/planner.yaml +5 -5
  33. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/po_skill.yaml +3 -3
  34. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/prd-import_skill.yaml +5 -5
  35. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/retro_skill.yaml +5 -5
  36. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/review_skill.yaml +3 -3
  37. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/start_skill.yaml +3 -3
  38. {pathly_adapters-2.9.0/src/pathly_data/adapters/copilot → pathly_adapters-2.9.2/src/pathly_data/adapters/claude}/_meta/storm_skill.yaml +3 -3
  39. pathly_adapters-2.9.2/src/pathly_data/adapters/claude/_meta/team-http_skill.yaml +3 -0
  40. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team_skill.yaml +3 -3
  41. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/test_skill.yaml +3 -3
  42. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/tester.yaml +5 -5
  43. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/verify-state_skill.yaml +3 -3
  44. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/.codex-plugin/plugin.json +36 -36
  45. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/README.md +73 -73
  46. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/archive_skill.yaml +3 -3
  47. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/build_skill.yaml +3 -3
  48. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/builder.yaml +4 -4
  49. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/debug_skill.yaml +3 -3
  50. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/end_skill.yaml +3 -3
  51. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/explore_skill.yaml +3 -3
  52. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/explorer.yaml +4 -4
  53. pathly_adapters-2.9.2/src/pathly_data/adapters/codex/_meta/fsm-call_skill.yaml +3 -0
  54. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/go_skill.yaml +3 -3
  55. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/help_skill.yaml +3 -3
  56. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/install.yaml +11 -20
  57. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/lessons_skill.yaml +3 -3
  58. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/meet_skill.yaml +3 -3
  59. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/orchestrator.yaml +11 -11
  60. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/pause_skill.yaml +3 -3
  61. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/plan_skill.yaml +5 -5
  62. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/planner.yaml +4 -4
  63. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/po_skill.yaml +3 -3
  64. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/prd-import_skill.yaml +5 -5
  65. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/retro_skill.yaml +5 -5
  66. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/review_skill.yaml +3 -3
  67. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/start_skill.yaml +3 -3
  68. {pathly_adapters-2.9.0/src/pathly_data/adapters/claude → pathly_adapters-2.9.2/src/pathly_data/adapters/codex}/_meta/storm_skill.yaml +3 -3
  69. pathly_adapters-2.9.2/src/pathly_data/adapters/codex/_meta/team-http_skill.yaml +3 -0
  70. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team_skill.yaml +3 -3
  71. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/test_skill.yaml +3 -3
  72. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/tester.yaml +4 -4
  73. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/verify-state_skill.yaml +3 -3
  74. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/README.md +26 -26
  75. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/archive_skill.yaml +3 -3
  76. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/build_skill.yaml +3 -3
  77. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/debug_skill.yaml +3 -3
  78. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/end_skill.yaml +3 -3
  79. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/explore_skill.yaml +3 -3
  80. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/go_skill.yaml +3 -3
  81. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/help_skill.yaml +3 -3
  82. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/install.yaml +14 -14
  83. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/lessons_skill.yaml +3 -3
  84. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/meet_skill.yaml +3 -3
  85. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/pause_skill.yaml +3 -3
  86. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/plan_skill.yaml +5 -5
  87. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/po_skill.yaml +3 -3
  88. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/prd-import_skill.yaml +5 -5
  89. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/retro_skill.yaml +5 -5
  90. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/review_skill.yaml +3 -3
  91. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/start_skill.yaml +3 -3
  92. {pathly_adapters-2.9.0/src/pathly_data/adapters/codex → pathly_adapters-2.9.2/src/pathly_data/adapters/copilot}/_meta/storm_skill.yaml +3 -3
  93. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/team_skill.yaml +3 -3
  94. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/test_skill.yaml +4 -4
  95. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/verify-state_skill.yaml +3 -3
  96. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/README.md +45 -45
  97. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/SKILLS_OVERVIEW.md +1157 -1158
  98. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/agents/README_routing.md +153 -153
  99. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/building}/builder.md +114 -111
  100. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/planning}/architect.md +93 -93
  101. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/planning}/po.md +113 -113
  102. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/quality}/reviewer.md +129 -129
  103. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/quality}/tester.md +106 -106
  104. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/research}/explorer.md +137 -137
  105. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/research}/scout.md +50 -50
  106. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/research}/web-researcher.md +44 -44
  107. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/support}/human.md +30 -30
  108. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/support}/orchestrator.md +6 -5
  109. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/support}/quick.md +32 -32
  110. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/app-interface.csv +30 -30
  111. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/charts.csv +26 -26
  112. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/colors.csv +161 -161
  113. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/design.csv +1775 -1775
  114. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/draft.csv +1778 -1778
  115. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/google-fonts.csv +1924 -1924
  116. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/icons.csv +105 -105
  117. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/landing.csv +35 -35
  118. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/products.csv +162 -162
  119. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/react-performance.csv +45 -45
  120. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/angular.csv +51 -51
  121. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/astro.csv +54 -54
  122. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/flutter.csv +53 -53
  123. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/html-tailwind.csv +56 -56
  124. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/jetpack-compose.csv +53 -53
  125. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/laravel.csv +51 -51
  126. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/nextjs.csv +53 -53
  127. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/nuxt-ui.csv +51 -51
  128. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/nuxtjs.csv +59 -59
  129. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/react-native.csv +52 -52
  130. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/react.csv +54 -54
  131. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/shadcn.csv +61 -61
  132. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/svelte.csv +54 -54
  133. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/swiftui.csv +51 -51
  134. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/threejs.csv +54 -54
  135. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/stacks/vue.csv +50 -50
  136. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/styles.csv +68 -68
  137. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/typography.csv +74 -74
  138. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/ui-reasoning.csv +162 -162
  139. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/data/ux-guidelines.csv +99 -99
  140. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/scripts/core.py +262 -262
  141. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/scripts/design_system.py +1148 -1148
  142. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/scripts/search.py +114 -114
  143. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/flows/debug.flow.yaml +38 -44
  144. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/flows/explore.flow.yaml +36 -36
  145. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/flows/team.flow.yaml +72 -84
  146. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/development}/build.md +155 -155
  147. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/development}/debug.md +100 -100
  148. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/development}/explore.md +141 -141
  149. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/development}/fix.md +141 -141
  150. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/development}/review.md +82 -82
  151. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/development}/test.md +139 -139
  152. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/flow}/end.md +59 -59
  153. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/flow}/go.md +227 -227
  154. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/flow}/start.md +87 -87
  155. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/planning}/plan.md +267 -267
  156. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/planning}/retro.md +184 -184
  157. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/planning}/storm.md +169 -169
  158. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/skills/team/build.md +128 -128
  159. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/skills/team/discover.md +193 -193
  160. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/skills/team/plan.md +249 -249
  161. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/skills/team/retro.md +66 -66
  162. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/skills/team/review.md +166 -166
  163. pathly_adapters-2.9.0/src/pathly_data/core/skills/team-mcp.md → pathly_adapters-2.9.2/src/pathly_data/core/skills/team/team-http.md +157 -156
  164. pathly_adapters-2.9.2/src/pathly_data/core/skills/team/team.md +281 -0
  165. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/skills/team/test.md +128 -128
  166. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/help.md +377 -377
  167. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/lessons.md +93 -93
  168. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/scout-path.md +85 -85
  169. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/verify-state.md +151 -151
  170. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/README.md +15 -15
  171. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/pipeline-walkthrough/01-PIPELINE-FLOW.md +70 -70
  172. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/pipeline-walkthrough/02-TOKEN-USAGE.md +46 -46
  173. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/pipeline-walkthrough/03-ARTIFACT-MAP.md +60 -60
  174. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/pipeline-walkthrough/README.md +43 -43
  175. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/ARCHITECTURE_PROPOSAL.template.md +42 -42
  176. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/CONVERSATION_PROMPTS.template.md +44 -44
  177. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/EDGE_CASES.template.md +15 -15
  178. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/FLOW_DIAGRAM.template.md +33 -33
  179. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/HAPPY_FLOW.template.md +21 -21
  180. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/IMPLEMENTATION_PLAN.template.md +35 -35
  181. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/MERMAID_DIAGRAM.template.md +32 -32
  182. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/PROGRESS.template.md +33 -33
  183. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/USER_STORIES.template.md +20 -20
  184. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/eventlog.py +263 -263
  185. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/ff_cli.py +4 -4
  186. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/fsm.py +365 -365
  187. pathly_adapters-2.9.0/src/pathly_orchestrator/mcp_server.py → pathly_adapters-2.9.2/src/pathly_orchestrator/fsm_ops.py +4 -113
  188. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/http_server.py +308 -232
  189. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/runner.py +4 -4
  190. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/state.py +167 -167
  191. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_feedback_protocol.py +77 -77
  192. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_fsm.py +445 -445
  193. pathly_adapters-2.9.0/tests/test_mcp_server.py → pathly_adapters-2.9.2/tests/test_fsm_ops.py +195 -195
  194. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_hooks.py +149 -149
  195. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_orchestrator.py +205 -205
  196. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_runner.py +2 -2
  197. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_setup.py +199 -201
  198. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_stitch.py +113 -113
  199. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_stitch_skill.py +122 -122
  200. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_transition_actions.py +127 -127
  201. pathly_adapters-2.9.0/src/install_cli/materialize.py +0 -409
  202. pathly_adapters-2.9.0/src/pathly_data/core/design/__pycache__/__init__.cpython-313.pyc +0 -0
  203. pathly_adapters-2.9.0/src/pathly_data/core/design/__pycache__/cli.cpython-313.pyc +0 -0
  204. pathly_adapters-2.9.0/src/pathly_data/core/design/scripts/__pycache__/core.cpython-313.pyc +0 -0
  205. pathly_adapters-2.9.0/src/pathly_data/core/design/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  206. pathly_adapters-2.9.0/src/pathly_data/core/skills/team.md +0 -138
  207. pathly_adapters-2.9.0/tests/test_materialize_hooks.py +0 -116
  208. pathly_adapters-2.9.0/tests/test_mcp_config.py +0 -239
  209. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/install_cli/__init__.py +0 -0
  210. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/install_cli/codex_plugin_config.py +0 -0
  211. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/install_cli/detect.py +0 -0
  212. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_adapters.egg-info/dependency_links.txt +0 -0
  213. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_adapters.egg-info/entry_points.txt +0 -0
  214. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_adapters.egg-info/top_level.txt +0 -0
  215. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/__init__.py +0 -0
  216. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/architect.yaml +0 -0
  217. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/archive-artifacts_skill.yaml +0 -0
  218. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/back_skill.yaml +0 -0
  219. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/commit_skill.yaml +0 -0
  220. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/design_skill.yaml +0 -0
  221. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/designer.yaml +0 -0
  222. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/director.yaml +0 -0
  223. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/ff_skill.yaml +0 -0
  224. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/fix_skill.yaml +0 -0
  225. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/log_skill.yaml +0 -0
  226. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/pathly_skill.yaml +0 -0
  227. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/po.yaml +0 -0
  228. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/quick.yaml +0 -0
  229. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/reviewer.yaml +0 -0
  230. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/scout-path_skill.yaml +0 -0
  231. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/scout.yaml +0 -0
  232. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/status_skill.yaml +0 -0
  233. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-build.yaml +0 -0
  234. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-build_skill.yaml +0 -0
  235. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-design.yaml +0 -0
  236. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-discover.yaml +0 -0
  237. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-discover_skill.yaml +0 -0
  238. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-plan.yaml +0 -0
  239. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-plan_skill.yaml +0 -0
  240. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-retro.yaml +0 -0
  241. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-retro_skill.yaml +0 -0
  242. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-review.yaml +0 -0
  243. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-review_skill.yaml +0 -0
  244. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-test.yaml +0 -0
  245. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/team-test_skill.yaml +0 -0
  246. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/claude/_meta/web-researcher.yaml +0 -0
  247. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/architect.yaml +0 -0
  248. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/back_skill.yaml +0 -0
  249. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/design_skill.yaml +0 -0
  250. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/designer.yaml +0 -0
  251. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/director.yaml +0 -0
  252. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/ff_skill.yaml +0 -0
  253. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/fix_skill.yaml +0 -0
  254. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/log_skill.yaml +0 -0
  255. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/pathly_skill.yaml +0 -0
  256. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/po.yaml +0 -0
  257. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/quick.yaml +0 -0
  258. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/reviewer.yaml +0 -0
  259. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/scout-path_skill.yaml +0 -0
  260. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/scout.yaml +0 -0
  261. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/status_skill.yaml +0 -0
  262. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-build.yaml +0 -0
  263. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-build_skill.yaml +0 -0
  264. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-design.yaml +0 -0
  265. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-design_skill.yaml +0 -0
  266. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-discover.yaml +0 -0
  267. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-discover_skill.yaml +0 -0
  268. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-plan.yaml +0 -0
  269. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-plan_skill.yaml +0 -0
  270. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-retro.yaml +0 -0
  271. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-retro_skill.yaml +0 -0
  272. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-review.yaml +0 -0
  273. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-review_skill.yaml +0 -0
  274. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-test.yaml +0 -0
  275. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/team-test_skill.yaml +0 -0
  276. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/codex/_meta/web-researcher.yaml +0 -0
  277. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/architect.yaml +0 -0
  278. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/back_skill.yaml +0 -0
  279. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/builder.yaml +0 -0
  280. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/design_skill.yaml +0 -0
  281. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/designer.yaml +0 -0
  282. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/director.yaml +0 -0
  283. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/explorer.yaml +0 -0
  284. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/ff_skill.yaml +0 -0
  285. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/fix_skill.yaml +0 -0
  286. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/log_skill.yaml +0 -0
  287. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/orchestrator.yaml +0 -0
  288. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/pathly_skill.yaml +0 -0
  289. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/planner.yaml +0 -0
  290. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/po.yaml +0 -0
  291. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/quick.yaml +0 -0
  292. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/reviewer.yaml +0 -0
  293. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/scout-path_skill.yaml +0 -0
  294. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/scout.yaml +0 -0
  295. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/status_skill.yaml +0 -0
  296. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/team-build_skill.yaml +0 -0
  297. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/team-design_skill.yaml +0 -0
  298. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/team-discover_skill.yaml +0 -0
  299. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/team-plan_skill.yaml +0 -0
  300. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/team-retro_skill.yaml +0 -0
  301. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/team-review_skill.yaml +0 -0
  302. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/team-test_skill.yaml +0 -0
  303. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/tester.yaml +0 -0
  304. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/adapters/copilot/_meta/web-researcher.yaml +0 -0
  305. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/building}/designer.md +0 -0
  306. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/planning}/director.md +0 -0
  307. {pathly_adapters-2.9.0/src/pathly_data/core/agents → pathly_adapters-2.9.2/src/pathly_data/core/agents/planning}/planner.md +0 -0
  308. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/__init__.py +0 -0
  309. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/cli.py +0 -0
  310. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/design/scripts/__init__.py +0 -0
  311. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/flows/test.flow.yaml +0 -0
  312. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/development}/commit.md +0 -0
  313. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/development}/design.md +0 -0
  314. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/flow}/back.md +0 -0
  315. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/flow}/ff.md +0 -0
  316. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/flow}/pathly.md +0 -0
  317. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/flow}/pause.md +0 -0
  318. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/flow}/status.md +0 -0
  319. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/planning}/po.md +0 -0
  320. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/planning}/prd-import.md +0 -0
  321. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/skills/team/design.md +0 -0
  322. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/archive-artifacts.md +0 -0
  323. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/archive.md +0 -0
  324. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/fsm-call.md +0 -0
  325. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/log.md +0 -0
  326. {pathly_adapters-2.9.0/src/pathly_data/core/skills → pathly_adapters-2.9.2/src/pathly_data/core/skills/utilities}/meet.md +0 -0
  327. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/core/templates/plan/FEATURE_INDEX.template.md +0 -0
  328. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/schemas/pathly-meta.schema.json +0 -0
  329. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_data/schemas/state.schema.json +0 -0
  330. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_hooks/__init__.py +0 -0
  331. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_hooks/classify_feedback.py +0 -0
  332. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_hooks/inject_feedback_ttl.py +0 -0
  333. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/__init__.py +0 -0
  334. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/back_cli.py +0 -0
  335. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/events.py +0 -0
  336. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/log_cli.py +0 -0
  337. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_orchestrator/status_cli.py +0 -0
  338. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_studio_cli/__init__.py +0 -0
  339. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_studio_cli/install.py +0 -0
  340. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_telemetry/__init__.py +0 -0
  341. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_telemetry/__main__.py +0 -0
  342. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_telemetry/report.py +0 -0
  343. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_telemetry/server.py +0 -0
  344. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/src/pathly_telemetry/storage.py +0 -0
  345. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_codex_plugin_config.py +0 -0
  346. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_manifests.py +0 -0
  347. {pathly_adapters-2.9.0 → pathly_adapters-2.9.2}/tests/test_rollback.py +0 -0
@@ -1,13 +1,12 @@
1
- Metadata-Version: 2.4
2
- Name: pathly-adapters
3
- Version: 2.9.0
4
- Summary: Pathly adapter installer — stitches and deploys agent files to AI host tools.
5
- Requires-Python: >=3.11
6
- Requires-Dist: pyyaml>=6.0
7
- Requires-Dist: flask>=2.3
8
- Requires-Dist: mcp>=1.0.0
9
- Provides-Extra: dev
10
- Requires-Dist: pytest>=8; extra == "dev"
11
- Requires-Dist: build; extra == "dev"
12
- Requires-Dist: twine; extra == "dev"
13
- Requires-Dist: jsonschema>=4; extra == "dev"
1
+ Metadata-Version: 2.4
2
+ Name: pathly-adapters
3
+ Version: 2.9.2
4
+ Summary: Pathly adapter installer — stitches and deploys agent files to AI host tools.
5
+ Requires-Python: >=3.11
6
+ Requires-Dist: pyyaml>=6.0
7
+ Requires-Dist: flask>=2.3
8
+ Provides-Extra: dev
9
+ Requires-Dist: pytest>=8; extra == "dev"
10
+ Requires-Dist: build; extra == "dev"
11
+ Requires-Dist: twine; extra == "dev"
12
+ Requires-Dist: jsonschema>=4; extra == "dev"
@@ -1,153 +1,153 @@
1
- # pathly-adapters
2
-
3
- Stitches Pathly agent files and installs them into AI host tools (Claude Code, Codex, Copilot).
4
-
5
- ## Install (end users)
6
-
7
- Requires Python 3.11+. Install [pipx](https://pipx.pypa.io) if you don't have it:
8
-
9
- ```bash
10
- pip install pipx
11
- pipx ensurepath
12
- ```
13
-
14
- Then install Pathly:
15
-
16
- ```bash
17
- pipx install pathly-adapters
18
- ```
19
-
20
- `pipx` keeps the package in its own isolated environment and puts `pathly-setup` on your PATH automatically — no virtual environment to manage, no activation step.
21
-
22
- ## Quick start
23
-
24
- ```bash
25
- pathly-setup --dry-run # preview what will be installed
26
- pathly-setup --apply # install into all detected hosts
27
- ```
28
-
29
- That's it. Pathly detects Claude Code, Codex, and Copilot automatically.
30
-
31
- Then open Claude Code in your project directory and start:
32
-
33
- ```
34
- /pathly start ← welcome screen + pick what to do
35
- /pathly go ← describe what you want; director routes it
36
- /pathly build ← implement next conversation
37
- /pathly end ← retro + archive
38
- ```
39
-
40
- All commands go through `/pathly`. See [docs/FLOW_DIAGRAM.md](docs/FLOW_DIAGRAM.md) for the full command reference.
41
-
42
- > **Tip:** `/start` and `/pathly start` are equivalent. `/pathly` dispatches to the same skill; direct invocation skips the dispatcher.
43
-
44
- ## All commands
45
-
46
- ```bash
47
- pathly-setup # detect hosts; launch interactive menu
48
- pathly-setup --dry-run # preview what would be written
49
- pathly-setup --apply # install into all detected hosts
50
- pathly-setup claude --apply # install for Claude Code only
51
- pathly-setup codex --apply # install for Codex only
52
- pathly-setup copilot --apply # install for Copilot / VS Code only
53
- pathly-setup --repair # overwrite Pathly-owned files
54
- pathly-setup --force # overwrite all files, even non-Pathly-owned
55
- pathly-setup --uninstall # remove all Pathly-owned files
56
- pathly-events summary <feature> # print token/cost table for a pipeline run
57
- pathly-state <feature> # print current FSM state for a feature
58
- pathly-tokens # print token/cost summary across all pipeline runs
59
- pathly-validate-flow <flow.yaml> # validate a flow YAML against the FSM schema
60
- ```
61
-
62
- `--dry-run` never writes. `--apply` is required for any writes.
63
-
64
- ## Supported Hosts
65
-
66
- | Host | Detected by | Installed locations |
67
- |------|-------------|---------------------|
68
- | `claude` | `~/.claude/` directory exists | `~/.claude/agents/` (behavioral contracts)<br>`~/.claude/skills/` (skill folders) |
69
- | `codex` | Codex config directory exists | `~/.codex/agents/` + `~/.codex/skills/` + local plugin marketplace |
70
- | `copilot` | VS Code + Copilot detected | `~/.vscode/extensions/pathly/agents/`<br>`~/.vscode/extensions/pathly/skills/` |
71
-
72
- ## How It Works
73
-
74
- 1. **Detect** — scans for installed hosts on the current machine.
75
- 2. **Stitch** — combines `core/agents/` and `core/skills/` content with adapter-specific `_meta/<name>.yaml` to produce deployable agent and skill files (frontmatter + body + spawn section).
76
- 3. **Materialize** — writes stitched files to the host config location. A manifest tracks Pathly-owned files; `--repair` overwrites owned files, `--force` overwrites everything. Install is atomic — if anything fails, already-written files are rolled back.
77
- 4. **Register Codex plugin** - for Codex installs, writes `~/.codex/pathly-marketplace`, enables `pathly@pathly-local`, and refreshes the marketplace through the Codex CLI when available.
78
-
79
- ## FSM HTTP Server
80
-
81
- Pathly skills communicate with the Python FSM engine over HTTP, not MCP. The server runs locally on port 8765 and is auto-started by the `fsm-call` skill when needed — no manual setup required.
82
-
83
- ```
84
- POST http://127.0.0.1:8765/next_action ← get current state + agent instructions
85
- POST http://127.0.0.1:8765/complete_stage ← advance FSM to next state
86
- POST http://127.0.0.1:8765/record_activity ← write telemetry to ~/.pathly/activity.jsonl
87
- GET http://127.0.0.1:8765/events/stream ← SSE stream of EVENTS.jsonl (used by Studio)
88
- GET http://127.0.0.1:8765/health ← liveness check
89
- ```
90
-
91
- Start it manually if needed:
92
- ```bash
93
- pathly-fsm-http
94
- # or: python -m pathly_orchestrator.http_server
95
- ```
96
-
97
- The `fsm-call` skill (shared by all FSM-using skills) handles health-check, auto-start, and the HTTP POST — skills never call the server directly.
98
-
99
- ## Development setup
100
-
101
- ```bash
102
- git clone <repo>
103
- cd pathly-adapters
104
- python -m venv .venv
105
- .venv\Scripts\activate # Windows
106
- # source .venv/bin/activate # macOS/Linux
107
- pip install -e ".[dev]"
108
- pytest
109
- ```
110
-
111
- To build and publish a new release:
112
-
113
- ```bash
114
- python -m build
115
- twine upload dist/*
116
- ```
117
-
118
- ## Docs
119
-
120
- | Doc | What's in it |
121
- |---|---|
122
- | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | Adapter surfaces per host (Claude, Codex, Copilot), deployment structure, how skills/agents are materialized, host detection, installed manifests |
123
- | [docs/FLOW_DIAGRAM.md](docs/FLOW_DIAGRAM.md) | How a user invokes Pathly from each host, install flow, what files get deployed where, host-specific entry points |
124
- | [docs/PATHLY_ARCHITECTURE.md](docs/PATHLY_ARCHITECTURE.md) | install_cli packages, pathly_data layout, stitch pipeline, resource loading, host adapter structure, pyproject entry points |
125
- | [docs/INSTALLER_DESIGN.md](docs/INSTALLER_DESIGN.md) | Design goals, implementation phases, subagent policy, user stories, main risks |
126
- | [docs/MULTI_TOOL_DESIGN.md](docs/MULTI_TOOL_DESIGN.md) | Current adapter structure, source-of-truth rules, current adapters, installed manifests, future adapter work |
127
- | [docs/PRODUCTION_READINESS.md](docs/PRODUCTION_READINESS.md) | Adapter release criteria: install checks for each host, pathly-setup flags, package build/publish, marketplace manifests |
128
- | [docs/SECURITY.md](docs/SECURITY.md) | Hook injection risks, subprocess calls in installer, file write safety, trust boundaries, marketplace manifest integrity |
129
- | [docs/SYSTEM_REVIEW.md](docs/SYSTEM_REVIEW.md) | Adapter strengths, risks, design decisions, hardening recommendations |
130
- | [src/pathly_data/core/SKILLS_OVERVIEW.md](src/pathly_data/core/SKILLS_OVERVIEW.md) | Full reference for all 29 user-facing Pathly skills with ASCII flow diagrams |
131
-
132
- For engine-specific docs (FSM, orchestrator, state machine, team-flow driver):
133
- see [github.com/hamilton-sky/pathly](https://github.com/hamilton-sky/pathly) — `pathly-engine/docs/` folder.
134
-
135
- ## Release Status
136
-
137
- Stable (2.9.0). Core install path (`--dry-run`, `--apply`, `--uninstall`) is verified with full rollback on failure. Copilot destination paths follow the VS Code Copilot agent spec and may require `--repair` after a VS Code update.
138
-
139
- **2.9.0 changes:** FSM and telemetry transport moved from MCP to HTTP. All skills now use the shared `fsm-call` skill which auto-starts the HTTP server. `mcp_config.py` removed; no MCP servers are registered during install.
140
-
141
- ## Known Limitations
142
-
143
- - **Windows: broken stub if you previously ran `pip install pathly-adapters` directly** — a bare `pip install` (outside pipx) leaves a `pathly-setup.exe` stub in the global Python Scripts directory that shadows the pipx version and throws `ModuleNotFoundError: No module named 'install_cli'`. Fix: delete the stub at `%LOCALAPPDATA%\Programs\Python\Python3XX\Scripts\pathly-setup.exe` and its matching `~athly_adapters-*.dist-info` folder in `site-packages`, then open a fresh terminal. Always use `pipx install pathly-adapters` as documented.
144
-
145
- - **Codex install unverified on a clean machine** — the Codex adapter is committed and `pathly-setup codex --apply` runs without error, but a full clean-machine smoke test has not been completed. Use Codex support at your own risk until this is confirmed.
146
-
147
- - **Copilot paths may need `--repair` after a VS Code update** — Pathly installs agent files to the VS Code Copilot agent spec path, which may change between VS Code versions. Run `pathly-setup --repair` after a VS Code update if Copilot agents stop appearing.
148
-
149
- - **Hook path validation requires Python 3.9+** — hook scripts use `Path.is_relative_to()`, introduced in Python 3.9. The project already requires Python 3.11+, so this is always satisfied.
150
-
151
- - **Hooks require `PATHLY_PROJECT_ROOT`** — hook scripts (`classify_feedback.py`, `inject_feedback_ttl.py`) read the `PATHLY_PROJECT_ROOT` environment variable to locate the active project's `plans/` directory. If this variable is not set, hooks exit immediately without performing any action.
152
-
153
- - **Hook parity gap** — Pathly hooks run automatically only under Claude Code. Codex and Copilot VS Code require manual install; see [Hook surface coverage](docs/SECURITY.md#hook-surface-coverage).
1
+ # pathly-adapters
2
+
3
+ Stitches Pathly agent files and installs them into AI host tools (Claude Code, Codex, Copilot).
4
+
5
+ ## Install (end users)
6
+
7
+ Requires Python 3.11+. Install [pipx](https://pipx.pypa.io) if you don't have it:
8
+
9
+ ```bash
10
+ pip install pipx
11
+ pipx ensurepath
12
+ ```
13
+
14
+ Then install Pathly:
15
+
16
+ ```bash
17
+ pipx install pathly-adapters
18
+ ```
19
+
20
+ `pipx` keeps the package in its own isolated environment and puts `pathly-setup` on your PATH automatically — no virtual environment to manage, no activation step.
21
+
22
+ ## Quick start
23
+
24
+ ```bash
25
+ pathly-setup --dry-run # preview what will be installed
26
+ pathly-setup --apply # install into all detected hosts
27
+ ```
28
+
29
+ That's it. Pathly detects Claude Code, Codex, and Copilot automatically.
30
+
31
+ Then open Claude Code in your project directory and start:
32
+
33
+ ```
34
+ /pathly start ← welcome screen + pick what to do
35
+ /pathly go ← describe what you want; director routes it
36
+ /pathly build ← implement next conversation
37
+ /pathly end ← retro + archive
38
+ ```
39
+
40
+ All commands go through `/pathly`. See [docs/FLOW_DIAGRAM.md](docs/FLOW_DIAGRAM.md) for the full command reference.
41
+
42
+ > **Tip:** `/start` and `/pathly start` are equivalent. `/pathly` dispatches to the same skill; direct invocation skips the dispatcher.
43
+
44
+ ## All commands
45
+
46
+ ```bash
47
+ pathly-setup # detect hosts; launch interactive menu
48
+ pathly-setup --dry-run # preview what would be written
49
+ pathly-setup --apply # install into all detected hosts
50
+ pathly-setup claude --apply # install for Claude Code only
51
+ pathly-setup codex --apply # install for Codex only
52
+ pathly-setup copilot --apply # install for Copilot / VS Code only
53
+ pathly-setup --repair # overwrite Pathly-owned files
54
+ pathly-setup --force # overwrite all files, even non-Pathly-owned
55
+ pathly-setup --uninstall # remove all Pathly-owned files
56
+ pathly-events summary <feature> # print token/cost table for a pipeline run
57
+ pathly-state <feature> # print current FSM state for a feature
58
+ pathly-tokens # print token/cost summary across all pipeline runs
59
+ pathly-validate-flow <flow.yaml> # validate a flow YAML against the FSM schema
60
+ ```
61
+
62
+ `--dry-run` never writes. `--apply` is required for any writes.
63
+
64
+ ## Supported Hosts
65
+
66
+ | Host | Detected by | Installed locations |
67
+ |------|-------------|---------------------|
68
+ | `claude` | `~/.claude/` directory exists | `~/.claude/agents/` (behavioral contracts)<br>`~/.claude/skills/` (skill folders) |
69
+ | `codex` | Codex config directory exists | `~/.codex/agents/` + `~/.codex/skills/` + local plugin marketplace |
70
+ | `copilot` | VS Code + Copilot detected | `~/.vscode/extensions/pathly/agents/`<br>`~/.vscode/extensions/pathly/skills/` |
71
+
72
+ ## How It Works
73
+
74
+ 1. **Detect** — scans for installed hosts on the current machine.
75
+ 2. **Stitch** — combines `core/agents/` and `core/skills/` content with adapter-specific `_meta/<name>.yaml` to produce deployable agent and skill files (frontmatter + body + spawn section).
76
+ 3. **Materialize** — writes stitched files to the host config location. A manifest tracks Pathly-owned files; `--repair` overwrites owned files, `--force` overwrites everything. Install is atomic — if anything fails, already-written files are rolled back.
77
+ 4. **Register Codex plugin** - for Codex installs, writes `~/.codex/pathly-marketplace`, enables `pathly@pathly-local`, and refreshes the marketplace through the Codex CLI when available.
78
+
79
+ ## FSM HTTP Server
80
+
81
+ Pathly skills communicate with the Python FSM engine over HTTP, not MCP. The server runs locally on port 8765 and is auto-started by the `fsm-call` skill when needed — no manual setup required.
82
+
83
+ ```
84
+ POST http://127.0.0.1:8765/next_action ← get current state + agent instructions
85
+ POST http://127.0.0.1:8765/complete_stage ← advance FSM to next state
86
+ POST http://127.0.0.1:8765/record_activity ← write telemetry to ~/.pathly/activity.jsonl
87
+ GET http://127.0.0.1:8765/events/stream ← SSE stream of EVENTS.jsonl (used by Studio)
88
+ GET http://127.0.0.1:8765/health ← liveness check
89
+ ```
90
+
91
+ Start it manually if needed:
92
+ ```bash
93
+ pathly-fsm-http
94
+ # or: python -m pathly_orchestrator.http_server
95
+ ```
96
+
97
+ The `fsm-call` skill (shared by all FSM-using skills) handles health-check, auto-start, and the HTTP POST — skills never call the server directly.
98
+
99
+ ## Development setup
100
+
101
+ ```bash
102
+ git clone <repo>
103
+ cd pathly-adapters
104
+ python -m venv .venv
105
+ .venv\Scripts\activate # Windows
106
+ # source .venv/bin/activate # macOS/Linux
107
+ pip install -e ".[dev]"
108
+ pytest
109
+ ```
110
+
111
+ To build and publish a new release:
112
+
113
+ ```bash
114
+ python -m build
115
+ twine upload dist/*
116
+ ```
117
+
118
+ ## Docs
119
+
120
+ | Doc | What's in it |
121
+ |---|---|
122
+ | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | Adapter surfaces per host (Claude, Codex, Copilot), deployment structure, how skills/agents are materialized, host detection, installed manifests |
123
+ | [docs/FLOW_DIAGRAM.md](docs/FLOW_DIAGRAM.md) | How a user invokes Pathly from each host, install flow, what files get deployed where, host-specific entry points |
124
+ | [docs/PATHLY_ARCHITECTURE.md](docs/PATHLY_ARCHITECTURE.md) | install_cli packages, pathly_data layout, stitch pipeline, resource loading, host adapter structure, pyproject entry points |
125
+ | [docs/INSTALLER_DESIGN.md](docs/INSTALLER_DESIGN.md) | Design goals, implementation phases, subagent policy, user stories, main risks |
126
+ | [docs/MULTI_TOOL_DESIGN.md](docs/MULTI_TOOL_DESIGN.md) | Current adapter structure, source-of-truth rules, current adapters, installed manifests, future adapter work |
127
+ | [docs/PRODUCTION_READINESS.md](docs/PRODUCTION_READINESS.md) | Adapter release criteria: install checks for each host, pathly-setup flags, package build/publish, marketplace manifests |
128
+ | [docs/SECURITY.md](docs/SECURITY.md) | Hook injection risks, subprocess calls in installer, file write safety, trust boundaries, marketplace manifest integrity |
129
+ | [docs/SYSTEM_REVIEW.md](docs/SYSTEM_REVIEW.md) | Adapter strengths, risks, design decisions, hardening recommendations |
130
+ | [src/pathly_data/core/SKILLS_OVERVIEW.md](src/pathly_data/core/SKILLS_OVERVIEW.md) | Full reference for all 29 user-facing Pathly skills with ASCII flow diagrams |
131
+
132
+ For engine-specific docs (FSM, orchestrator, state machine, team-flow driver):
133
+ see [github.com/hamilton-sky/pathly](https://github.com/hamilton-sky/pathly) — `pathly-engine/docs/` folder.
134
+
135
+ ## Release Status
136
+
137
+ Stable (2.9.0). Core install path (`--dry-run`, `--apply`, `--uninstall`) is verified with full rollback on failure. Copilot destination paths follow the VS Code Copilot agent spec and may require `--repair` after a VS Code update.
138
+
139
+ **2.9.0 changes:** FSM and telemetry transport moved from MCP to HTTP. All skills now use the shared `fsm-call` skill which auto-starts the HTTP server. `mcp_config.py` removed; no MCP servers are registered during install.
140
+
141
+ ## Known Limitations
142
+
143
+ - **Windows: broken stub if you previously ran `pip install pathly-adapters` directly** — a bare `pip install` (outside pipx) leaves a `pathly-setup.exe` stub in the global Python Scripts directory that shadows the pipx version and throws `ModuleNotFoundError: No module named 'install_cli'`. Fix: delete the stub at `%LOCALAPPDATA%\Programs\Python\Python3XX\Scripts\pathly-setup.exe` and its matching `~athly_adapters-*.dist-info` folder in `site-packages`, then open a fresh terminal. Always use `pipx install pathly-adapters` as documented.
144
+
145
+ - **Codex install unverified on a clean machine** — the Codex adapter is committed and `pathly-setup codex --apply` runs without error, but a full clean-machine smoke test has not been completed. Use Codex support at your own risk until this is confirmed.
146
+
147
+ - **Copilot paths may need `--repair` after a VS Code update** — Pathly installs agent files to the VS Code Copilot agent spec path, which may change between VS Code versions. Run `pathly-setup --repair` after a VS Code update if Copilot agents stop appearing.
148
+
149
+ - **Hook path validation requires Python 3.9+** — hook scripts use `Path.is_relative_to()`, introduced in Python 3.9. The project already requires Python 3.11+, so this is always satisfied.
150
+
151
+ - **Hooks require `PATHLY_PROJECT_ROOT`** — hook scripts (`classify_feedback.py`, `inject_feedback_ttl.py`) read the `PATHLY_PROJECT_ROOT` environment variable to locate the active project's `plans/` directory. If this variable is not set, hooks exit immediately without performing any action.
152
+
153
+ - **Hook parity gap** — Pathly hooks run automatically only under Claude Code. Codex and Copilot VS Code require manual install; see [Hook surface coverage](docs/SECURITY.md#hook-surface-coverage).
@@ -1,48 +1,48 @@
1
- [build-system]
2
- requires = ["setuptools>=68", "wheel"]
3
- build-backend = "setuptools.build_meta"
4
-
5
- [project]
6
- name = "pathly-adapters"
7
- version = "2.9.0"
8
- description = "Pathly adapter installer — stitches and deploys agent files to AI host tools."
9
- requires-python = ">=3.11"
10
- dependencies = ["pyyaml>=6.0", "flask>=2.3", "mcp>=1.0.0"]
11
-
12
- [project.optional-dependencies]
13
- dev = ["pytest>=8", "build", "twine", "jsonschema>=4"]
14
-
15
- [project.scripts]
16
- pathly-setup = "install_cli.__main__:main"
17
- pathly-tokens = "pathly_telemetry.report:main"
18
- pathly-events = "pathly_orchestrator.eventlog:_cli"
19
- pathly-state = "pathly_orchestrator.eventlog:_state_cli"
20
- pathly-fsm-http = "pathly_orchestrator.http_server:main"
21
- pathly-validate-flow = "pathly_orchestrator.state:validate_flow_cli"
22
- pathly-run = "pathly_orchestrator.runner:main"
23
- pathly-status = "pathly_orchestrator.status_cli:main"
24
- pathly-log = "pathly_orchestrator.log_cli:main"
25
- pathly-back = "pathly_orchestrator.back_cli:main"
26
- pathly-ff = "pathly_orchestrator.ff_cli:main"
27
- pathly-studio = "pathly_studio_cli.install:main"
28
- pathly-design = "pathly_data.core.design.cli:main"
29
-
30
- [tool.pytest.ini_options]
31
- testpaths = ["tests"]
32
- pythonpath = ["src"]
33
- addopts = ["-p", "no:cacheprovider"]
34
-
35
- [tool.setuptools.packages.find]
36
- where = ["src"]
37
- include = ["install_cli*", "pathly_telemetry*", "pathly_data*", "pathly_orchestrator*", "pathly_hooks*", "pathly_studio_cli*"]
38
-
39
- [tool.setuptools.package-data]
40
- "pathly_data" = [
41
- "core/**/*",
42
- "core/design/data/**/*",
43
- "core/design/scripts/**/*",
44
- "adapters/**/*",
45
- "adapters/claude/.claude-plugin/*",
46
- "adapters/codex/.codex-plugin/*",
47
- "schemas/*.json",
48
- ]
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "pathly-adapters"
7
+ version = "2.9.2"
8
+ description = "Pathly adapter installer — stitches and deploys agent files to AI host tools."
9
+ requires-python = ">=3.11"
10
+ dependencies = ["pyyaml>=6.0", "flask>=2.3"]
11
+
12
+ [project.optional-dependencies]
13
+ dev = ["pytest>=8", "build", "twine", "jsonschema>=4"]
14
+
15
+ [project.scripts]
16
+ pathly-setup = "install_cli.__main__:main"
17
+ pathly-tokens = "pathly_telemetry.report:main"
18
+ pathly-events = "pathly_orchestrator.eventlog:_cli"
19
+ pathly-state = "pathly_orchestrator.eventlog:_state_cli"
20
+ pathly-fsm-http = "pathly_orchestrator.http_server:main"
21
+ pathly-validate-flow = "pathly_orchestrator.state:validate_flow_cli"
22
+ pathly-run = "pathly_orchestrator.runner:main"
23
+ pathly-status = "pathly_orchestrator.status_cli:main"
24
+ pathly-log = "pathly_orchestrator.log_cli:main"
25
+ pathly-back = "pathly_orchestrator.back_cli:main"
26
+ pathly-ff = "pathly_orchestrator.ff_cli:main"
27
+ pathly-studio = "pathly_studio_cli.install:main"
28
+ pathly-design = "pathly_data.core.design.cli:main"
29
+
30
+ [tool.pytest.ini_options]
31
+ testpaths = ["tests"]
32
+ pythonpath = ["src"]
33
+ addopts = ["-p", "no:cacheprovider"]
34
+
35
+ [tool.setuptools.packages.find]
36
+ where = ["src"]
37
+ include = ["install_cli*", "pathly_telemetry*", "pathly_data*", "pathly_orchestrator*", "pathly_hooks*", "pathly_studio_cli*"]
38
+
39
+ [tool.setuptools.package-data]
40
+ "pathly_data" = [
41
+ "core/**/*",
42
+ "core/design/data/**/*",
43
+ "core/design/scripts/**/*",
44
+ "adapters/**/*",
45
+ "adapters/claude/.claude-plugin/*",
46
+ "adapters/codex/.codex-plugin/*",
47
+ "schemas/*.json",
48
+ ]
@@ -1,4 +1,4 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,4 +1,4 @@
1
- from .setup_command import main
2
-
3
- if __name__ == "__main__":
4
- main()
1
+ from .setup_command import main
2
+
3
+ if __name__ == "__main__":
4
+ main()
@@ -0,0 +1,160 @@
1
+ import hashlib
2
+ import json
3
+ import sys
4
+ from datetime import datetime, timezone
5
+ from pathlib import Path
6
+
7
+ MANIFEST_NAME = ".pathly-manifest.json"
8
+
9
+
10
+ def _hash_files_dict(files: dict) -> str:
11
+ return hashlib.sha256(json.dumps(files, sort_keys=True, separators=(",", ":")).encode()).hexdigest()
12
+
13
+
14
+ def _load_manifest(dest: Path) -> dict:
15
+ manifest_path = dest / MANIFEST_NAME
16
+ if manifest_path.exists():
17
+ try:
18
+ data = json.loads(manifest_path.read_text(encoding="utf-8"))
19
+ if "_manifest_version" not in data:
20
+ raise ValueError("Manifest missing _manifest_version field")
21
+ files = data.get("files", {})
22
+ if data.get("_manifest_hash", "") != _hash_files_dict(files):
23
+ raise ValueError("Manifest hash mismatch — file may be corrupted or tampered")
24
+ return data
25
+ except (json.JSONDecodeError, OSError):
26
+ return {"files": {}}
27
+ return {"files": {}}
28
+
29
+
30
+ def _save_manifest(dest: Path, manifest: dict) -> None:
31
+ dest.mkdir(parents=True, exist_ok=True)
32
+ manifest["_manifest_version"] = "1"
33
+ manifest["_manifest_hash"] = _hash_files_dict(manifest["files"])
34
+ (dest / MANIFEST_NAME).write_text(
35
+ json.dumps(manifest, indent=2), encoding="utf-8"
36
+ )
37
+
38
+
39
+ def materialize(
40
+ files: dict[str, str],
41
+ dest: Path,
42
+ *,
43
+ repair: bool = False,
44
+ force: bool = False,
45
+ dry_run: bool = False,
46
+ ) -> list[str]:
47
+ """Copy stitched agent files to dest. Returns list of filenames written (or would-write)."""
48
+ manifest = _load_manifest(dest)
49
+ owned = set(manifest["files"].keys())
50
+ written: list[str] = []
51
+
52
+ for name, content in files.items():
53
+ target = dest / name
54
+ # Guard against path traversal (e.g. name = "../../etc/passwd")
55
+ if not target.resolve().is_relative_to(dest.resolve()):
56
+ raise ValueError(
57
+ f"Path traversal detected: {name!r} escapes destination {dest}"
58
+ )
59
+ if target.exists():
60
+ if name in owned and not repair:
61
+ continue
62
+ if name not in owned and not force:
63
+ continue
64
+
65
+ written.append(name)
66
+ if not dry_run:
67
+ target.parent.mkdir(parents=True, exist_ok=True)
68
+ target.write_text(content, encoding="utf-8")
69
+ manifest["files"][name] = datetime.now(timezone.utc).isoformat()
70
+
71
+ if not dry_run and written:
72
+ _save_manifest(dest, manifest)
73
+
74
+ return written
75
+
76
+
77
+ def materialize_flows(
78
+ dest: Path,
79
+ *,
80
+ repair: bool = False,
81
+ force: bool = False,
82
+ dry_run: bool = False,
83
+ ) -> list[str]:
84
+ """Copy *.flow.yaml files from the installed package to dest. Returns list of filenames written.
85
+
86
+ Flow YAMLs are always authoritative — repair=True is forced so that
87
+ re-running the installer keeps installed flows in sync with the source
88
+ without requiring an explicit --repair flag.
89
+ """
90
+ from .resources import core_flows_path
91
+
92
+ flows_src = core_flows_path()
93
+ files: dict[str, str] = {
94
+ f.name: f.read_text(encoding="utf-8")
95
+ for f in sorted(flows_src.glob("*.flow.yaml"))
96
+ }
97
+ return materialize(files, dest, repair=True, force=force, dry_run=dry_run)
98
+
99
+
100
+ def uninstall(dest: Path, *, dry_run: bool = False, confirm_manifest: bool = False) -> list[str]:
101
+ """Remove all Pathly-owned files from dest using the manifest.
102
+
103
+ Returns list of filenames removed (or would-remove in dry_run).
104
+ If manifest entries are missing from disk and confirm_manifest is False,
105
+ prints a warning to stderr and aborts without deleting anything.
106
+ If confirm_manifest is True, missing entries are skipped and deletion proceeds.
107
+ """
108
+ manifest_path = dest / MANIFEST_NAME
109
+ if not manifest_path.exists():
110
+ print(f" [warn] No manifest at {manifest_path} — nothing to uninstall.", file=sys.stderr)
111
+ return []
112
+
113
+ manifest = _load_manifest(dest)
114
+ removed: list[str] = []
115
+ missing: list[str] = []
116
+
117
+ # Pass 1: validate all entries before touching the filesystem.
118
+ # This prevents partial deletion when a manifest is tampered.
119
+ for name in list(manifest["files"]):
120
+ target = dest / name
121
+ if not target.resolve().is_relative_to(dest.resolve()):
122
+ raise ValueError(
123
+ f"Path traversal detected in manifest: {name!r} escapes destination {dest}"
124
+ )
125
+ if not target.exists():
126
+ missing.append(name)
127
+
128
+ if missing and not confirm_manifest:
129
+ print(
130
+ f" [warn] Aborting uninstall — the following manifest entries are not found on disk:\n"
131
+ + "\n".join(f" {name}" for name in missing),
132
+ file=sys.stderr,
133
+ )
134
+ return []
135
+
136
+ # Pass 2: all entries are clean — perform deletions.
137
+ missing_set = set(missing)
138
+ for name in list(manifest["files"]):
139
+ if name in missing_set:
140
+ continue
141
+ target = dest / name
142
+ removed.append(name)
143
+ if not dry_run:
144
+ try:
145
+ target.unlink()
146
+ except FileNotFoundError:
147
+ pass
148
+ # Remove empty parent directories (nested skill dirs)
149
+ try:
150
+ target.parent.rmdir()
151
+ except OSError:
152
+ pass
153
+
154
+ if not dry_run:
155
+ try:
156
+ manifest_path.unlink()
157
+ except FileNotFoundError:
158
+ pass
159
+
160
+ return removed