trustay-agent-workflow 1.13.0__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 (228) hide show
  1. trustay_agent_workflow-1.13.0/PKG-INFO +447 -0
  2. trustay_agent_workflow-1.13.0/README.md +427 -0
  3. trustay_agent_workflow-1.13.0/pyproject.toml +38 -0
  4. trustay_agent_workflow-1.13.0/setup.cfg +4 -0
  5. trustay_agent_workflow-1.13.0/src/trustay_agent_workflow.egg-info/PKG-INFO +447 -0
  6. trustay_agent_workflow-1.13.0/src/trustay_agent_workflow.egg-info/SOURCES.txt +226 -0
  7. trustay_agent_workflow-1.13.0/src/trustay_agent_workflow.egg-info/dependency_links.txt +1 -0
  8. trustay_agent_workflow-1.13.0/src/trustay_agent_workflow.egg-info/entry_points.txt +2 -0
  9. trustay_agent_workflow-1.13.0/src/trustay_agent_workflow.egg-info/top_level.txt +1 -0
  10. trustay_agent_workflow-1.13.0/src/tsaw/__init__.py +3 -0
  11. trustay_agent_workflow-1.13.0/src/tsaw/__main__.py +7 -0
  12. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/agents/README.md +14 -0
  13. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/agents/builder.md +43 -0
  14. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/agents/maintainer.md +37 -0
  15. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/agents/planner.md +41 -0
  16. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/agents/reviewer.md +39 -0
  17. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/agents/verifier.md +41 -0
  18. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/artifacts/build-evidence.schema.json +32 -0
  19. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/artifacts/design-spec.schema.json +36 -0
  20. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/artifacts/po-decision.schema.json +37 -0
  21. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/artifacts/qa-finding.schema.json +35 -0
  22. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/artifacts/replan-request.schema.json +25 -0
  23. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/artifacts/review-verdict.schema.json +27 -0
  24. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/artifacts/session-close.schema.json +39 -0
  25. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/guides/README.md +20 -0
  26. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/guides/bug-fix.md +25 -0
  27. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/guides/context-management.md +80 -0
  28. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/guides/feature-development.md +47 -0
  29. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/guides/iterative-loop.md +64 -0
  30. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/guides/refactoring.md +27 -0
  31. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/guides/structured-planning.md +153 -0
  32. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/README.md +22 -0
  33. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/handoff.yaml +16 -0
  34. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/post-build.yaml +11 -0
  35. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/post-complete.yaml +19 -0
  36. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/post-verify.yaml +13 -0
  37. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/pre-build.yaml +17 -0
  38. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/pre-review.yaml +13 -0
  39. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/pre-verify.yaml +18 -0
  40. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/hooks/task-init.yaml +15 -0
  41. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/loops/README.md +17 -0
  42. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/loops/build-loop.md +11 -0
  43. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/loops/improvement-loop.md +9 -0
  44. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/loops/intake-loop.md +14 -0
  45. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/loops/planning-loop.md +15 -0
  46. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/loops/recovery-loop.md +10 -0
  47. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/loops/review-loop.md +10 -0
  48. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/loops/verification-loop.md +11 -0
  49. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/content-writer.yaml +36 -0
  50. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/data-analyst.yaml +35 -0
  51. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/designer.yaml +33 -0
  52. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/em.yaml +35 -0
  53. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/fullstack.yaml +28 -0
  54. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/human-designer.yaml +20 -0
  55. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/human-fullstack.yaml +20 -0
  56. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/human-po.yaml +21 -0
  57. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/human-qa.yaml +20 -0
  58. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/po.yaml +24 -0
  59. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/qa.yaml +25 -0
  60. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/security.yaml +39 -0
  61. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/sre.yaml +37 -0
  62. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/personas/tech-lead.yaml +33 -0
  63. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/policies/README.md +16 -0
  64. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/policies/done-definition.md +10 -0
  65. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/policies/escalation.md +11 -0
  66. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/policies/instruction-precedence.md +11 -0
  67. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/policies/quality-gates.md +15 -0
  68. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/policies/role-boundaries.md +22 -0
  69. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/policies/task-sizing.md +6 -0
  70. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/registry/README.md +35 -0
  71. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/registry/agents.yaml +12 -0
  72. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/registry/commands.yaml +11 -0
  73. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/registry/hooks.yaml +18 -0
  74. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/registry/platforms.yaml +2 -0
  75. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/registry/skills.yaml +14 -0
  76. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/registry/teams.yaml +18 -0
  77. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/rules/README.md +14 -0
  78. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/rules/collaboration.md +37 -0
  79. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/rules/git.md +45 -0
  80. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/rules/testing.md +33 -0
  81. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/rules/work-tracking.md +74 -0
  82. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/runtime.yaml +18 -0
  83. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/README.md +45 -0
  84. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/executing-plans/SKILL.md +45 -0
  85. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/pre-commit-review/SKILL.md +50 -0
  86. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/pre-commit-review/references/review-gates.md +25 -0
  87. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/squad-planning/SKILL.md +45 -0
  88. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/test-driven-development/SKILL.md +45 -0
  89. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/tsaw-bridge/SKILL.md +60 -0
  90. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/tsaw-bridge/references/claude-adapter.md +73 -0
  91. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/tsaw-bridge/references/cockpit-in-conversation.md +92 -0
  92. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/tsaw-bridge/references/codex-adapter.md +61 -0
  93. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/tsaw-bridge/references/gemini-adapter.md +61 -0
  94. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/skills/writing-plans/SKILL.md +45 -0
  95. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/README.md +72 -0
  96. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/bugfix-team.yaml +21 -0
  97. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/delivery-squad.yaml +61 -0
  98. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/experience-squad.yaml +67 -0
  99. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/feature-team.yaml +45 -0
  100. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/improvement-council.yaml +60 -0
  101. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/product-squad.yaml +97 -0
  102. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/quality-board.yaml +60 -0
  103. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/teams/refactor-team.yaml +23 -0
  104. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/README.md +22 -0
  105. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/adr.md +9 -0
  106. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/design-notes.md +30 -0
  107. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/handoff.md +13 -0
  108. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/implementation-plan.md +32 -0
  109. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/phase-plan.md +13 -0
  110. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/plan.yaml +15 -0
  111. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/retrospective.md +9 -0
  112. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/review-report.md +16 -0
  113. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/task-brief.md +49 -0
  114. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/task-status.yaml +55 -0
  115. trustay_agent_workflow-1.13.0/src/tsaw/_assets/agents/templates/verification-report.md +12 -0
  116. trustay_agent_workflow-1.13.0/src/tsaw/_assets/contract/AGENTS.md +168 -0
  117. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/README.md +20 -0
  118. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/decisions/README.md +12 -0
  119. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/error-patterns.md +24 -0
  120. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/patterns.md +24 -0
  121. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/phases/README.md +11 -0
  122. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/state/README.md +111 -0
  123. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/state/backend.yaml +7 -0
  124. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/state/checkpoints/.gitkeep +1 -0
  125. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/state/runs/.gitkeep +1 -0
  126. trustay_agent_workflow-1.13.0/src/tsaw/_assets/work/tasks/README.md +31 -0
  127. trustay_agent_workflow-1.13.0/src/tsaw/cli.py +98 -0
  128. trustay_agent_workflow-1.13.0/src/tsaw/commands/__init__.py +1 -0
  129. trustay_agent_workflow-1.13.0/src/tsaw/commands/_common.py +43 -0
  130. trustay_agent_workflow-1.13.0/src/tsaw/commands/adr.py +77 -0
  131. trustay_agent_workflow-1.13.0/src/tsaw/commands/agent_cmd.py +260 -0
  132. trustay_agent_workflow-1.13.0/src/tsaw/commands/artifact.py +152 -0
  133. trustay_agent_workflow-1.13.0/src/tsaw/commands/blocker_explainer.py +610 -0
  134. trustay_agent_workflow-1.13.0/src/tsaw/commands/cockpit.py +1399 -0
  135. trustay_agent_workflow-1.13.0/src/tsaw/commands/cockpit_actions.py +95 -0
  136. trustay_agent_workflow-1.13.0/src/tsaw/commands/cockpit_tui.py +278 -0
  137. trustay_agent_workflow-1.13.0/src/tsaw/commands/collab_cmd.py +179 -0
  138. trustay_agent_workflow-1.13.0/src/tsaw/commands/command_cmd.py +32 -0
  139. trustay_agent_workflow-1.13.0/src/tsaw/commands/doctor.py +738 -0
  140. trustay_agent_workflow-1.13.0/src/tsaw/commands/evidence.py +300 -0
  141. trustay_agent_workflow-1.13.0/src/tsaw/commands/gate.py +58 -0
  142. trustay_agent_workflow-1.13.0/src/tsaw/commands/hook.py +269 -0
  143. trustay_agent_workflow-1.13.0/src/tsaw/commands/human.py +867 -0
  144. trustay_agent_workflow-1.13.0/src/tsaw/commands/inbox.py +126 -0
  145. trustay_agent_workflow-1.13.0/src/tsaw/commands/index.py +94 -0
  146. trustay_agent_workflow-1.13.0/src/tsaw/commands/init_cmd.py +532 -0
  147. trustay_agent_workflow-1.13.0/src/tsaw/commands/inspect.py +205 -0
  148. trustay_agent_workflow-1.13.0/src/tsaw/commands/metrics.py +120 -0
  149. trustay_agent_workflow-1.13.0/src/tsaw/commands/msg_cmd.py +444 -0
  150. trustay_agent_workflow-1.13.0/src/tsaw/commands/platform_cmd.py +57 -0
  151. trustay_agent_workflow-1.13.0/src/tsaw/commands/recovery.py +119 -0
  152. trustay_agent_workflow-1.13.0/src/tsaw/commands/registry_cmd.py +172 -0
  153. trustay_agent_workflow-1.13.0/src/tsaw/commands/runtime.py +716 -0
  154. trustay_agent_workflow-1.13.0/src/tsaw/commands/search.py +119 -0
  155. trustay_agent_workflow-1.13.0/src/tsaw/commands/session_cmd.py +1147 -0
  156. trustay_agent_workflow-1.13.0/src/tsaw/commands/session_launch_cmd.py +146 -0
  157. trustay_agent_workflow-1.13.0/src/tsaw/commands/signal_cmd.py +156 -0
  158. trustay_agent_workflow-1.13.0/src/tsaw/commands/squad.py +338 -0
  159. trustay_agent_workflow-1.13.0/src/tsaw/commands/status.py +379 -0
  160. trustay_agent_workflow-1.13.0/src/tsaw/commands/task.py +80 -0
  161. trustay_agent_workflow-1.13.0/src/tsaw/commands/team.py +833 -0
  162. trustay_agent_workflow-1.13.0/src/tsaw/commands/update.py +577 -0
  163. trustay_agent_workflow-1.13.0/src/tsaw/commands/validate.py +406 -0
  164. trustay_agent_workflow-1.13.0/src/tsaw/commands/what_next.py +231 -0
  165. trustay_agent_workflow-1.13.0/src/tsaw/commands/workflow.py +1755 -0
  166. trustay_agent_workflow-1.13.0/src/tsaw/commands/workspace.py +177 -0
  167. trustay_agent_workflow-1.13.0/src/tsaw/core/__init__.py +1 -0
  168. trustay_agent_workflow-1.13.0/src/tsaw/core/accounting.py +187 -0
  169. trustay_agent_workflow-1.13.0/src/tsaw/core/agent_loop.py +1525 -0
  170. trustay_agent_workflow-1.13.0/src/tsaw/core/agent_registry.py +434 -0
  171. trustay_agent_workflow-1.13.0/src/tsaw/core/artifact_migrations.py +90 -0
  172. trustay_agent_workflow-1.13.0/src/tsaw/core/artifact_policy.py +80 -0
  173. trustay_agent_workflow-1.13.0/src/tsaw/core/artifacts.py +373 -0
  174. trustay_agent_workflow-1.13.0/src/tsaw/core/asset_docs_validation.py +193 -0
  175. trustay_agent_workflow-1.13.0/src/tsaw/core/assets.py +957 -0
  176. trustay_agent_workflow-1.13.0/src/tsaw/core/cli_invocation.py +15 -0
  177. trustay_agent_workflow-1.13.0/src/tsaw/core/collab.py +518 -0
  178. trustay_agent_workflow-1.13.0/src/tsaw/core/command_safety.py +516 -0
  179. trustay_agent_workflow-1.13.0/src/tsaw/core/context.py +55 -0
  180. trustay_agent_workflow-1.13.0/src/tsaw/core/context_cache.py +306 -0
  181. trustay_agent_workflow-1.13.0/src/tsaw/core/context_index.py +178 -0
  182. trustay_agent_workflow-1.13.0/src/tsaw/core/contracts.py +211 -0
  183. trustay_agent_workflow-1.13.0/src/tsaw/core/deadlock.py +141 -0
  184. trustay_agent_workflow-1.13.0/src/tsaw/core/evidence_gates.py +244 -0
  185. trustay_agent_workflow-1.13.0/src/tsaw/core/evidence_ledger.py +386 -0
  186. trustay_agent_workflow-1.13.0/src/tsaw/core/evidence_validation.py +688 -0
  187. trustay_agent_workflow-1.13.0/src/tsaw/core/fs.py +129 -0
  188. trustay_agent_workflow-1.13.0/src/tsaw/core/gate.py +644 -0
  189. trustay_agent_workflow-1.13.0/src/tsaw/core/gates_config.py +77 -0
  190. trustay_agent_workflow-1.13.0/src/tsaw/core/hook_schema.py +142 -0
  191. trustay_agent_workflow-1.13.0/src/tsaw/core/identity.py +70 -0
  192. trustay_agent_workflow-1.13.0/src/tsaw/core/inspect_fs.py +346 -0
  193. trustay_agent_workflow-1.13.0/src/tsaw/core/inspect_git.py +196 -0
  194. trustay_agent_workflow-1.13.0/src/tsaw/core/ledger_projection.py +147 -0
  195. trustay_agent_workflow-1.13.0/src/tsaw/core/lock_watch.py +152 -0
  196. trustay_agent_workflow-1.13.0/src/tsaw/core/locks.py +109 -0
  197. trustay_agent_workflow-1.13.0/src/tsaw/core/log.py +309 -0
  198. trustay_agent_workflow-1.13.0/src/tsaw/core/markdown_contracts.py +32 -0
  199. trustay_agent_workflow-1.13.0/src/tsaw/core/message_bus.py +688 -0
  200. trustay_agent_workflow-1.13.0/src/tsaw/core/metrics.py +730 -0
  201. trustay_agent_workflow-1.13.0/src/tsaw/core/migrations.py +32 -0
  202. trustay_agent_workflow-1.13.0/src/tsaw/core/orchestration_contract.py +113 -0
  203. trustay_agent_workflow-1.13.0/src/tsaw/core/orchestration_telemetry.py +100 -0
  204. trustay_agent_workflow-1.13.0/src/tsaw/core/persona_inference.py +127 -0
  205. trustay_agent_workflow-1.13.0/src/tsaw/core/personas.py +182 -0
  206. trustay_agent_workflow-1.13.0/src/tsaw/core/plan_state.py +405 -0
  207. trustay_agent_workflow-1.13.0/src/tsaw/core/platform_adapter.py +402 -0
  208. trustay_agent_workflow-1.13.0/src/tsaw/core/registry_validation.py +352 -0
  209. trustay_agent_workflow-1.13.0/src/tsaw/core/retrieval.py +207 -0
  210. trustay_agent_workflow-1.13.0/src/tsaw/core/runtime_config.py +135 -0
  211. trustay_agent_workflow-1.13.0/src/tsaw/core/runtime_store.py +1760 -0
  212. trustay_agent_workflow-1.13.0/src/tsaw/core/session.py +1453 -0
  213. trustay_agent_workflow-1.13.0/src/tsaw/core/session_launch.py +459 -0
  214. trustay_agent_workflow-1.13.0/src/tsaw/core/session_reaper.py +541 -0
  215. trustay_agent_workflow-1.13.0/src/tsaw/core/signal.py +273 -0
  216. trustay_agent_workflow-1.13.0/src/tsaw/core/skill_validation.py +239 -0
  217. trustay_agent_workflow-1.13.0/src/tsaw/core/slugs.py +14 -0
  218. trustay_agent_workflow-1.13.0/src/tsaw/core/source_repo.py +135 -0
  219. trustay_agent_workflow-1.13.0/src/tsaw/core/squad_planner.py +641 -0
  220. trustay_agent_workflow-1.13.0/src/tsaw/core/state.py +497 -0
  221. trustay_agent_workflow-1.13.0/src/tsaw/core/status_reconciler.py +171 -0
  222. trustay_agent_workflow-1.13.0/src/tsaw/core/task_allocator.py +218 -0
  223. trustay_agent_workflow-1.13.0/src/tsaw/core/team_members.py +167 -0
  224. trustay_agent_workflow-1.13.0/src/tsaw/core/tooling.py +28 -0
  225. trustay_agent_workflow-1.13.0/src/tsaw/core/workflow_state.py +215 -0
  226. trustay_agent_workflow-1.13.0/src/tsaw/core/workspace.py +761 -0
  227. trustay_agent_workflow-1.13.0/src/tsaw/core/yaml_parser.py +155 -0
  228. trustay_agent_workflow-1.13.0/src/tsaw/core/yaml_tools.py +94 -0
@@ -0,0 +1,447 @@
1
+ Metadata-Version: 2.4
2
+ Name: trustay-agent-workflow
3
+ Version: 1.13.0
4
+ Summary: Trustay Agent Workflow CLI and managed agent workflow assets.
5
+ Author: Trustay
6
+ Project-URL: Homepage, https://github.com/trustay-inc/agent-workflow
7
+ Project-URL: Repository, https://github.com/trustay-inc/agent-workflow
8
+ Project-URL: Changelog, https://github.com/trustay-inc/agent-workflow/blob/main/CHANGELOG.md
9
+ Keywords: agent,workflow,cli,automation
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Software Development :: Build Tools
17
+ Classifier: Topic :: Software Development :: Quality Assurance
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown
20
+
21
+ # Trustay Agent Workflow
22
+
23
+ `tsaw`는 AI agent 작업을 대화 기억에만 맡기지 않고, 프로젝트 안의 계약,
24
+ 실행 상태, evidence, 검증 가능한 명령 표면으로 운영하게 해 주는 agent
25
+ workflow control plane입니다.
26
+
27
+ 한 번 설치한 뒤 프로젝트에서 `tsaw init`을 실행하면 `AGENTS.md`, `.agents/`,
28
+ `.work/`가 준비됩니다. 이후 agent는 같은 운영 계약 위에서 planning, build,
29
+ verification, review, handoff를 이어 가고, 사람은 목표, 제약, 승인, 피드백을
30
+ 제공합니다.
31
+
32
+ 최근 사용자 영향 변경은 [CHANGELOG.md](CHANGELOG.md)에서 확인할 수 있습니다.
33
+
34
+ ## 왜 쓰는가
35
+
36
+ `tsaw`의 가치는 "다음 세션에서 이어 하기"에만 있지 않습니다. 현재 버전의 핵심
37
+ 가치는 아래 다섯 가지입니다.
38
+
39
+ - **Context economy**: agent가 `cat`, `grep`, `git diff` 출력 전체를 대화에
40
+ 붙여 넣지 않고 `tsaw inspect read README.md --head 120`,
41
+ `tsaw search grep auth src --limit 100`, `tsaw index build .`처럼 제한된
42
+ context 표면을 사용합니다. 토큰 낭비와 맥락 오염을 줄입니다.
43
+ - **Human decision surface**: 사람은 모든 CLI를 직접 조작하는 operator가 아니라
44
+ decision provider가 됩니다. `tsaw inbox`, `tsaw what-next`,
45
+ `tsaw doctor --human`, `tsaw cockpit --next-action`이 사람이 결정해야 할 일을
46
+ 보여줍니다.
47
+ - **Evidence-backed governance**: build evidence, QA finding, review verdict 같은
48
+ 산출물이 append-only ledger에 남습니다. 구현 완료만이 아니라 검증, 리뷰, 인계
49
+ 누락도 드러납니다.
50
+ - **Squad and parallel planning**: `tsaw squad plan`이 자연어 요청을 team,
51
+ specialist persona, task slice, 병렬 실행 후보로 바꿉니다. 큰 요청을 agent
52
+ 한 명에게 던지기 전에 작업 구조를 먼저 봅니다.
53
+ - **Managed project contract**: `AGENTS.md`, `.agents/`, `.work/`를 프로젝트마다
54
+ 일관되게 설치하고 업데이트합니다. 기존 로컬 agent 계약은 `--preserve-local`로
55
+ 보존하며 흡수할 수 있습니다.
56
+
57
+ 세션 연속성은 이 다섯 가치 위에서 따라오는 결과입니다. 어느 agent가 어느
58
+ 세션에서 작업하든, 다음 행동과 근거가 파일, runtime state, evidence에 남습니다.
59
+
60
+ ## 언제 쓰는가
61
+
62
+ 잘 맞는 경우:
63
+
64
+ - 여러 AI agent, 여러 플랫폼, 여러 대화 세션이 같은 repository를 다룬다.
65
+ - 계획, 구현, 검증, 리뷰를 분리하고 각 단계의 산출물을 남기고 싶다.
66
+ - 사람은 방향과 판단에 집중하고, agent가 정해진 계약에 따라 작업을 진행하게
67
+ 하고 싶다.
68
+ - 프로젝트마다 흩어진 `AGENTS.md`, `.agents/`, vendor 설정을 표준화하고 싶다.
69
+ - 리뷰와 QA 결정이 말로만 사라지지 않고 audit 가능한 evidence로 남아야 한다.
70
+ - agent가 큰 shell 출력으로 context를 낭비하는 일을 줄이고 싶다.
71
+
72
+ 과할 수 있는 경우:
73
+
74
+ - 단발성 스크립트 실행이나 한 사람이 한 번에 끝내는 작은 수정이다.
75
+ - task bundle, evidence, review gate 없이 빠르게 실험만 하면 된다.
76
+
77
+ 이 경우에는 `AGENTS.md`만 참고하고 `.work/tasks/*`까지 만들지 않아도 됩니다.
78
+
79
+ ## 3분 시작
80
+
81
+ 일반 사용자는 `trustay-agent-workflow` 패키지로 `tsaw`를 설치합니다.
82
+
83
+ ```bash
84
+ pipx install trustay-agent-workflow
85
+ tsaw --version
86
+ ```
87
+
88
+ 사용할 프로젝트 루트에서 초기화합니다.
89
+
90
+ ```bash
91
+ cd /path/to/your-project
92
+ tsaw init --vendor all
93
+ tsaw validate assets
94
+ tsaw doctor
95
+ ```
96
+
97
+ 초기화가 끝나면 agent에게 자연어로 목표와 제약을 전달합니다.
98
+
99
+ ```text
100
+ 사용자 인증 기능을 구현해줘.
101
+ 로그인, 회원가입, 검증, 리뷰 산출물까지 같은 task bundle에서 이어가줘.
102
+ 기존 세션 저장 방식은 바꾸지 말고, 테스트와 handoff도 남겨줘.
103
+ ```
104
+
105
+ 처음에는 아래 명령만 알아도 충분합니다.
106
+
107
+ | 하고 싶은 일 | 명령 |
108
+ | --- | --- |
109
+ | 프로젝트에 계약과 자산 설치 | `tsaw init --vendor all` |
110
+ | 자산 구조 확인 | `tsaw validate assets` |
111
+ | 지금 해야 할 일 한 줄 확인 | `tsaw cockpit --next-action` |
112
+ | 여러 task의 사람 액션 확인 | `tsaw inbox` |
113
+ | 관리형 자산 업데이트 미리 보기 | `tsaw update --diff` |
114
+
115
+ 설치와 업데이트를 제외하면 task progression 명령은 보통 사람이 직접 치지
116
+ 않습니다. agent가 `AGENTS.md`와 `.work/` 상태를 읽고 필요한 `tsaw` 명령을
117
+ 내부적으로 선택합니다.
118
+
119
+ ## 프로젝트에 생기는 것
120
+
121
+ `tsaw init --vendor all`은 보통 아래 구조를 만듭니다.
122
+
123
+ ```text
124
+ your-project/
125
+ ├── AGENTS.md
126
+ ├── CLAUDE.md -> AGENTS.md
127
+ ├── GEMINI.md -> AGENTS.md
128
+ ├── .agents/
129
+ ├── .work/
130
+ ├── .claude/
131
+ └── .gemini/
132
+ ```
133
+
134
+ | 경로 | 역할 |
135
+ | --- | --- |
136
+ | `AGENTS.md` | 프로젝트의 대표 운영 계약 |
137
+ | `.agents/` | rules, guides, policies, loops, templates, teams, registry, skills |
138
+ | `.work/` | task bundle, ADR, runtime state, evidence ledger |
139
+ | `CLAUDE.md`, `GEMINI.md` | vendor 호환 alias |
140
+ | `.claude/`, `.gemini/` | vendor별 노출 표면 |
141
+
142
+ 특정 환경만 쓴다면 `--vendor codex`, `--vendor claude`, `--vendor gemini`처럼
143
+ 좁게 시작할 수 있습니다. 여러 agent 환경을 함께 쓸 가능성이 있으면
144
+ `--vendor all`이 가장 무난합니다.
145
+
146
+ ## 사람이 보는 화면
147
+
148
+ 사람이 매번 low-level command를 조작하지 않도록, `tsaw`는 decision 중심의
149
+ 읽기 표면을 제공합니다.
150
+
151
+ | 상황 | 먼저 볼 명령 |
152
+ | --- | --- |
153
+ | 지금 할 일을 한 줄로 보고 싶다 | `tsaw cockpit --next-action` |
154
+ | 여러 task에서 사람 결정을 기다리는 항목을 보고 싶다 | `tsaw inbox` |
155
+ | gate가 왜 막혔고 어떤 artifact가 필요한지 알고 싶다 | `tsaw what-next` |
156
+ | 프로젝트 health를 사람 친화적으로 보고 싶다 | `tsaw doctor --human` |
157
+ | session의 canonical 상태가 필요하다 | `tsaw session status --name <session>` |
158
+
159
+ 사람이 직접 결정을 ledger에 남겨야 할 때는 typed artifact 명령을 씁니다.
160
+
161
+ ```bash
162
+ tsaw artifact list
163
+ tsaw artifact template review-verdict > rv.json
164
+ tsaw human review-verdict --task-dir .work/tasks/T-001-login-flow --file rv.json
165
+ tsaw evidence verify --task-dir .work/tasks/T-001-login-flow
166
+ ```
167
+
168
+ typed artifact는 `po-decision`, `design-spec`, `build-evidence`, `qa-finding`,
169
+ `review-verdict`, `replan-request`처럼 역할이 분명한 evidence입니다. 잘못된
170
+ 결정을 되돌려야 할 때도 기존 row를 수정하지 않고 후속 compensating entry를
171
+ 남기는 방식으로 audit trail을 유지합니다.
172
+
173
+ ## Agent가 쓰는 표면
174
+
175
+ agent는 일반 shell probe 대신 bounded read-only 표면을 우선 사용합니다.
176
+
177
+ | 기존 probe | 권장 `tsaw` 표면 |
178
+ | --- | --- |
179
+ | 파일 목록 | `tsaw inspect files .` |
180
+ | tree 확인 | `tsaw inspect tree . --max-depth 3` |
181
+ | 파일 일부 읽기 | `tsaw inspect read README.md --head 120` |
182
+ | 문자열 검색 | `tsaw search grep auth src --limit 100` |
183
+ | 목표 기반 context pack | `tsaw search context --goal "auth flow" --budget-tokens 8000` |
184
+ | git 상태 | `tsaw inspect git status` |
185
+ | git diff | `tsaw inspect git diff` |
186
+ | 반복 context lookup | `tsaw index build .` |
187
+ | 절약 효과 확인 | `tsaw metrics show --accounting` |
188
+
189
+ `tsaw index build .`는 remote embedding provider나 SaaS vector DB를 사용하지
190
+ 않습니다. `.work/state/runtime.sqlite3` 아래에 local lexical chunk index를
191
+ 저장하며, 이 파일은 source of truth가 아니라 재생성 가능한 runtime cache입니다.
192
+
193
+ ## 1.12.0: installable distribution
194
+
195
+ `tsaw 1.12.0`부터 일반 사용자 설치 경로는 `pipx install
196
+ trustay-agent-workflow`입니다. PyPI distribution 이름은
197
+ `trustay-agent-workflow`이고, 실행 명령과 프로젝트 안의 운영 표면은 계속
198
+ `tsaw`입니다.
199
+
200
+ source repository를 clone해서 `./install.sh`를 실행하는 경로는 maintainer가
201
+ CLI와 `assets/` 원본을 함께 수정할 때 사용합니다. 일반 initialized project는
202
+ 설치된 `tsaw`로 `tsaw init`, `tsaw update`, `tsaw doctor`를 실행하면 됩니다.
203
+
204
+ ## 1.11.0: 자연어 squad planning
205
+
206
+ `tsaw 1.11.0`의 중심 변화는 자연어 요청을 squad와 task slice로 해석하는
207
+ 표면입니다. 큰 요청을 실행하기 전에 어떤 팀 구성이 맞는지, 어떤 작업이
208
+ 병렬화될 수 있는지 먼저 볼 수 있습니다.
209
+
210
+ ```bash
211
+ tsaw squad plan --request "관리자 백오피스에 사용자 권한 관리 API와 화면을 추가하고 이벤트 로깅까지 붙여줘"
212
+ ```
213
+
214
+ 새 task를 만들 때 request를 seed하고 squad를 자동 추론할 수도 있습니다.
215
+
216
+ ```bash
217
+ tsaw task new "permission management" \
218
+ --request "관리자 권한 관리 API와 화면을 추가하고 이벤트 로깅까지 붙여줘" \
219
+ --auto-squad
220
+ ```
221
+
222
+ 이때 생성되는 `squad.yaml`은 task-local effective squad로 읽히며 hard gate와
223
+ `tsaw session status`에 반영됩니다. 여러 같은 역할의 participant가 있으면
224
+ `tsaw session orchestrate`가 team의 `parallel_readers`를 기본 dispatch 한도로
225
+ 사용해 task handoff를 분산합니다.
226
+
227
+ 직접 multi-agent 세션을 시작해야 한다면 canonical entrypoint는
228
+ `tsaw session orchestrate`입니다.
229
+
230
+ ```bash
231
+ tsaw session orchestrate \
232
+ --name permission-session \
233
+ --team experience-squad \
234
+ --task-dir .work/tasks/T-001-permission-management \
235
+ --agents planner-main:claude,builder-main:codex,verifier-main:codex,reviewer-main:gemini
236
+ ```
237
+
238
+ `tsaw workflow collaborate`는 같은 runtime을 감싼 convenience wrapper입니다.
239
+ 세션의 정식 상태 표면은 `tsaw session status --name <session>`입니다.
240
+
241
+ ## 첫 작업 흐름
242
+
243
+ 일반적인 작업은 아래처럼 진행됩니다.
244
+
245
+ 1. 사용자가 목표, 범위, 깨지면 안 되는 조건, 완료 기준을 말한다.
246
+ 2. agent가 `AGENTS.md`와 현재 `.work/` 상태를 읽는다.
247
+ 3. agent가 `tsaw task new "<title>"`로 `.work/tasks/<task-id>-<slug>/`를
248
+ 만들거나 기존 task를 이어 간다.
249
+ 4. agent가 `brief.md`, `design.md`, `plan.md`, `plan.yaml`을 정리한다.
250
+ 5. 구현이 필요하면 dedicated git worktree에서 변경한다.
251
+ 6. 검증, 리뷰, 인계 결과를 `verification.md`, `review.md`, `handoff.md`에
252
+ 남기고 evidence를 확인한다.
253
+
254
+ 좋은 요청은 아래 정보를 포함하면 충분합니다.
255
+
256
+ - 무엇을 바꾸고 싶은지
257
+ - 수정 범위나 관련 파일
258
+ - 깨지면 안 되는 것
259
+ - 완료 판단 기준
260
+ - 가능하면 검증 명령
261
+
262
+ ## 기존 프로젝트에 도입하기
263
+
264
+ 이미 `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `.agents/`가 있다면 기본
265
+ `tsaw init`은 충돌을 피하기 위해 중단합니다. 가장 안전한 도입 방식은 보통
266
+ 아래입니다.
267
+
268
+ ```bash
269
+ tsaw init --vendor all --preserve-local
270
+ ```
271
+
272
+ 이 옵션은 기존 계약과 로컬 자산을 유지하면서 `tsaw` 관리형 구조를 합성합니다.
273
+ `AGENTS.md`와 `CLAUDE.md` 또는 `GEMINI.md`가 함께 있고 어떤 계약을 대표로
274
+ 삼을지 명시해야 한다면 `--contract-source`를 함께 사용합니다.
275
+
276
+ ```bash
277
+ tsaw init --vendor all --preserve-local --contract-source claude
278
+ ```
279
+
280
+ - 기존 `AGENTS.md`는 root contract의 local section으로 유지합니다.
281
+ - `AGENTS.md`가 없고 `CLAUDE.md`나 `GEMINI.md`만 있으면 `AGENTS.md`로 승격합니다.
282
+ - `--contract-source claude|gemini`을 지정하면 선택한 vendor 계약 내용을 root
283
+ `AGENTS.md`로 승격하고, 선택되지 않은 divergent 계약은 legacy contract로
284
+ 보존합니다. 기본값 `auto`는 기존처럼 `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`
285
+ 순서로 선택합니다.
286
+ - 관리형 계약 원문은 `.agents/contracts/tsaw-managed.md`에 둡니다.
287
+ - 같은 경로의 기존 `.agents/*` 파일은 preserved path로 유지합니다.
288
+ - 기존 `.claude/rules`, `.claude/skills`, `.gemini/rules`, `.gemini/skills`
289
+ 같은 vendor-local 자산은 `.agents/*` canonical path로 흡수하고, 승격된
290
+ `AGENTS.md` 안의 해당 path도 함께 정규화합니다.
291
+ - 로컬 `.agents/skills/*` 디렉터리가 있으면 `.agents/registry/skills.yaml`에도
292
+ 자동 등록합니다.
293
+ - `CLAUDE.md`, `GEMINI.md`는 최종적으로 `AGENTS.md` alias로 정규화합니다.
294
+
295
+ 관리형 경로를 교체해도 되는 경우에만 `--force`를 사용합니다.
296
+
297
+ ```bash
298
+ tsaw init --vendor all --force
299
+ ```
300
+
301
+ ## 업데이트
302
+
303
+ 패키지로 설치한 사용자는 `pipx upgrade trustay-agent-workflow`로 CLI를
304
+ 갱신합니다.
305
+
306
+ ```bash
307
+ pipx upgrade trustay-agent-workflow
308
+ tsaw --version
309
+ ```
310
+
311
+ source repository를 직접 다루는 maintainer는 기존처럼 source checkout을 갱신할
312
+ 수 있습니다.
313
+
314
+ ```bash
315
+ cd /path/to/agent-workflow
316
+ git pull
317
+ tsaw --version
318
+ ```
319
+
320
+ 각 initialized project에 복사된 `.agents/*` 관리형 자산은 별도로 preview하고
321
+ 적용합니다.
322
+
323
+ ```bash
324
+ cd /path/to/your-project
325
+ tsaw doctor
326
+ tsaw update --diff
327
+ tsaw update --apply --resolve preserve-local
328
+ ```
329
+
330
+ 자주 쓰는 update 명령:
331
+
332
+ | 명령 | 용도 |
333
+ | --- | --- |
334
+ | `tsaw update --diff` | 적용 전 변경 확인 |
335
+ | `tsaw update --apply` | 충돌이 없을 때 관리형 자산 적용 |
336
+ | `tsaw update --apply --resolve preserve-local` | 충돌한 로컬 경로를 보존하며 적용 |
337
+ | `tsaw update --show-preserved-diff` | preserved path의 upstream 변경 확인 |
338
+ | `tsaw update --rollback` | 가장 최근 update 백업으로 복원 |
339
+
340
+ 프로젝트 루트 `.gitignore`에는 아래 경로를 두는 편이 안전합니다.
341
+
342
+ ```gitignore
343
+ .agents/.backups/
344
+ .agents/.update.lock
345
+ .work/state/runtime.sqlite3*
346
+ ```
347
+
348
+ `runtime.sqlite3`, `runtime.sqlite3-wal`, `runtime.sqlite3-shm`는 로컬 생성
349
+ runtime 상태입니다. 없어지면 `tsaw doctor`, `tsaw validate assets`,
350
+ `tsaw runtime backend show`, `tsaw runtime repair`가 다시 준비할 수 있습니다.
351
+
352
+ 장시간 세션이나 오래 잡고 있는 task가 많다면 `.agents/runtime.yaml`에서
353
+ `task_lock_ttl_hours`와 `session_retention_days`를 양의 정수로 조정합니다.
354
+ 현재 effective 값과 출처는 `tsaw runtime backend show`에서 확인합니다.
355
+
356
+ ## 자주 쓰는 명령
357
+
358
+ | 명령 | 용도 |
359
+ | --- | --- |
360
+ | `tsaw init --vendor all` | 프로젝트에 계약, 자산, runtime state 초기화 |
361
+ | `tsaw validate assets` | 초기화된 자산 구조 검증 |
362
+ | `tsaw validate platforms` | platform registry 검증 |
363
+ | `tsaw validate command-profiles` | 문서와 command profile drift 검증 |
364
+ | `tsaw doctor` | 호환성, drift, runtime health 점검 |
365
+ | `tsaw doctor --human` | 사람이 바로 처리할 action 중심으로 진단 |
366
+ | `tsaw cockpit --next-action` | 현재 workflow stage 한 줄 출력 |
367
+ | `tsaw cockpit --format markdown --interactive off` | agent 대화 삽입용 상태 출력 |
368
+ | `tsaw inbox` | 여러 task의 pending human action 조회 |
369
+ | `tsaw what-next` | gate block 이후 다음 action 설명 |
370
+ | `tsaw artifact list` | typed artifact 목록 확인 |
371
+ | `tsaw human review-verdict --task-dir .work/tasks/T-001-login-flow --verdict approve` | 사람 review 결정을 ledger에 기록 |
372
+ | `tsaw evidence verify --task-dir .work/tasks/T-001-login-flow` | evidence ledger 무결성 검증 |
373
+ | `tsaw evidence replay-failed` | append 실패 저널 재시도 |
374
+ | `tsaw squad plan --request "..."` | 자연어 요청을 team, persona, task slice로 해석 |
375
+ | `tsaw squad adjust --task-dir .work/tasks/T-001-login-flow --add qa` | task-local squad 조정 |
376
+ | `tsaw task new "login flow"` | 다음 `T-NNN` ID로 task bundle 생성 |
377
+ | `tsaw task next-id` | 다음 자동 task ID 확인 |
378
+ | `tsaw status workflow-stage .work/tasks/T-001-login-flow` | 다음 stage와 workspace preflight 확인 |
379
+ | `tsaw workspace show --task-dir .work/tasks/T-001-login-flow --owner codex` | builder workspace provenance 확인 |
380
+ | `tsaw workflow run feature-team --owner codex` | agent-first happy path wrapper |
381
+ | `tsaw session orchestrate --name login-session --team experience-squad --agents planner-main:claude,builder-main:codex` | canonical session-first 협업 시작 |
382
+ | `tsaw session status --name login-session` | session orchestration 상태 확인 |
383
+ | `tsaw platform list` | 지원 platform 목록 확인 |
384
+ | `tsaw platform show codex` | 특정 platform capability 확인 |
385
+ | `tsaw command suggest cat README.md` | stale 또는 shell-style command의 대체 표면 확인 |
386
+ | `tsaw metrics show --accounting` | context economy와 runtime metric 확인 |
387
+
388
+ 자세한 옵션은 `tsaw <subcommand> --help`로 확인하는 편이 가장 빠릅니다.
389
+
390
+ ## 문서 지도
391
+
392
+ - [README.md](README.md): 사용자 온보딩과 제품 사용 설명
393
+ - [AGENTS.md](AGENTS.md): source repository를 다루는 maintainer와 agent 운영 계약
394
+ - [CHANGELOG.md](CHANGELOG.md): 사용자 영향이 있는 릴리즈 변경 이력
395
+ - [docs/cockpit.md](docs/cockpit.md): cockpit view, interactive mode, scripting mode
396
+ - [assets/agents/guides/context-management.md](assets/agents/guides/context-management.md):
397
+ session, mailbox, signal 기반 협업 가이드
398
+ - [assets/agents/skills/tsaw-bridge/references/codex-adapter.md](assets/agents/skills/tsaw-bridge/references/codex-adapter.md):
399
+ Codex bridge 예시
400
+ - [assets/agents/skills/tsaw-bridge/references/claude-adapter.md](assets/agents/skills/tsaw-bridge/references/claude-adapter.md):
401
+ Claude bridge 예시
402
+ - [assets/agents/skills/tsaw-bridge/references/gemini-adapter.md](assets/agents/skills/tsaw-bridge/references/gemini-adapter.md):
403
+ Gemini bridge 예시
404
+
405
+ ## 이 저장소를 직접 수정하는 maintainer라면
406
+
407
+ 이 repository는 일반 initialized project가 아니라 `tsaw` CLI의 source repository입니다.
408
+ 일반 사용자는 `tsaw init`으로 프로젝트를 초기화하고, maintainer는 여기서 CLI와
409
+ 자산 원본을 함께 관리합니다.
410
+
411
+ source repository에서 기억할 기준:
412
+
413
+ - canonical asset source: `assets/agents/`
414
+ - self-hosting mirror: 루트 `.agents/`
415
+ - packaged asset mirror: `src/tsaw/_assets/`
416
+ - runtime state root: 루트 `.work/`
417
+ - 공개 제품 표면: `bin/`, `src/`, `assets/`, 문서, 테스트
418
+ - tracked source 변경은 current checkout에서 직접 하지 않고 dedicated git worktree에서
419
+ 진행한다.
420
+
421
+ 문서, CLI, 자산을 바꿨다면 최소 아래를 확인합니다.
422
+
423
+ ```bash
424
+ python3 -m unittest discover -s tests/tsaw -p 'test_*.py'
425
+ python3 -m unittest discover -s tests/agent_runtime -p 'test_*.py'
426
+ python3 -m unittest discover -s tests/source_repo -p 'test_*.py'
427
+ ./bin/tsaw validate source-repo
428
+ python3 scripts/refresh_packaged_assets.py --check
429
+ tsaw validate skills
430
+ tsaw validate registry
431
+ tsaw validate platforms
432
+ tsaw validate command-profiles
433
+ ```
434
+
435
+ 배포 전에는 정제된 release tree와 smoke를 별도로 확인합니다.
436
+
437
+ ```bash
438
+ python3 scripts/build_release_tree.py /tmp/tsaw-release
439
+ python3 scripts/package_smoke.py
440
+ python3 scripts/release_smoke.py
441
+ ```
442
+
443
+ TestPyPI 리허설은 GitHub Actions `Publish Python Package` workflow를 manual
444
+ dispatch해서 실행합니다. Production PyPI publish는 `1.12.0`처럼 `v` prefix가
445
+ 없는 숫자 semver tag를 push할 때만 실행됩니다.
446
+
447
+ 자세한 운영 계약은 [AGENTS.md](AGENTS.md)를 기준으로 봅니다.