gflow-cli 0.90.0__tar.gz → 0.91.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 (1375) hide show
  1. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.codex-plugin/plugin.json +1 -1
  2. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.env.template +5 -5
  3. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/AGENTS.md +8 -3
  4. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/CHANGELOG.md +68 -1
  5. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/CONTRIBUTING.md +2 -1
  6. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/KNOWN_ISSUES.md +31 -11
  7. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/PKG-INFO +3 -3
  8. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/README.md +1 -1
  9. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docker/Dockerfile +1 -1
  10. {gflow_cli-0.90.0/website → gflow_cli-0.91.0}/docs/CONFIGURATION.md +3 -3
  11. {gflow_cli-0.90.0/website → gflow_cli-0.91.0}/docs/DEVELOPMENT.md +2 -1
  12. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/INDEX.md +1 -1
  13. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.90.0.md +5 -1
  14. gflow_cli-0.91.0/docs/LIVE_VERIFICATION_v0.91.0.md +90 -0
  15. {gflow_cli-0.90.0/website → gflow_cli-0.91.0}/docs/MCP.md +39 -16
  16. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/PROJECT_STATUS.md +33 -5
  17. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/REFERENCE_STRATEGIES.md +5 -3
  18. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/USAGE.md +10 -8
  19. gflow_cli-0.91.0/docs/superpowers/spikes/2026-10-25-mcp-detached-task-shutdown.md +55 -0
  20. gflow_cli-0.91.0/docs/superpowers/spikes/2026-10-27-lost-video-submit-recovery.md +76 -0
  21. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/llms.txt +1 -1
  22. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/gflow/.claude-plugin/plugin.json +1 -1
  23. {gflow_cli-0.90.0 → gflow_cli-0.91.0/plugins/gflow}/skills/gflow-cli/SKILL.md +4 -3
  24. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/gflow/skills/video-production/SKILL.md +2 -2
  25. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/pyproject.toml +3 -3
  26. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/live_verify_mcp_tasks.py +19 -13
  27. gflow_cli-0.91.0/scripts/dev/spike_lost_submit_recovery.py +234 -0
  28. gflow_cli-0.91.0/scripts/dev/spike_mcp_detached_shutdown.py +183 -0
  29. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/server.json +2 -2
  30. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/check/SKILL.md +2 -1
  31. {gflow_cli-0.90.0/plugins/gflow → gflow_cli-0.91.0}/skills/gflow-cli/SKILL.md +4 -3
  32. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/spike/SKILL.md +8 -0
  33. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/video-production/SKILL.md +2 -2
  34. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/__init__.py +1 -1
  35. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/agent_only_composer.py +107 -8
  36. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/batchexecute.py +19 -0
  37. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/migrated_composer.py +152 -43
  38. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/migrated_extend.py +1 -1
  39. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/config.py +6 -7
  40. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/errors.py +3 -2
  41. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/mcp/server.py +30 -7
  42. gflow_cli-0.91.0/src/gflow_cli/mcp/tasks_extension.py +179 -0
  43. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/mcp/tools.py +157 -103
  44. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/worker/queue.py +12 -4
  45. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tasks/lessons.md +28 -0
  46. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_agent_only_composer_driver.py +106 -7
  47. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_batchexecute.py +50 -0
  48. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_composer.py +219 -2
  49. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_dispatch.py +9 -7
  50. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_r2v.py +68 -13
  51. gflow_cli-0.91.0/tests/e2e/test_mcp_wait_false_bdd.py +241 -0
  52. gflow_cli-0.91.0/tests/e2e/test_migrated_r2v_character_bdd.py +199 -0
  53. gflow_cli-0.91.0/tests/e2e/test_migrated_r2v_character_matrix_bdd.py +181 -0
  54. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_submit_body_loss_bdd.py +81 -1
  55. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/mcp_tasks.feature +4 -4
  56. gflow_cli-0.91.0/tests/features/mcp_wait_false.feature +21 -0
  57. gflow_cli-0.91.0/tests/features/migrated_r2v_character.feature +25 -0
  58. gflow_cli-0.91.0/tests/features/migrated_r2v_character_matrix.feature +31 -0
  59. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_video_submit_body_loss.feature +13 -0
  60. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_mcp_tasks_steps.py +22 -34
  61. gflow_cli-0.91.0/tests/mcp/test_tasks_extension.py +200 -0
  62. gflow_cli-0.91.0/tests/mcp/test_wait_false_runs.py +392 -0
  63. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_wait_parameter_documented.py +17 -2
  64. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/uv.lock +36 -36
  65. {gflow_cli-0.90.0 → gflow_cli-0.91.0/website}/docs/CONFIGURATION.md +3 -3
  66. {gflow_cli-0.90.0 → gflow_cli-0.91.0/website}/docs/DEVELOPMENT.md +2 -1
  67. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/KNOWN_ISSUES.md +31 -11
  68. {gflow_cli-0.90.0 → gflow_cli-0.91.0/website}/docs/MCP.md +39 -16
  69. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/USAGE.md +10 -8
  70. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/requirements.txt +3 -3
  71. gflow_cli-0.90.0/src/gflow_cli/mcp/tasks_extension.py +0 -90
  72. gflow_cli-0.90.0/tests/mcp/test_tasks_extension.py +0 -93
  73. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.agents/plugins/marketplace.json +0 -0
  74. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/README.md +0 -0
  75. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/active.md +0 -0
  76. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/branch-review.md +0 -0
  77. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/changelog.md +0 -0
  78. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/check.md +0 -0
  79. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/doc-review.md +0 -0
  80. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/issue-assessment.md +0 -0
  81. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/issue-resolve.md +0 -0
  82. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/known-issues.md +0 -0
  83. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/live-verify.md +0 -0
  84. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/llm-council.md +0 -0
  85. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/next.md +0 -0
  86. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/plan.md +0 -0
  87. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/pr-council-review.md +0 -0
  88. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/predict.md +0 -0
  89. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/release.md +0 -0
  90. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/scenario.md +0 -0
  91. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/sonar.md +0 -0
  92. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/spike.md +0 -0
  93. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude/commands/gflow/status.md +0 -0
  94. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.claude-plugin/marketplace.json +0 -0
  95. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.gitattributes +0 -0
  96. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/CODEOWNERS +0 -0
  97. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/FUNDING.yml +0 -0
  98. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  99. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/copilot-instructions.md +0 -0
  100. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/dependabot.yml +0 -0
  101. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/ci.yml +0 -0
  102. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/deps-watch.yml +0 -0
  103. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/external-pr-triage.yml +0 -0
  104. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/governance-advisory.yml +0 -0
  105. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/governance-benchmark.yml +0 -0
  106. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/labels.yml +0 -0
  107. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/main-base-guard.yml +0 -0
  108. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/mcp-registry.yml +0 -0
  109. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/pages.yml +0 -0
  110. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/release.yml +0 -0
  111. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/scorecard.yml +0 -0
  112. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/sponsors.yml +0 -0
  113. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.github/workflows/star-history-watch.yml +0 -0
  114. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.gitignore +0 -0
  115. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.gitleaks.toml +0 -0
  116. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.pre-commit-config.yaml +0 -0
  117. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/.secrets.baseline +0 -0
  118. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/CLAUDE.md +0 -0
  119. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/CONFIGURATION.md +0 -0
  120. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/DISCLAIMER.md +0 -0
  121. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/LICENSE +0 -0
  122. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/PLAN.md +0 -0
  123. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/RELEASE.md +0 -0
  124. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/ROADMAP.md +0 -0
  125. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/conftest.py +0 -0
  126. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/deploy/logrotate-pr-triage +0 -0
  127. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docker/Dockerfile.test +0 -0
  128. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docker/README.md +0 -0
  129. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docker/docker-compose.yml +0 -0
  130. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docker/dockerignore.example +0 -0
  131. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docker-compose.yml +0 -0
  132. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/ACCOUNT_SAFETY.md +0 -0
  133. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/AGENT_GUIDE.md +0 -0
  134. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/AGENT_UI_E2E.md +0 -0
  135. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/AGENT_UI_RECON.md +0 -0
  136. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/ARCHITECTURE.md +0 -0
  137. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/ASSET_TAGGING_RECON.md +0 -0
  138. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/AUTHENTICATION.md +0 -0
  139. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/CHARACTER.md +0 -0
  140. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/CHARACTER_RECON.md +0 -0
  141. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/CONTAINER.md +0 -0
  142. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/DATA_LAYER.md +0 -0
  143. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/DEBUGGING.md +0 -0
  144. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/DEMOS.md +0 -0
  145. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/DISTRIBUTION.md +0 -0
  146. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/E2E_TESTING.md +0 -0
  147. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/EXTERNAL_STORAGE.md +0 -0
  148. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/GITHUB.md +0 -0
  149. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/GOVERNANCE_BENCHMARK.md +0 -0
  150. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/IMAGE_UPSCALE_RECON.md +0 -0
  151. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/INSTRUCTIONS.md +0 -0
  152. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_data_layer.md +0 -0
  153. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_image_batch.md +0 -0
  154. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_playwright_1.61.md +0 -0
  155. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_reference_entity_guard.md +0 -0
  156. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.10.0.md +0 -0
  157. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.11.0.md +0 -0
  158. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.12.0.md +0 -0
  159. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.13.0.md +0 -0
  160. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.16.0.md +0 -0
  161. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.17.0.md +0 -0
  162. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.18.0.md +0 -0
  163. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.19.0.md +0 -0
  164. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.20.0.md +0 -0
  165. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.20.1.md +0 -0
  166. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.21.0.md +0 -0
  167. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.22.0.md +0 -0
  168. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.23.0.md +0 -0
  169. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.24.0.md +0 -0
  170. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.25.0.md +0 -0
  171. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.26.0.md +0 -0
  172. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.27.0.md +0 -0
  173. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.27.1.md +0 -0
  174. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.28.0.md +0 -0
  175. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.29.0.md +0 -0
  176. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.30.0.md +0 -0
  177. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.31.0.md +0 -0
  178. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.32.0.md +0 -0
  179. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.32.1.md +0 -0
  180. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.33.0.md +0 -0
  181. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.34.0.md +0 -0
  182. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.35.0.md +0 -0
  183. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.36.0.md +0 -0
  184. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.37.0.md +0 -0
  185. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.38.0.md +0 -0
  186. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.38.1.md +0 -0
  187. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.39.0.md +0 -0
  188. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.40.0-production-readiness.md +0 -0
  189. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.40.0.md +0 -0
  190. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.41.0.md +0 -0
  191. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.42.0.md +0 -0
  192. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.43.0.md +0 -0
  193. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.44.0.md +0 -0
  194. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.45.0.md +0 -0
  195. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.46.0.md +0 -0
  196. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.46.1.md +0 -0
  197. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.47.0.md +0 -0
  198. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.48.0.md +0 -0
  199. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.49.0.md +0 -0
  200. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.50.0.md +0 -0
  201. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.51.0.md +0 -0
  202. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.52.0.md +0 -0
  203. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.54.0.md +0 -0
  204. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.55.0.md +0 -0
  205. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.56.0.md +0 -0
  206. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.57.0.md +0 -0
  207. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.57.1.md +0 -0
  208. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.58.0.md +0 -0
  209. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.59.0.md +0 -0
  210. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.60.0.md +0 -0
  211. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.61.0.md +0 -0
  212. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.62.0.md +0 -0
  213. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.62.1.md +0 -0
  214. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.63.0.md +0 -0
  215. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.64.0.md +0 -0
  216. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.65.0.md +0 -0
  217. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.66.0.md +0 -0
  218. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.66.1.md +0 -0
  219. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.66.2.md +0 -0
  220. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.66.3.md +0 -0
  221. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.67.0.md +0 -0
  222. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.68.0.md +0 -0
  223. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.69.0.md +0 -0
  224. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.7.0.md +0 -0
  225. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.70.0.md +0 -0
  226. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.71.0.md +0 -0
  227. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.71.1.md +0 -0
  228. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.72.0.md +0 -0
  229. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.73.0.md +0 -0
  230. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.73.1.md +0 -0
  231. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.73.2.md +0 -0
  232. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.74.0.md +0 -0
  233. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.75.0.md +0 -0
  234. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.76.0.md +0 -0
  235. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.77.0.md +0 -0
  236. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.77.1.md +0 -0
  237. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.78.0.md +0 -0
  238. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.79.0.md +0 -0
  239. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.79.1.md +0 -0
  240. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.8.1.md +0 -0
  241. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.80.0.md +0 -0
  242. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.81.0.md +0 -0
  243. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.82.0.md +0 -0
  244. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.82.1.md +0 -0
  245. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.83.0.md +0 -0
  246. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.83.1.md +0 -0
  247. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.83.2.md +0 -0
  248. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.84.0.md +0 -0
  249. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.85.0.md +0 -0
  250. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.86.0.md +0 -0
  251. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.87.0.md +0 -0
  252. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.87.1.md +0 -0
  253. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.88.0.md +0 -0
  254. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.89.0.md +0 -0
  255. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.89.1.md +0 -0
  256. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.9.0.md +0 -0
  257. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_v0.9.1.md +0 -0
  258. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/LIVE_VERIFICATION_video_download.md +0 -0
  259. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/MARKETPLACES.md +0 -0
  260. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/MEDIA_LIBRARY.md +0 -0
  261. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/MOVIE.md +0 -0
  262. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/PROMPT_EXPANSION.md +0 -0
  263. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/SECURITY.md +0 -0
  264. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/SPONSORS.md +0 -0
  265. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/TOOLS.md +0 -0
  266. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/USER_GUIDE.md +0 -0
  267. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/assets/demo-split-pf.gif +0 -0
  268. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/assets/example-run.gif +0 -0
  269. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/assets/examples.webp +0 -0
  270. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/medium_tutorial.md +0 -0
  271. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/schemas/movie-handoff.schema.json +0 -0
  272. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/sonar-cleanup-tracker.md +0 -0
  273. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/README.md +0 -0
  274. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/agents-md-vs-llms-txt.md +0 -0
  275. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/background-e2e-pytest-pattern.md +0 -0
  276. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/bdd-stubs-mirror-runtime-signatures.md +0 -0
  277. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/content-policy-text-scan-false-positives-on-page-chrome.md +0 -0
  278. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/credit-free-route-abort-verification.md +0 -0
  279. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/data-layer-overview.md +0 -0
  280. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/data-layer-test-pollution-trap.md +0 -0
  281. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/doc-examples-are-untested-fixtures.md +0 -0
  282. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/draft-pr-merge-trap.md +0 -0
  283. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/drive-the-page-dont-replay-the-rpc.md +0 -0
  284. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/e2e-evidence-is-a-contributor-deliverable.md +0 -0
  285. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/exit-code-16-data-store.md +0 -0
  286. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/flow-capabilities-are-cohort-dependent.md +0 -0
  287. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/flow-credits-videos-only.md +0 -0
  288. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/flow-locale-leak-icon-ligatures.md +0 -0
  289. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +0 -0
  290. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/force-color-breaks-cli-tests.md +0 -0
  291. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/full-test-suite-ooms.md +0 -0
  292. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/git-add-all-sweeps-scratch-files.md +0 -0
  293. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/image-video-mode-switch-symmetry.md +0 -0
  294. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/ligature-carrier-differs-by-host.md +0 -0
  295. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/mcp-is-first-class-across-skill-chain.md +0 -0
  296. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/memory-is-working-dir-keyed.md +0 -0
  297. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +0 -0
  298. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/migrated-refusal-is-a-dom-card-not-a-wire-record.md +0 -0
  299. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/on-started-callback-recorder-safety.md +0 -0
  300. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/playwright-click-no-downstream-event-signature.md +0 -0
  301. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/pr-council-review-stale-tree-reads.md +0 -0
  302. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/pr-hygiene-revert-and-multi-commit.md +0 -0
  303. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/pr-must-verify-on-affected-surface.md +0 -0
  304. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/prose-conflicts-hide-in-disjoint-files.md +0 -0
  305. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/pypi-readme-staleness-fix.md +0 -0
  306. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/pypi-rejected-filename-reusable.md +0 -0
  307. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/readme-hybrid-router-pattern.md +0 -0
  308. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/real-browser-auth-mandatory.md +0 -0
  309. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/release-back-merge-gap-recovery.md +0 -0
  310. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/release-signing.md +0 -0
  311. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/release-spec-plan-memory-consolidation.md +0 -0
  312. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/rest-transports-drop-ui-fields.md +0 -0
  313. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/ruff-format-scope-is-src-tests.md +0 -0
  314. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/sonarcloud-hotspot-review-workflow.md +0 -0
  315. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/sonarcloud-new-code-gotchas.md +0 -0
  316. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/sonarcloud-pr-issues-scope-s7497.md +0 -0
  317. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/sonarcloud-setup.md +0 -0
  318. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/stale-test-discovery.md +0 -0
  319. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/structlog-cache-logger-off-for-tests.md +0 -0
  320. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/ui-selector-drift-error-exit-23.md +0 -0
  321. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/verification-ledger-5-layer.md +0 -0
  322. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/video-model-capability-matrix.md +0 -0
  323. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/wheel-build-sanity-gate.md +0 -0
  324. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/windows-dev-quirks.md +0 -0
  325. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/memory/windows-running-launcher-blocks-uv-upgrade.md +0 -0
  326. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-12-issue-174-library-ui-attach/PLAN.md +0 -0
  327. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-22-mcp-server/PLAN.md +0 -0
  328. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-22-mcp-server/PREDICT.md +0 -0
  329. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-22-mcp-server/SCENARIO.md +0 -0
  330. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PLAN.md +0 -0
  331. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PREDICT.md +0 -0
  332. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/SCENARIO.md +0 -0
  333. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-24-gflow-studio-scaffold/PLAN.md +0 -0
  334. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-24-rest-api-layer/PLAN.md +0 -0
  335. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-06-26-mcp-e2e-test/PLAN.md +0 -0
  336. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-08-pr-triage-autopilot/PLAN.md +0 -0
  337. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-09-camoufox-adoption/PLAN.md +0 -0
  338. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-14-storyboarding-and-visual-curation/PLAN.md +0 -0
  339. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-18-asset-tagging/PLAN.md +0 -0
  340. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-19-live-verify/PLAN.md +0 -0
  341. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-19-production-readiness-browser-lifecycle.md +0 -0
  342. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-19-production-readiness-driver-cdp-verification.md +0 -0
  343. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-19-production-readiness-public-truth.md +0 -0
  344. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-19-production-readiness-queue-safety.md +0 -0
  345. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-26-character-prompt-polishing/PLAN.md +0 -0
  346. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-26-project-name-management/PLAN.md +0 -0
  347. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-26-self-documenting-errors/PLAN.md +0 -0
  348. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-27-overlay-banner-dismissal/PLAN.md +0 -0
  349. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/PLAN.md +0 -0
  350. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/SCENARIO.md +0 -0
  351. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-04-mcp-tasks/PLAN.md +0 -0
  352. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-04-output-hardening/PLAN.md +0 -0
  353. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/PLAN.md +0 -0
  354. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/SCENARIO.md +0 -0
  355. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/PLAN.md +0 -0
  356. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/SCENARIO.md +0 -0
  357. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/PLAN.md +0 -0
  358. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/SCENARIO.md +0 -0
  359. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/PLAN.md +0 -0
  360. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/SCENARIO.md +0 -0
  361. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/PLAN.md +0 -0
  362. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/SCENARIO.md +0 -0
  363. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/PLAN.md +0 -0
  364. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/SCENARIO.md +0 -0
  365. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/PLAN.md +0 -0
  366. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/SCENARIO.md +0 -0
  367. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-21-selector-registry.md +0 -0
  368. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-08-25-workflow-hardening-gaps.md +0 -0
  369. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-01-video-extend/PLAN.md +0 -0
  370. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-06-spike-tooling-reorg/PLAN.md +0 -0
  371. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-14-community-feedback-uplift/PLAN.md +0 -0
  372. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/ASSESSMENT.md +0 -0
  373. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PLAN.md +0 -0
  374. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PREDICT.md +0 -0
  375. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/SCENARIO.md +0 -0
  376. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-17-gflow-docs-command/PLAN.md +0 -0
  377. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-17-gflow-docs-command/SCENARIO.md +0 -0
  378. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-09-17-project-create-bundle/PLAN.md +0 -0
  379. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-10-17-migrated-video-extend/PLAN.md +0 -0
  380. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-10-17-migrated-video-extend/PREDICT.md +0 -0
  381. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-10-17-migrated-video-extend/SCENARIO.md +0 -0
  382. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/PLAN.md +0 -0
  383. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/PREDICT.md +0 -0
  384. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/SCENARIO.md +0 -0
  385. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/research/2026-06-27-tool-abstraction-evaluation.md +0 -0
  386. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-06-29-issue-assessment-workflow-design.md +0 -0
  387. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-07-04-pr-triage-autopilot-design.md +0 -0
  388. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-07-18-asset-tagging-design.md +0 -0
  389. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-07-19-live-verify-design.md +0 -0
  390. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-07-19-production-readiness-hardening-design.md +0 -0
  391. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-08-21-selector-registry-design.md +0 -0
  392. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-08-26-model-attribution-provenance.md +0 -0
  393. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-08-26-model-cost-quota-catalog.md +0 -0
  394. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/specs/2026-08-27-changelog-modal-precondition-design.md +0 -0
  395. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-07-09-camoufox-waf-403.md +0 -0
  396. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-07-12-ui-cohort-backend-config.md +0 -0
  397. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-07-17-production-readiness-assessment.md +0 -0
  398. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-08-01-mcp-2026-07-28-spec-impact.md +0 -0
  399. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-08-14-video-model-capability-matrix.md +0 -0
  400. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-08-15-picker-tile-alt-text.md +0 -0
  401. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-08-31-veo-extend-route-recon.md +0 -0
  402. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-04-migrated-host-handoff-mechanism.md +0 -0
  403. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-05-migrated-frames-attach.md +0 -0
  404. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-05-migrated-host-wire-protocol.md +0 -0
  405. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-05-migrated-model-menu-lower-priority.md +0 -0
  406. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-05-migrated-r2v-attach-surface.md +0 -0
  407. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-06-labs-vs-migrated-session-credential.md +0 -0
  408. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-06-migrated-character-surface-and-recaptcha.md +0 -0
  409. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-07-character-format-button-anchor.md +0 -0
  410. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-07-credit-shortfall-looks-like-selector-drift.md +0 -0
  411. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-07-format-click-is-not-a-format.md +0 -0
  412. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-07-ligature-carrier-and-name-drift.md +0 -0
  413. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-07-migrated-composer-has-an-image-mode.md +0 -0
  414. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-08-g12-blocks-webdriver-not-playwright.md +0 -0
  415. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-08-migrated-composer-agent-mode-hides-settings.md +0 -0
  416. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-08-migrated-image-submit-wire.md +0 -0
  417. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-08-migrated-queue-is-readable-on-zzl0ze.md +0 -0
  418. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-08-migrated-upload-fails-two-ways.md +0 -0
  419. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-10-about-redirect-stability.md +0 -0
  420. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-10-migrated-click-blocked.md +0 -0
  421. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-decided-client-side.md +0 -0
  422. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-stable-for-an-account.md +0 -0
  423. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-11-migrated-cookie-bar-blocks-the-composer.md +0 -0
  424. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-11-nano2-lite-capability.md +0 -0
  425. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-13-frames-picker-confirm.md +0 -0
  426. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-14-credits-on-migrated-host.md +0 -0
  427. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-14-generation-wire-no-push-channel.md +0 -0
  428. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-14-two-domain-protocol-survey.md +0 -0
  429. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-14-video-poll-is-a-fixed-client-timer.md +0 -0
  430. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-15-agent-only-composer-drive-surface.md +0 -0
  431. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-15-container-transport-viability.md +0 -0
  432. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-15-unentitled-account-signal.md +0 -0
  433. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-16-networkidle-costs-3x-it-does-not-hang.md +0 -0
  434. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-17-migrated-end-frame-submit-contract.md +0 -0
  435. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-17-project-create-on-flow-google-com.md +0 -0
  436. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-17-stranded-clip-recovery.md +0 -0
  437. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-19-migrated-video-extend-wire.md +0 -0
  438. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-20-warm-client-premint-on-about-blank.md +0 -0
  439. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-22-playwright-max-retries-econnreset.md +0 -0
  440. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-23-about-cta-leads-to-google-reauth.md +0 -0
  441. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-27-migrated-refusal-is-on-the-wire.md +0 -0
  442. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-27-stealth-fingerprint-delta.md +0 -0
  443. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-09-30-migrated-upscale-wire.md +0 -0
  444. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-01-batch-ref-dropped.md +0 -0
  445. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-01-recaptcha-error-shape.md +0 -0
  446. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-06-948-record-slot3-null.md +0 -0
  447. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-08-nano-banana-21-replaced-2.md +0 -0
  448. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-10-duration-locale-and-notice-only-cookie-bar.md +0 -0
  449. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-13-migrated-image-character-mention.md +0 -0
  450. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-14-labs-nextauth-silent-refresh.md +0 -0
  451. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-17-agent-only-cohort-profiles.md +0 -0
  452. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-17-migrated-extend-ui-path.md +0 -0
  453. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-18-rpc-response-body-readback.md +0 -0
  454. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-19-earlier-run-ref-in-place.md +0 -0
  455. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-19-fourth-ref-caret.md +0 -0
  456. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-19-minio-replacement.md +0 -0
  457. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-20-migrated-upload-reply-body-eviction.md +0 -0
  458. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-21-migrated-submit-reply-body-loss.md +0 -0
  459. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-22-credits-balance-on-nzlxg.md +0 -0
  460. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-22-image-upscale-lost-body.md +0 -0
  461. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/docs/superpowers/spikes/2026-10-22-labs-session-oracle-gone.md +0 -0
  462. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/examples/README.md +0 -0
  463. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/examples/batch_from_config.py +0 -0
  464. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/examples/multi_prompt_t2i.py +0 -0
  465. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/examples/sample_config.json +0 -0
  466. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/examples/sample_prompts.txt +0 -0
  467. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/examples/single_image_t2i.py +0 -0
  468. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/examples/workflow_chain.py +0 -0
  469. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/glama.json +0 -0
  470. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/hatch_build.py +0 -0
  471. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/index.html +0 -0
  472. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/mempalace.yaml +0 -0
  473. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/README.md +0 -0
  474. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/gflow/.mcp.json +0 -0
  475. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/gflow/skills/video-production/clip_qa.py +0 -0
  476. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/gflow/skills/video-production/composition.md +0 -0
  477. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/gflow/skills/video-production/consistency.md +0 -0
  478. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/gflow/skills/video-production/failure-modes.md +0 -0
  479. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/plugins/gflow/skills/video-production/tasks.json +0 -0
  480. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/README.md +0 -0
  481. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/01_upload_image.json +0 -0
  482. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/02_batchAsyncGenerateVideoText.json +0 -0
  483. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/03_batchCheckAsyncVideoGenerationStatus.json +0 -0
  484. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/04_archive_workflow.json +0 -0
  485. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/05_createProject.json +0 -0
  486. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/06_batchGenerateImages.json +0 -0
  487. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/07_batchGenerateImages_seeded.json +0 -0
  488. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/08_batchAsyncGenerateVideoStartAndEndImage.json +0 -0
  489. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/09_batchAsyncGenerateVideoReferenceImages.json +0 -0
  490. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/10_batchCheckAsyncVideoGenerationStatus_successful.json +0 -0
  491. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/11_batchCheckAsyncVideoGenerationStatus_failed.json +0 -0
  492. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/12_create_scene.json +0 -0
  493. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/13_sceneWorkflows_update.json +0 -0
  494. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/14_get_scene_workflows.json +0 -0
  495. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/samples/captured/15_commit_flowWorkflow.json +0 -0
  496. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/canary/register_task.ps1 +0 -0
  497. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/canary/run_canary.py +0 -0
  498. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_council_memory.py +0 -0
  499. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_deletions.py +0 -0
  500. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_doc_links.py +0 -0
  501. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_fork_pr_ci.py +0 -0
  502. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_materiality.py +0 -0
  503. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_release_artifacts.py +0 -0
  504. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_repo_hygiene.py +0 -0
  505. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_test_count.py +0 -0
  506. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/check_website_docs_pii.py +0 -0
  507. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/generate_plugin_skills.py +0 -0
  508. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/generate_website_docs.py +0 -0
  509. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/ci/update_sponsors.py +0 -0
  510. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/debug_editor.py +0 -0
  511. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/debug_gen_settings.py +0 -0
  512. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/debug_settings.py +0 -0
  513. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/_recording_client.py +0 -0
  514. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/_spike_common.py +0 -0
  515. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/acceptance/__init__.py +0 -0
  516. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/acceptance/bench.py +0 -0
  517. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/acceptance/domain.py +0 -0
  518. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/acceptance/judge.py +0 -0
  519. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/acceptance/settings.py +0 -0
  520. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/active_plan.py +0 -0
  521. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/analyze_agent_ui_capture.py +0 -0
  522. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_frames_mode_trigger_ligature.py +0 -0
  523. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_i2v_frame_slots_dom.py +0 -0
  524. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_i2v_intercept_submit.py +0 -0
  525. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_i2v_model_select_repro.py +0 -0
  526. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_i2v_post_bind_state.py +0 -0
  527. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_image_add_media_dom.py +0 -0
  528. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_locale_invariants.py +0 -0
  529. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_lower_priority_model_cost.py +0 -0
  530. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_migrated_attach_rpcs.py +0 -0
  531. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_migrated_mention_gestures.py +0 -0
  532. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_migrated_model_menu.py +0 -0
  533. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_migrated_r2v_production_submit.py +0 -0
  534. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_migrated_r2v_submit_payload.py +0 -0
  535. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_migrated_r2v_surface.py +0 -0
  536. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_migrated_upload_flow.py +0 -0
  537. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_project_listing.py +0 -0
  538. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_r2v_ingredient_lifecycle.py +0 -0
  539. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_sidebar_state_dom.py +0 -0
  540. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/capture_video_model_capability_matrix.py +0 -0
  541. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/cdp_drive_and_probe.py +0 -0
  542. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/character_create_spike.py +0 -0
  543. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/character_create_spike_v2.py +0 -0
  544. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/cleanup.py +0 -0
  545. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/dump_character_selectors.js +0 -0
  546. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/README.md +0 -0
  547. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/capture-agent-ui.ps1 +0 -0
  548. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/capture-media-scrape.ps1 +0 -0
  549. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/extract_har_summary.py +0 -0
  550. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/launch-flow-chrome.ps1 +0 -0
  551. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/probe-agent-mode.ps1 +0 -0
  552. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/probe_agent_mode.py +0 -0
  553. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/run-cdp-smoke.ps1 +0 -0
  554. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/start-background-capture.ps1 +0 -0
  555. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/start-har-capture.ps1 +0 -0
  556. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/stop-background-capture.ps1 +0 -0
  557. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/har-spike/stop-har-capture.ps1 +0 -0
  558. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/incident_bundle_quality.py +0 -0
  559. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/live_verify_policy_400_v060.py +0 -0
  560. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/live_verify_video_model_select.py +0 -0
  561. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/make_project.py +0 -0
  562. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/materiality_backtest.py +0 -0
  563. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/measure_html_lang_settle.py +0 -0
  564. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/measure_locale_probe.py +0 -0
  565. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/measure_migrated_host_flip.py +0 -0
  566. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/patch_character.py +0 -0
  567. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/skillopt/README.md +0 -0
  568. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/skillopt/harness.py +0 -0
  569. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/skillopt/tasks.json +0 -0
  570. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/sonar-local-scan.sh +0 -0
  571. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/sonar-pre-push-gate.sh +0 -0
  572. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_948_project_records.py +0 -0
  573. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_948_submit_envelope.py +0 -0
  574. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_963_duration_locale.py +0 -0
  575. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_995_earlier_run_ref.py +0 -0
  576. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_997_fourth_ref_caret.py +0 -0
  577. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_about_cta_recovery.py +0 -0
  578. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_about_redirect_cause.py +0 -0
  579. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_about_redirect_stability.py +0 -0
  580. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_agent_confirm_radios.py +0 -0
  581. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_agent_only_cohort_profiles.py +0 -0
  582. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_agent_only_composer.py +0 -0
  583. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_agent_only_video_ready.py +0 -0
  584. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_agent_only_video_tile.py +0 -0
  585. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_agent_settings_defaults.py +0 -0
  586. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_batch_ref_dropped.py +0 -0
  587. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_batch_ref_existing_media.py +0 -0
  588. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_cdp_har_without_node.py +0 -0
  589. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_changelog_capture.py +0 -0
  590. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_char_editor_dom.py +0 -0
  591. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_char_gen_capture.py +0 -0
  592. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_character_editor_ready_gate.py +0 -0
  593. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_character_prompt_format.py +0 -0
  594. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_create_project_401.py +0 -0
  595. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_credits_balance_carrier.py +0 -0
  596. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_credits_migrated_surface.py +0 -0
  597. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_entity_submit_rpcs.py +0 -0
  598. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_extend_model_recon.py +0 -0
  599. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_extend_ourstack_verify.py +0 -0
  600. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_extend_route_capture.py +0 -0
  601. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_extend_submit_capture.py +0 -0
  602. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_extend_ui_recon.py +0 -0
  603. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_flow_unavailable_signal.py +0 -0
  604. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_format_prompt_effect.py +0 -0
  605. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_frames_picker_confirm.py +0 -0
  606. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_generation_wire_survey.py +0 -0
  607. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_gif_export_delivery.py +0 -0
  608. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_host_lane.py +0 -0
  609. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_image_model_attribution.py +0 -0
  610. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_image_submit_references.py +0 -0
  611. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_image_upscale_capture.py +0 -0
  612. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_image_upscale_drive.py +0 -0
  613. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_image_upscale_recaptcha_action.py +0 -0
  614. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_image_upscale_rest_probe.py +0 -0
  615. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_incident_live.py +0 -0
  616. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_issue170_picker_locale_recon.py +0 -0
  617. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_issue174_library_ui_recon.py +0 -0
  618. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_issue313_agent_mode_controls.py +0 -0
  619. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_issue314_picker_filename_search.py +0 -0
  620. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_issue404_count_tabs_recon.py +0 -0
  621. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_labs_nextauth_refresh.py +0 -0
  622. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_ligature_carrier_sweep.py +0 -0
  623. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_locale_poison.py +0 -0
  624. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_mention_existing_media.py +0 -0
  625. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_aspect_radios.py +0 -0
  626. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_body_reference_chip.py +0 -0
  627. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_character_body_controls.py +0 -0
  628. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_character_editor_anchor.py +0 -0
  629. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_character_ogiz0b_schema.py +0 -0
  630. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_character_submit_wire.py +0 -0
  631. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_character_surface.py +0 -0
  632. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_click_blocked.py +0 -0
  633. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_composer_arms.py +0 -0
  634. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_composer_mode_axis.py +0 -0
  635. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_cookie_bar.py +0 -0
  636. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_create_project.py +0 -0
  637. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_duration_by_model.py +0 -0
  638. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_editor_dom_inventory.py +0 -0
  639. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_end_frame.py +0 -0
  640. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_entity_submit.py +0 -0
  641. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_extend_ui_path.py +0 -0
  642. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_frames_attach.py +0 -0
  643. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_host_trigger.py +0 -0
  644. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_image_capability.py +0 -0
  645. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_image_submit.py +0 -0
  646. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_picker_option_kind.py +0 -0
  647. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_queue_read.py +0 -0
  648. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_recaptcha_mint.py +0 -0
  649. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_refusal_envelope.py +0 -0
  650. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_submit_anchor.py +0 -0
  651. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_submit_body_loss.py +0 -0
  652. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_submit_capture.py +0 -0
  653. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_upload_body_eviction.py +0 -0
  654. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_upload_wire.py +0 -0
  655. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migrated_vs_labs_provenance.py +0 -0
  656. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_migration_flag_bootstrap.py +0 -0
  657. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_mint_on_about_blank.py +0 -0
  658. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_mode_roundtrip.py +0 -0
  659. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_mode_switch_agentic_to_classic.py +0 -0
  660. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_model_inventory.py +0 -0
  661. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_movie_attach_payload.py +0 -0
  662. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_movie_entity_recon.py +0 -0
  663. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_movie_gen_capture.py +0 -0
  664. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_movie_picker_select.py +0 -0
  665. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_movie_voice_list.py +0 -0
  666. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_nano2_lite_capability.py +0 -0
  667. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_nano_banana_21_wire.py +0 -0
  668. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_networkidle_bootstrap_cost.py +0 -0
  669. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_offscreen_window.py +0 -0
  670. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_omni_flash_i2v_ui_recon.py +0 -0
  671. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_patch_entity.py +0 -0
  672. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_patchright.py +0 -0
  673. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_picker_chip_removal.py +0 -0
  674. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_picker_entity_marker.py +0 -0
  675. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_playwright_chrome_login.py +0 -0
  676. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_playwright_max_retries.py +0 -0
  677. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_project_media_status.py +0 -0
  678. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_recaptcha_error_shape.py +0 -0
  679. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_recover_stranded_clip.py +0 -0
  680. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_ref_gate.py +0 -0
  681. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_s3_test_backend.py +0 -0
  682. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_session_oracle.py +0 -0
  683. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_stealth_fingerprint_delta.py +0 -0
  684. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_trpc_origin_referer_401.py +0 -0
  685. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_two_domain_protocol_survey.py +0 -0
  686. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_upload_token_join.py +0 -0
  687. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_upscale_lost_body.py +0 -0
  688. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_upscale_menu_anchors.py +0 -0
  689. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_video_tab_dom.py +0 -0
  690. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_video_workflow_id.py +0 -0
  691. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/spike_warm_client_unported_form.py +0 -0
  692. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/verify_lang_settle_fix.py +0 -0
  693. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/verify_language_agnostic.py +0 -0
  694. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/verify_locale_navigation_race.py +0 -0
  695. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/dev/verify_model_attribution.py +0 -0
  696. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/diag/README.md +0 -0
  697. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/diag/capture_flow_traffic.py +0 -0
  698. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/diag/diag_aisandbox_bearer.py +0 -0
  699. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/diag/memory_profile.py +0 -0
  700. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/diag/recaptcha_mint.py +0 -0
  701. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/diag/spike_387_openai_compat.py +0 -0
  702. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/e2e/agentic_image_e2e.ps1 +0 -0
  703. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/e2e/capture_agent_toggle.py +0 -0
  704. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/probe/run_probe.py +0 -0
  705. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/probe/spike_auth_matrix.py +0 -0
  706. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/record_demo.ps1 +0 -0
  707. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/smoke_image.py +0 -0
  708. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/smoke_video_editor.py +0 -0
  709. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/smoke_worker_style.py +0 -0
  710. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/spike_waf_camoufox.py +0 -0
  711. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/scripts/verify_chrome_auth_viability.py +0 -0
  712. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/README.md +0 -0
  713. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/changelog/SKILL.md +0 -0
  714. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/doc-review/SKILL.md +0 -0
  715. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/issue-assessment/SKILL.md +0 -0
  716. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/issue-resolve/SKILL.md +0 -0
  717. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/known-issues/SKILL.md +0 -0
  718. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/live-verify/SKILL.md +0 -0
  719. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/llm-council/SKILL.md +0 -0
  720. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/plan/SKILL.md +0 -0
  721. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/pr-council-review/SKILL.md +0 -0
  722. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/predict/SKILL.md +0 -0
  723. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/release/SKILL.md +0 -0
  724. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/scenario/SKILL.md +0 -0
  725. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/sonar/SKILL.md +0 -0
  726. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/status/SKILL.md +0 -0
  727. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/video-production/clip_qa.py +0 -0
  728. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/video-production/composition.md +0 -0
  729. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/video-production/consistency.md +0 -0
  730. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/video-production/failure-modes.md +0 -0
  731. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/skills/video-production/tasks.json +0 -0
  732. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/sonar-project.properties +0 -0
  733. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/__main__.py +0 -0
  734. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/_cli_helpers.py +0 -0
  735. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/__init__.py +0 -0
  736. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/_engine.py +0 -0
  737. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/_retry.py +0 -0
  738. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/_sapisidhash.py +0 -0
  739. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/character.py +0 -0
  740. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/client.py +0 -0
  741. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/dto.py +0 -0
  742. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/extend_chain.py +0 -0
  743. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/image.py +0 -0
  744. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/image_upscale.py +0 -0
  745. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/recaptcha.py +0 -0
  746. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/routes.py +0 -0
  747. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/scene.py +0 -0
  748. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/__init__.py +0 -0
  749. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/_common.py +0 -0
  750. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/_fingerprint.py +0 -0
  751. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/base.py +0 -0
  752. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/drivers/__init__.py +0 -0
  753. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/drivers/agentic.py +0 -0
  754. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/drivers/base.py +0 -0
  755. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/drivers/classic.py +0 -0
  756. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/drivers/factory.py +0 -0
  757. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/experimental/__init__.py +0 -0
  758. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/experimental/bearer.py +0 -0
  759. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/experimental/evaluate_fetch.py +0 -0
  760. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/experimental/sapisidhash.py +0 -0
  761. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/migrated_recover.py +0 -0
  762. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/migrated_upscale.py +0 -0
  763. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/migrated_video_upscale.py +0 -0
  764. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/mode_control.py +0 -0
  765. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/ui_automation.py +0 -0
  766. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/transports/ui_automation_video.py +0 -0
  767. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/video.py +0 -0
  768. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/api/video_extend.py +0 -0
  769. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/__init__.py +0 -0
  770. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/base.py +0 -0
  771. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/cookies.py +0 -0
  772. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/factory.py +0 -0
  773. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/internal_chromium.py +0 -0
  774. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/real_chrome.py +0 -0
  775. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/renew.py +0 -0
  776. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/strategies.py +0 -0
  777. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/auth/verification.py +0 -0
  778. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/browser_manager.py +0 -0
  779. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/chain.py +0 -0
  780. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/chain_manifest.py +0 -0
  781. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli.py +0 -0
  782. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_character.py +0 -0
  783. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_credits.py +0 -0
  784. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_data.py +0 -0
  785. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_docs.py +0 -0
  786. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_doctor.py +0 -0
  787. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_image.py +0 -0
  788. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_instructions.py +0 -0
  789. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_models.py +0 -0
  790. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_movie.py +0 -0
  791. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_project.py +0 -0
  792. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_run.py +0 -0
  793. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_scene.py +0 -0
  794. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_tools.py +0 -0
  795. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_update.py +0 -0
  796. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/cli_video.py +0 -0
  797. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/composition.py +0 -0
  798. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/__init__.py +0 -0
  799. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/chain_repo.py +0 -0
  800. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0001_initial.sql +0 -0
  801. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0002_add_cloud_storage.sql +0 -0
  802. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0003_add_scene_tables.sql +0 -0
  803. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0004_add_scene_output_path.sql +0 -0
  804. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0005_add_chain_links.sql +0 -0
  805. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0006_add_operations_metadata.sql +0 -0
  806. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0007_queue.sql +0 -0
  807. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0008_add_operation_expanded_prompt.sql +0 -0
  808. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/0009_queue_claims.sql +0 -0
  809. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/migrations/__init__.py +0 -0
  810. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/models.py +0 -0
  811. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/queries.py +0 -0
  812. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/recorder.py +0 -0
  813. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/redaction.py +0 -0
  814. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/repository.py +0 -0
  815. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/data/store.py +0 -0
  816. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/diagnostics.py +0 -0
  817. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/docs_catalog.py +0 -0
  818. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/exceptions.py +0 -0
  819. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/file_integrity.py +0 -0
  820. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/flow_selectors/__init__.py +0 -0
  821. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/flow_selectors/grading.py +0 -0
  822. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/flow_selectors/model.py +0 -0
  823. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/flow_selectors/registry.py +0 -0
  824. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/image_batch.py +0 -0
  825. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/json_output.py +0 -0
  826. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/mcp/__init__.py +0 -0
  827. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/mcp/prompts.py +0 -0
  828. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/mcp/resources.py +0 -0
  829. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/mcp/setup.py +0 -0
  830. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/media.py +0 -0
  831. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/movie_manifest.py +0 -0
  832. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/observability.py +0 -0
  833. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/paths.py +0 -0
  834. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/profile_lease.py +0 -0
  835. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/profile_store.py +0 -0
  836. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/redaction.py +0 -0
  837. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/services/__init__.py +0 -0
  838. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/services/catalog_sync.py +0 -0
  839. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/services/character_create.py +0 -0
  840. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/services/credits.py +0 -0
  841. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/services/doctor.py +0 -0
  842. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/services/media_recovery.py +0 -0
  843. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/services/mentions.py +0 -0
  844. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/services/reference_uploads.py +0 -0
  845. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/storage.py +0 -0
  846. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/__init__.py +0 -0
  847. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/banned.py +0 -0
  848. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/builtin/__init__.py +0 -0
  849. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/builtin/creative-director.toml +0 -0
  850. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/builtin/reverse-engineer.toml +0 -0
  851. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/builtin/storyboard.toml +0 -0
  852. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/expander.py +0 -0
  853. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/invocation.py +0 -0
  854. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/loader.py +0 -0
  855. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/registry.py +0 -0
  856. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/runtime.py +0 -0
  857. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/tools/spec.py +0 -0
  858. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/ui/app.py +0 -0
  859. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/ui/server.py +0 -0
  860. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/update_check.py +0 -0
  861. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/winsec.py +0 -0
  862. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/worker/codec.py +0 -0
  863. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/src/gflow_cli/worker/daemon.py +0 -0
  864. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/test_assets/sample_batch.json +0 -0
  865. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/test_assets/sample_batch.tsv +0 -0
  866. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/test_assets/sample_batch_invalid.tsv +0 -0
  867. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/__init__.py +0 -0
  868. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/__init__.py +0 -0
  869. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/_upscale_fakes.py +0 -0
  870. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/fixtures/character_gen_response.json +0 -0
  871. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/fixtures/patch_entity_response.json +0 -0
  872. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/fixtures/project_initial_data_extend_models.json +0 -0
  873. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_aisandbox_auth_error.py +0 -0
  874. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_aisandbox_auth_headers.py +0 -0
  875. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_aisandbox_auth_remediation.py +0 -0
  876. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_bearer_redaction.py +0 -0
  877. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_bootstrap_chooser.py +0 -0
  878. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_character.py +0 -0
  879. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_character_readback_fallback.py +0 -0
  880. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client.py +0 -0
  881. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_character.py +0 -0
  882. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_delete_characters.py +0 -0
  883. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_errors.py +0 -0
  884. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_extend.py +0 -0
  885. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_generate_character.py +0 -0
  886. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_image.py +0 -0
  887. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_incidents.py +0 -0
  888. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_launch_kwargs.py +0 -0
  889. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_locale_cache.py +0 -0
  890. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_migrated_mint.py +0 -0
  891. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_patch_entity.py +0 -0
  892. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_project_host.py +0 -0
  893. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_scene.py +0 -0
  894. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_upscale.py +0 -0
  895. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_client_window_position.py +0 -0
  896. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_concurrency.py +0 -0
  897. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_credits.py +0 -0
  898. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_diagnostics_boundary_890.py +0 -0
  899. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_dto.py +0 -0
  900. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_engine.py +0 -0
  901. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_extend_chain.py +0 -0
  902. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_image.py +0 -0
  903. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_image_capability_and_cookie_bar.py +0 -0
  904. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_image_dto.py +0 -0
  905. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_image_upscale.py +0 -0
  906. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_migrated_upscale.py +0 -0
  907. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_migrated_video_upscale.py +0 -0
  908. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_post_json_aisandbox_auth.py +0 -0
  909. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_profile_in_use.py +0 -0
  910. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_recaptcha.py +0 -0
  911. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_retry.py +0 -0
  912. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_routes.py +0 -0
  913. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_routes_character.py +0 -0
  914. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_routes_locale.py +0 -0
  915. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_routes_scene.py +0 -0
  916. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_sapisidhash_helper.py +0 -0
  917. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_scene_models.py +0 -0
  918. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_served_route_parked_page.py +0 -0
  919. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_upload_reference.py +0 -0
  920. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_video.py +0 -0
  921. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_video_extend.py +0 -0
  922. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_video_request.py +0 -0
  923. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/test_video_status_poll.py +0 -0
  924. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/__init__.py +0 -0
  925. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/_ogiz0b.py +0 -0
  926. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/conftest.py +0 -0
  927. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/drivers/__init__.py +0 -0
  928. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/drivers/test_agentic.py +0 -0
  929. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/drivers/test_classic.py +0 -0
  930. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/drivers/test_factory.py +0 -0
  931. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/drivers/test_ui_mode.py +0 -0
  932. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_agent_only_composer.py +0 -0
  933. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_agentic_cohort_detection.py +0 -0
  934. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_base.py +0 -0
  935. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_bearer.py +0 -0
  936. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_character_model_picker.py +0 -0
  937. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_click_attribution.py +0 -0
  938. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_common.py +0 -0
  939. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_diagnostics_boundary_1062.py +0 -0
  940. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_evaluate_fetch.py +0 -0
  941. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_factory.py +0 -0
  942. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_fingerprint.py +0 -0
  943. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_flow_access_unavailable.py +0 -0
  944. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_hidden_model_picker.py +0 -0
  945. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_ligature_carrier.py +0 -0
  946. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_locale_navigation.py +0 -0
  947. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_existing_refs.py +0 -0
  948. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_extend.py +0 -0
  949. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_host_gate.py +0 -0
  950. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_images.py +0 -0
  951. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_mention_order.py +0 -0
  952. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_project.py +0 -0
  953. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_recover.py +0 -0
  954. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_migrated_route.py +0 -0
  955. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_missing_project_landing_paths.py +0 -0
  956. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_mode_control.py +0 -0
  957. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_model_selection_loud.py +0 -0
  958. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_navigation_settled.py +0 -0
  959. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_new_project_cta_migrated.py +0 -0
  960. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_overlay_precondition.py +0 -0
  961. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_policy_400.py +0 -0
  962. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_sapisidhash.py +0 -0
  963. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_selector_symmetry.py +0 -0
  964. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_signed_media_retry.py +0 -0
  965. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_transport_timeout.py +0 -0
  966. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_ui_automation.py +0 -0
  967. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_ui_automation_batch.py +0 -0
  968. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_ui_automation_image_mode.py +0 -0
  969. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_ui_automation_video.py +0 -0
  970. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_ui_character_editor.py +0 -0
  971. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_upscale_tile_listed_late.py +0 -0
  972. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/api/transports/test_video_model_selection_loud.py +0 -0
  973. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/auth/strategies/test_factory.py +0 -0
  974. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/auth/strategies/test_strategies.py +0 -0
  975. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/auth/test_account_autoselect.py +0 -0
  976. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/auth/test_cookies.py +0 -0
  977. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/auth/test_real_chrome.py +0 -0
  978. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/auth/test_renew.py +0 -0
  979. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/auth/test_verification.py +0 -0
  980. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/auth/test_windows_acl.py +0 -0
  981. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/__init__.py +0 -0
  982. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_auth_renew.py +0 -0
  983. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_auth_status.py +0 -0
  984. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_auth_error_paths.py +0 -0
  985. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_auth_list.py +0 -0
  986. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_character.py +0 -0
  987. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_character_create.py +0 -0
  988. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_credits.py +0 -0
  989. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_data.py +0 -0
  990. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_data_errors.py +0 -0
  991. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_data_errors_retention.py +0 -0
  992. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_data_sync.py +0 -0
  993. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_docs.py +0 -0
  994. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_doctor.py +0 -0
  995. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_image.py +0 -0
  996. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_image_seed_removed.py +0 -0
  997. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_image_selector_drift.py +0 -0
  998. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_image_upscale.py +0 -0
  999. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_image_uuid_ref_enrichment.py +0 -0
  1000. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_instructions.py +0 -0
  1001. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_models.py +0 -0
  1002. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_movie.py +0 -0
  1003. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_run.py +0 -0
  1004. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_scene.py +0 -0
  1005. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_tools.py +0 -0
  1006. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_video.py +0 -0
  1007. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_video_chain.py +0 -0
  1008. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_video_extend.py +0 -0
  1009. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cli_video_upscale.py +0 -0
  1010. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_cloud_storage_local_output.py +0 -0
  1011. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_default_project.py +0 -0
  1012. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_docs_catalog_real_docs.py +0 -0
  1013. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_error_handling.py +0 -0
  1014. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_failure_funnel.py +0 -0
  1015. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_helpers.py +0 -0
  1016. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_incident_output.py +0 -0
  1017. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_movie_manifest.py +0 -0
  1018. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_movie_manifest_style_variants.py +0 -0
  1019. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_predictable_output.py +0 -0
  1020. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_run_with_handlers_context_leak.py +0 -0
  1021. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_run_with_handlers_interrupt.py +0 -0
  1022. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_settings_validation.py +0 -0
  1023. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_t2i_multi_prompt.py +0 -0
  1024. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/cli/test_video_recording_busy.py +0 -0
  1025. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/composition/test_character.py +0 -0
  1026. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/composition/test_compose_prompt.py +0 -0
  1027. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/composition/test_handoff.py +0 -0
  1028. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/composition/test_style_variants.py +0 -0
  1029. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/composition/test_style_variants_e2e.py +0 -0
  1030. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/conftest.py +0 -0
  1031. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/__init__.py +0 -0
  1032. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_chain_repo.py +0 -0
  1033. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_failure_recording.py +0 -0
  1034. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_find_incomplete_character.py +0 -0
  1035. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_models.py +0 -0
  1036. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_null_columns_stay_null.py +0 -0
  1037. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_packaging.py +0 -0
  1038. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_recorder.py +0 -0
  1039. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_recorder_character.py +0 -0
  1040. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_redaction.py +0 -0
  1041. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_repository.py +0 -0
  1042. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_scene_persistence.py +0 -0
  1043. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_settings_and_errors.py +0 -0
  1044. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_store.py +0 -0
  1045. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_store_migrations.py +0 -0
  1046. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/data/test_store_transaction_errors.py +0 -0
  1047. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/dev/test_recording_client.py +0 -0
  1048. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/__init__.py +0 -0
  1049. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/conftest.py +0 -0
  1050. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_account_chooser_e2e.py +0 -0
  1051. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_agent_only_composer_bdd.py +0 -0
  1052. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_agentic_count_enforcement_e2e.py +0 -0
  1053. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_aisandbox_auth_live.py +0 -0
  1054. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_asset_tagging_e2e.py +0 -0
  1055. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_auth_renew_e2e.py +0 -0
  1056. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_auth_status_mcp_e2e.py +0 -0
  1057. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_auth_verification_e2e.py +0 -0
  1058. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_blocking_dialog_dismissal_bdd.py +0 -0
  1059. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_browser_proxy_e2e.py +0 -0
  1060. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_cancellation_e2e.py +0 -0
  1061. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_chain_e2e.py +0 -0
  1062. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_character_create_e2e.py +0 -0
  1063. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_character_mcp_parity_e2e.py +0 -0
  1064. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_classic_count_setter_e2e.py +0 -0
  1065. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_click_attribution_bdd.py +0 -0
  1066. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_crash_recovery_e2e.py +0 -0
  1067. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_credits_mcp_e2e.py +0 -0
  1068. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_credits_on_flow_bdd.py +0 -0
  1069. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_credits_refresh_e2e.py +0 -0
  1070. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_daemon_e2e.py +0 -0
  1071. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_data_download_e2e.py +0 -0
  1072. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_data_layer_e2e.py +0 -0
  1073. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_data_sync_names_e2e.py +0 -0
  1074. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_default_project_e2e.py +0 -0
  1075. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_e2e_env_isolation.py +0 -0
  1076. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_earlier_run_ref_in_place_bdd.py +0 -0
  1077. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_entity_provenance_e2e.py +0 -0
  1078. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_entity_smuggling_e2e.py +0 -0
  1079. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_frame_picker_binding_bdd.py +0 -0
  1080. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_i2v_flags_e2e.py +0 -0
  1081. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_image_batch_e2e.py +0 -0
  1082. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_image_download_failure_records_bdd.py +0 -0
  1083. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_image_i2i_ref_cap_e2e.py +0 -0
  1084. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_image_uuid_ref_e2e.py +0 -0
  1085. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_incident_quality_e2e.py +0 -0
  1086. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_insufficient_credits_e2e.py +0 -0
  1087. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_json_output_e2e.py +0 -0
  1088. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_landing_state_diagnosis_bdd.py +0 -0
  1089. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_live_agentic_instructions.py +0 -0
  1090. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_local_ref_uploaded_once_bdd.py +0 -0
  1091. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_locale_selectors_e2e.py +0 -0
  1092. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_login_identity_recheck_e2e.py +0 -0
  1093. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_manifest_refs_bdd.py +0 -0
  1094. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_mention_chip_order_bdd.py +0 -0
  1095. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_host_e2e.py +0 -0
  1096. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_i2v_e2e.py +0 -0
  1097. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_image_character_mention_bdd.py +0 -0
  1098. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_locale_e2e.py +0 -0
  1099. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_presubmit_gate_e2e.py +0 -0
  1100. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_refusal_live_bdd.py +0 -0
  1101. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_rpc_readback_bdd.py +0 -0
  1102. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_selector_drift_e2e.py +0 -0
  1103. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_migrated_upscale_e2e.py +0 -0
  1104. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_missing_project_e2e.py +0 -0
  1105. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_missing_project_upscale_extend_e2e.py +0 -0
  1106. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_project_create_e2e.py +0 -0
  1107. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_project_create_slow_link_e2e.py +0 -0
  1108. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_project_naming_e2e.py +0 -0
  1109. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_recaptcha_error_shape_bdd.py +0 -0
  1110. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_refresh_on_miss_e2e.py +0 -0
  1111. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_retired_labs_route_diagnosis_e2e.py +0 -0
  1112. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_run_resume_e2e.py +0 -0
  1113. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_scene_compose_live.py +0 -0
  1114. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_sidebar_recovery_e2e.py +0 -0
  1115. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_signed_url_http_error_e2e.py +0 -0
  1116. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_standalone_window_position_e2e.py +0 -0
  1117. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_t2i_batch_project_e2e.py +0 -0
  1118. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_tools_e2e.py +0 -0
  1119. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_transports_e2e.py +0 -0
  1120. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_video_extend_migrated_e2e.py +0 -0
  1121. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_video_r2v_ref_cap_e2e.py +0 -0
  1122. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_video_r2v_uuid_name_e2e.py +0 -0
  1123. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_video_t2v_e2e.py +0 -0
  1124. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/e2e/test_warm_client_upscale_e2e.py +0 -0
  1125. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/__init__.py +0 -0
  1126. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/agent_only_composer_live.feature +0 -0
  1127. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/asset_tagging.feature +0 -0
  1128. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/auth.feature +0 -0
  1129. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/auth_login.feature +0 -0
  1130. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/blocking_dialog_dismissal.feature +0 -0
  1131. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/character_create.feature +0 -0
  1132. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/character_read.feature +0 -0
  1133. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/click_attribution.feature +0 -0
  1134. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/conftest.py +0 -0
  1135. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/credits.feature +0 -0
  1136. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/credits_on_flow.feature +0 -0
  1137. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/duration_tab_drift.feature +0 -0
  1138. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/earlier_run_ref_in_place.feature +0 -0
  1139. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/entity_provenance.feature +0 -0
  1140. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/frame_picker_binding.feature +0 -0
  1141. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/image.feature +0 -0
  1142. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/image_batch_references.feature +0 -0
  1143. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/image_download_failure_records.feature +0 -0
  1144. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/image_upscale.feature +0 -0
  1145. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/incident_diagnostics.feature +0 -0
  1146. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/instructions.feature +0 -0
  1147. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/landing_state_diagnosis.feature +0 -0
  1148. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/latched_locale_recovery.feature +0 -0
  1149. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/local_ref_uploaded_once.feature +0 -0
  1150. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/locale_picker_include.feature +0 -0
  1151. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/manifest_refs_live.feature +0 -0
  1152. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/media_picker_tiers.feature +0 -0
  1153. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/mention_chip_order.feature +0 -0
  1154. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_driver.feature +0 -0
  1155. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_host_gate.feature +0 -0
  1156. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_host_images.feature +0 -0
  1157. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_i2v.feature +0 -0
  1158. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_image_character_mention.feature +0 -0
  1159. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_refusal_envelope.feature +0 -0
  1160. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_refusal_live.feature +0 -0
  1161. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_rpc_readback.feature +0 -0
  1162. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/migrated_submit_body_loss.feature +0 -0
  1163. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/output_hardening.feature +0 -0
  1164. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/recaptcha_error_shape.feature +0 -0
  1165. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_asset_tagging_steps.py +0 -0
  1166. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_auth_login_steps.py +0 -0
  1167. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_auth_steps.py +0 -0
  1168. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_character_create_steps.py +0 -0
  1169. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_character_read_steps.py +0 -0
  1170. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_credits_steps.py +0 -0
  1171. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_e2e_binding_guard.py +0 -0
  1172. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_image_steps.py +0 -0
  1173. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_image_upscale_steps.py +0 -0
  1174. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_incident_diagnostics_steps.py +0 -0
  1175. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_instructions_steps.py +0 -0
  1176. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_locale_picker_include_steps.py +0 -0
  1177. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_media_picker_tiers_steps.py +0 -0
  1178. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_migrated_driver_steps.py +0 -0
  1179. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_migrated_host_gate_steps.py +0 -0
  1180. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_migrated_host_images_steps.py +0 -0
  1181. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_migrated_i2v_steps.py +0 -0
  1182. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_migrated_refusal_envelope_steps.py +0 -0
  1183. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_output_hardening_steps.py +0 -0
  1184. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_step_collision_guard.py +0 -0
  1185. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_video_agent_ui_steps.py +0 -0
  1186. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/test_video_chain_steps.py +0 -0
  1187. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/video_agent_ui.feature +0 -0
  1188. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/features/video_chain.feature +0 -0
  1189. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/fixtures/__init__.py +0 -0
  1190. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/fixtures/changelog_modal_page.html +0 -0
  1191. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/fixtures/doctor_env.py +0 -0
  1192. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/fixtures/flow_model_inventory.json +0 -0
  1193. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/fixtures/flow_project_listing_media.json +0 -0
  1194. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/fixtures/listing_payload.py +0 -0
  1195. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/fixtures/seeded_catalog.py +0 -0
  1196. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/fixtures/settings_mock.py +0 -0
  1197. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/flow_selectors/__init__.py +0 -0
  1198. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/flow_selectors/test_grading.py +0 -0
  1199. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/flow_selectors/test_model.py +0 -0
  1200. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/flow_selectors/test_model_governance.py +0 -0
  1201. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/flow_selectors/test_registry.py +0 -0
  1202. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/flow_selectors/test_report.py +0 -0
  1203. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/image_batch/__init__.py +0 -0
  1204. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/image_batch/test_image_manifest.py +0 -0
  1205. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/image_batch/test_jitter_config.py +0 -0
  1206. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/image_batch/test_observability_events.py +0 -0
  1207. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/integration/__init__.py +0 -0
  1208. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/integration/conftest.py +0 -0
  1209. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/integration/constants.py +0 -0
  1210. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/integration/test_docs_ships_in_wheel.py +0 -0
  1211. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/integration/test_expander_gateway.py +0 -0
  1212. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/integration/test_migrated_video_storage_s3.py +0 -0
  1213. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/integration/test_storage_gcs.py +0 -0
  1214. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/integration/test_storage_s3.py +0 -0
  1215. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/__init__.py +0 -0
  1216. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/conftest.py +0 -0
  1217. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_auth_status_tool.py +0 -0
  1218. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_character_tools.py +0 -0
  1219. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_cli_parity.py +0 -0
  1220. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_credits_tool.py +0 -0
  1221. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_download_error_envelope.py +0 -0
  1222. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_error_funnel.py +0 -0
  1223. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_http_transport.py +0 -0
  1224. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_known_issues_resource.py +0 -0
  1225. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_mcp_profile_contention.py +0 -0
  1226. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_migrated_i2v_parity.py +0 -0
  1227. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_no_spend.py +0 -0
  1228. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_payload_key_round_trip.py +0 -0
  1229. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_rate_limit_envelope.py +0 -0
  1230. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_reference_entity_round_trip.py +0 -0
  1231. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_resources.py +0 -0
  1232. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_serve_auth.py +0 -0
  1233. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_server.py +0 -0
  1234. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_setup.py +0 -0
  1235. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_stdio_transport.py +0 -0
  1236. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_tools_helpers.py +0 -0
  1237. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_tools_instructions.py +0 -0
  1238. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_tools_wired.py +0 -0
  1239. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/mcp/test_upscale_tool.py +0 -0
  1240. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_analyze_agent_ui_capture.py +0 -0
  1241. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_canary_classify.py +0 -0
  1242. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_canary_reexec.py +0 -0
  1243. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_capture_locale_invariants.py +0 -0
  1244. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_capture_video_model_capability_matrix.py +0 -0
  1245. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_check_council_memory.py +0 -0
  1246. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_check_deletions.py +0 -0
  1247. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_check_fork_pr_ci.py +0 -0
  1248. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_check_materiality.py +0 -0
  1249. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_check_release_artifacts.py +0 -0
  1250. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_check_repo_hygiene.py +0 -0
  1251. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_check_test_count.py +0 -0
  1252. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_check_website_docs_pii.py +0 -0
  1253. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_cleanup.py +0 -0
  1254. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_codex_plugin.py +0 -0
  1255. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_extract_har_summary.py +0 -0
  1256. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_frame_acceptance.py +0 -0
  1257. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_generate_website_docs.py +0 -0
  1258. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_incident_bundle_quality.py +0 -0
  1259. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_materiality_backtest.py +0 -0
  1260. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_skillopt_scoring.py +0 -0
  1261. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_spike_page_pool.py +0 -0
  1262. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_spike_profile_lease.py +0 -0
  1263. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_update_sponsors.py +0 -0
  1264. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/scripts/test_workflow_hardening.py +0 -0
  1265. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/__init__.py +0 -0
  1266. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_catalog_sync.py +0 -0
  1267. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_character_create_redaction.py +0 -0
  1268. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_character_create_saga.py +0 -0
  1269. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_character_gen_no_direct_post.py +0 -0
  1270. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_credits.py +0 -0
  1271. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_doctor.py +0 -0
  1272. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_media_attribution.py +0 -0
  1273. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_media_recovery.py +0 -0
  1274. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_mentions_observability.py +0 -0
  1275. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_mentions_parse.py +0 -0
  1276. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_mentions_resolve.py +0 -0
  1277. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_reference_uploads.py +0 -0
  1278. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/services/test_resolve_and_apply.py +0 -0
  1279. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/smoke/__init__.py +0 -0
  1280. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/smoke/test_profile_account_smoke.py +0 -0
  1281. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/smoke/test_real_flow.py +0 -0
  1282. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_about_landing_guard.py +0 -0
  1283. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_auth.py +0 -0
  1284. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_batch_outcomes.py +0 -0
  1285. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_batch_recording.py +0 -0
  1286. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_batch_ref_wiring.py +0 -0
  1287. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_browser_manager.py +0 -0
  1288. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_browser_proxy.py +0 -0
  1289. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_chain.py +0 -0
  1290. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_chain_manifest.py +0 -0
  1291. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_cli_data.py +0 -0
  1292. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_cli_project.py +0 -0
  1293. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_cli_update.py +0 -0
  1294. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_config.py +0 -0
  1295. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_config_agent_confirm.py +0 -0
  1296. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_conftest_isolation.py +0 -0
  1297. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_data_queries.py +0 -0
  1298. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_diagnostics_bundle.py +0 -0
  1299. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_diagnostics_events.py +0 -0
  1300. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_diagnostics_journal.py +0 -0
  1301. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_diagnostics_recorder.py +0 -0
  1302. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_diagnostics_retention.py +0 -0
  1303. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_diagnostics_sanitize.py +0 -0
  1304. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_dockerfile_version_pin.py +0 -0
  1305. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_documentation_gate.py +0 -0
  1306. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_duration_tab_drift.py +0 -0
  1307. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_e2e_env_home.py +0 -0
  1308. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_entity_provenance.py +0 -0
  1309. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_errors.py +0 -0
  1310. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_errors_classification.py +0 -0
  1311. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_glama_build_spec.py +0 -0
  1312. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_image_batch_references.py +0 -0
  1313. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_image_download_failure_records.py +0 -0
  1314. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_incident_generation_requests.py +0 -0
  1315. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_json_output.py +0 -0
  1316. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_manifest_refs.py +0 -0
  1317. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_marker_registry.py +0 -0
  1318. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_media.py +0 -0
  1319. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_observability.py +0 -0
  1320. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_overlay_banner_dismissal.py +0 -0
  1321. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_paths.py +0 -0
  1322. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_playwright_pin.py +0 -0
  1323. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_plugin_manifests.py +0 -0
  1324. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_profile_lease.py +0 -0
  1325. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_profile_lease_subprocess.py +0 -0
  1326. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_profile_store.py +0 -0
  1327. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_profile_store_locale.py +0 -0
  1328. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_project_list_urls.py +0 -0
  1329. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_release_version_sites.py +0 -0
  1330. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_rich_markup_safety.py +0 -0
  1331. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_self_documenting_errors.py +0 -0
  1332. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_server_json.py +0 -0
  1333. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_smoke.py +0 -0
  1334. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_storage_write_error.py +0 -0
  1335. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/test_update_check.py +0 -0
  1336. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/tools/__init__.py +0 -0
  1337. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/tools/test_banned.py +0 -0
  1338. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/tools/test_expander.py +0 -0
  1339. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/tools/test_invocation.py +0 -0
  1340. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/tools/test_loader.py +0 -0
  1341. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/tools/test_registry.py +0 -0
  1342. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/tools/test_runtime.py +0 -0
  1343. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/tools/test_spec.py +0 -0
  1344. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/ui/test_app.py +0 -0
  1345. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/worker/test_codec.py +0 -0
  1346. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/worker/test_codec_image_ref_project.py +0 -0
  1347. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/worker/test_daemon.py +0 -0
  1348. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/worker/test_mcp_daemon_race.py +0 -0
  1349. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/worker/test_queue.py +0 -0
  1350. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/worker/test_queue_multiprocess.py +0 -0
  1351. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/tests/worker/test_queue_reconciliation.py +0 -0
  1352. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/ACCOUNT_SAFETY.md +0 -0
  1353. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/ARCHITECTURE.md +0 -0
  1354. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/AUTHENTICATION.md +0 -0
  1355. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/CHARACTER.md +0 -0
  1356. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/DATA_LAYER.md +0 -0
  1357. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/DEBUGGING.md +0 -0
  1358. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/E2E_TESTING.md +0 -0
  1359. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/EXTERNAL_STORAGE.md +0 -0
  1360. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/INSTRUCTIONS.md +0 -0
  1361. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/MEDIA_LIBRARY.md +0 -0
  1362. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/MOVIE.md +0 -0
  1363. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/PROMPT_EXPANSION.md +0 -0
  1364. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/SECURITY.md +0 -0
  1365. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/SPONSORS.md +0 -0
  1366. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/TOOLS.md +0 -0
  1367. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/USER_GUIDE.md +0 -0
  1368. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/agents.md +0 -0
  1369. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/index.md +0 -0
  1370. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/installation.md +0 -0
  1371. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/onboarding-mockup.html +0 -0
  1372. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/onboarding.md +0 -0
  1373. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/docs/stylesheets/extra.css +0 -0
  1374. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/mkdocs.yml +0 -0
  1375. {gflow_cli-0.90.0 → gflow_cli-0.91.0}/website/requirements.in +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gflow",
3
- "version": "0.90.0",
3
+ "version": "0.91.0",
4
4
  "description": "Reusable development and operations workflows for gflow-cli",
5
5
  "author": {
6
6
  "name": "Flavio Oliva",
@@ -208,11 +208,11 @@
208
208
  # GFLOW_CLI_FLOW_HOST=auto
209
209
 
210
210
  # Agent-only composer (#799): "Confirm before generating" applied before a run.
211
- # account (default): leave the Flow account's setting; gflow approves one
212
- # confirmation its own submit produced and stops on a second. Only that second
213
- # one is stopped before billing: one confirmation can cover several clips, and an
214
- # over-count under it is caught after the fact.
215
- # always: set Always. never: set Never — no approval step, so an agent that
211
+ # account (default): leave the Flow account's setting. A confirmation its own
212
+ # submit produced is read first: one that quotes more than requested is rejected
213
+ # (#988), a video one whose count cannot be read is not approved, any other is
214
+ # approved; a second one is never approved.
215
+ # always: set Always. never: set Never — no confirmation and no count check, so an agent that
216
216
  # queues more than asked is only caught after credits are spent.
217
217
  # Saved to the Flow account and not restored after the run.
218
218
  # GFLOW_CLI_AGENT_CONFIRM=account
@@ -44,7 +44,7 @@ by construction, so Codex / Cursor / Aider / `agy` read exactly what Claude Code
44
44
 
45
45
  ## Project at a glance
46
46
 
47
- - Python CLI and MCP server for [Google Flow](https://labs.google/fx/tools/flow) — drives Veo (image-to-video, text-to-video) and Imagen (text-to-image) generations from the terminal by reverse-engineering Flow's private REST API at `aisandbox-pa.googleapis.com` — and, for accounts Google has moved to `flow.google.com`, that frontend's `batchexecute` wire (text-to-video, image-to-video from a local `--initial-frame`, reference-to-video from local `--ref` files, and text-to-image/local-file image-to-image with `@Character` mentions by name, and a single-segment `video extend`, today — an agent-only composer, #799, takes text-to-image and text-to-video only; `GFLOW_CLI_FLOW_HOST`).
47
+ - Python CLI and MCP server for [Google Flow](https://labs.google/fx/tools/flow) — drives Veo (image-to-video, text-to-video) and Imagen (text-to-image) generations from the terminal by reverse-engineering Flow's private REST API at `aisandbox-pa.googleapis.com` — and, for accounts Google has moved to `flow.google.com`, that frontend's `batchexecute` wire (text-to-video, image-to-video from a local `--initial-frame`, reference-to-video from local `--ref` files and/or a named character, and text-to-image/local-file image-to-image with `@Character` mentions by name, and a single-segment `video extend`, today — an agent-only composer, #799, takes text-to-image and text-to-video only; `GFLOW_CLI_FLOW_HOST`).
48
48
  - Python 3.11+ · `uv`-managed · `hatchling` builds · Playwright Chromium transport · `pyright` strict · `ruff` · `pytest`.
49
49
  - Single-package modular monolith. Top-level modules under `src/gflow_cli/`: `api/`, `auth/`, `data/`, `mcp/`, `services/`, `tools/`, `ui/`, `worker/`, `browser_manager.py`, `cli.py`, `_cli_helpers.py`, `diagnostics.py`, `json_output.py`, `media.py`, `profile_lease.py`, `redaction.py`, `storage.py`, `winsec.py`, `cli_project.py`, `cli_character.py`, `cli_credits.py`, `cli_data.py`, `cli_image.py`, `cli_instructions.py`, `cli_models.py`, `cli_movie.py`, `cli_run.py`, `cli_scene.py`, `cli_tools.py`, `cli_video.py`, `chain.py`, `chain_manifest.py`, `cli_doctor.py`, `cli_docs.py`, `docs_catalog.py`, `cli_update.py`, `composition.py`, `config.py`, `errors.py`, `file_integrity.py`, `flow_selectors/`, `update_check.py`, `exceptions.py`, `image_batch.py`, `movie_manifest.py`, `observability.py`, `paths.py`, `profile_store.py`.
50
50
  - Command surface: `gflow auth` (login/status/renew/list/use/logout — `renew` refreshes saved sessions headlessly, no sign-in), `gflow credits` (user/list — Veo balance; read from flow.google.com's own balance reply in the profile's browser, #795; read-only unless `--refresh`, which renews signed-out sessions first), `gflow image` (t2i/i2i/batch/upload/upscale), `gflow video` (t2v/i2v/r2v/chain/extend/upscale — `extend` continues an existing clip past Flow's 8s ceiling, server-seeded from the source so the join is continuous; `upscale` exports to 1080p, 720p, or 270p GIF; no `batch` subcommand; the nonfunctional stub was removed, loop `gflow video t2v`/`i2v` from the shell for multi-clip runs), `gflow character` (create/list/show/rm/voices — reusable project-scoped Flow Character entities), `gflow scene` (create/show — Add Clip / Scenes, with `create --output` for credit-free server-side extended video), `gflow instructions` (persistent Agent-Mode brief cards — add/list/enable/disable/rm/apply/toggle-mode, credits-free, `--project` required), `gflow movie` (run/template — multi-scene manifest pipeline), `gflow tools` (list/show/run — prompt-rewriting tools, also `--tool` on generation commands), `gflow data` (catalog queries), `gflow docs` (browse the bundled documentation — bare lists every topic, `gflow docs <topic>` prints one as Markdown, `gflow docs --search TERM` searches all of them; there are **no** `list`/`print`/`search` subcommands — read-only, offline, deliberately no MCP twin), `gflow doctor` (read-only pre-flight diagnostic, exit 33 = findings present), `gflow update` (self-update through the installer that put it here — uv tool / pipx / pip; `--check` only reports; source installs refused, exit 11; deliberately no MCP twin), `gflow project`, `gflow models`, `gflow run` (JSON image-batch config; a row may generate from an earlier row with `"ref": "batch:N"`, referenced in place, no upload, or from a local image file, uploaded once per run), `gflow mcp` (run/setup — stdio MCP server), and `gflow serve` (Streamable HTTP at `/mcp`; `--transport sse` is deprecated).
@@ -81,6 +81,7 @@ uv run python scripts/ci/check_doc_links.py
81
81
  uv run python scripts/ci/check_website_docs_pii.py
82
82
  uv run python scripts/ci/generate_website_docs.py --check
83
83
  uv run python scripts/ci/check_council_memory.py
84
+ uv run python scripts/ci/generate_plugin_skills.py --check
84
85
  uv run ruff check src tests
85
86
  uv run ruff format --check src tests
86
87
  uv run pyright src
@@ -94,13 +95,17 @@ the five other mirror axes), which no command here can check and no CI gate can
94
95
  > **Do not trim this list again.** It previously omitted
95
96
  > `generate_website_docs.py --check`, so an agent following AGENTS.md instead of the skill
96
97
  > shipped a stale `website/docs/` mirror to a green local run and a red CI (#626 session,
97
- > 2026-09-02). Two lists that disagree means the shorter one is silently wrong.
98
+ > 2026-09-02). Two lists that disagree means the shorter one is silently wrong. It
99
+ > happened again with `generate_plugin_skills.py --check`: an edit to
100
+ > `skills/gflow-cli/SKILL.md` passed every gate here and failed CI, because the plugin
101
+ > ships a byte copy of that file (#988, 2026-10-26). The CI workflow is the source; this
102
+ > list follows it.
98
103
 
99
104
  - Use `pytest -m "not live and not e2e and not smoke"` locally; full suite OOMs on small dev machines. Scope to changed dirs; trust CI for the full sweep.
100
105
  - **Parallel runs (`pytest-xdist`):** add `-n 8` (or `-n auto`) to cut the offline suite from ~390 s to ~200 s. Every worker is a full process, so cap `-n` on a small machine. CI runs `-n auto`. A test that passes alone but fails under `-n` shares state with another test: **fix the shared state** (two measured cases: `tests/mcp/conftest.py` and `test_every_shipped_skill_is_byte_identical_to_its_source`). If two tests genuinely need the same exclusive resource (a fixed port, a file lock), mark both `@pytest.mark.xdist_group("<resource>")` so they run on one worker, one after another, while the rest stays parallel.
101
106
  - TDD is non-negotiable. Coverage floor: 80% overall.
102
107
  - Documentation is a first-class deliverable. Every behavior, workflow, config, or operator-facing change must update the relevant docs or state why no docs changed in the PR/checklist. `scripts/ci/check_doc_links.py` is a merge gate.
103
- - **A PR is not done until its SonarCloud gate is green (zero new issues).** The nine gates above are local/pre-commit; SonarCloud is server-side and runs in CI (`sonar.qualitygate.wait=true` → a red gate turns the `SonarCloud analysis` check red). Before calling a PR merge-ready, verify it with `/gflow:sonar <N>` (it is skipped on fork PRs — maintainer-checked there).
108
+ - **A PR is not done until its SonarCloud gate is green (zero new issues).** The ten gates above are local/pre-commit; SonarCloud is server-side and runs in CI (`sonar.qualitygate.wait=true` → a red gate turns the `SonarCloud analysis` check red). Before calling a PR merge-ready, verify it with `/gflow:sonar <N>` (it is skipped on fork PRs — maintainer-checked there).
104
109
  - **E2E is the decisive layer, and it is required for every behavior change that touches a Flow surface.** Run the `tests/e2e/` test that covers the change, or write one — offline-green proves only that *our* code does what we think, never that Flow still behaves as captured. `/gflow:live-verify` does **not** satisfy this: it drives CLI commands by hand into a gitignored note and never runs `pytest -m e2e`. The two are complementary — an e2e test is a re-runnable regression, a live-verify ledger is a narrative record. A change touching no Flow surface at all (docs, help text, exit-code plumbing) is out of scope — say so explicitly rather than leaving it blank. Anything else follows the **Iron Law** above: run it, or name the external blocker that stops you. "A maintainer will run it" is a handoff, not a verification, and is only available once the blocker is named.
105
110
  - E2E tests require `GFLOW_CLI_E2E_PROFILE` and `-m e2e` (excluded from the default `addopts`, so they never run by accident). Cost sub-markers: `e2e_auth` (zero credits, browser only), `e2e_image` (zero credits, daily cap), `e2e_scene`, `e2e_data`, `e2e_batch`, `e2e_character` (opt in with `GFLOW_CLI_E2E_RUN_CHARACTER=1`), the migrated refusal e2e (`e2e_image`, opt in with `GFLOW_CLI_E2E_RUN_REFUSAL=1` — it sends one corrupted reCAPTCHA token, so run it on a probe profile), the slow-link project create (`e2e_auth`, opt in with `GFLOW_CLI_E2E_RUN_SLOW_LINK=1` — each test leaves an empty project), `e2e_video` (spends Veo credits — opt in with `GFLOW_CLI_E2E_RUN_VIDEO=1`). Redact account identifiers and any token or cookie value before pasting output into a PR.
106
111
  - Live tests (`@pytest.mark.live`) opt in via `GFLOW_LIVE=1`.
@@ -7,6 +7,72 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.91.0] — 2026-10-28
11
+
12
+ ### Fixed
13
+
14
+ - **A video whose submit reply Chrome lost now finishes with its clip on flow.google.com**
15
+ ([#1112](https://github.com/ffroliva/gflow-cli/issues/1112)). About 1 in 7 r2v submits
16
+ lost the reply body while Flow made and billed the clip, and gflow ended with exit 9. A
17
+ run that uploaded a file (`--ref`, `--initial-frame`, `--end-frame`) now picks its clip
18
+ out of Flow's status replies by that upload's id, or out of the project listing in a
19
+ second tab, and downloads it, without submitting again. Text-to-video and character-only
20
+ r2v runs upload nothing unique, so they still exit 9 (`retryable: false`).
21
+
22
+ - **Reference-to-video with a character now runs on flow.google.com**
23
+ ([#723](https://github.com/ffroliva/gflow-cli/issues/723)). Local-file `video r2v` with
24
+ `--reference-entity` paired with `--reference-entity-name` is served on the migrated host:
25
+ the character is attached through the composer's `@` picker, its chip is verified before
26
+ the billed click, and the submit body must carry its entity id beside every uploaded
27
+ image, or the run is refused before Flow acts on it. An MCP r2v whose only reference is a
28
+ character had no submit-body check at all before. The refusal rested on a null submit reply measured on
29
+ 2026-09-07; on 2026-10-26 an entity-bound r2v run completed end to end through the stock
30
+ observer. An entity id without a name now exits 36 with that reason instead of failing
31
+ later on a chip-count mismatch. Text-to-video with a character stays refused (exit 36,
32
+ [#716](https://github.com/ffroliva/gflow-cli/issues/716)); image-to-video with a character is refused the same way.
33
+
34
+ - **MCP `wait=false` generations now run**
35
+ ([#1097](https://github.com/ffroliva/gflow-cli/issues/1097)). Before, `gflow_generate_image`
36
+ and `gflow_generate_video` with `wait=false` saved the job and returned a `task_id`, but no
37
+ gflow command ever ran it: `tasks/get` said `working` forever. The job now runs in the
38
+ background of the server that accepted it, one job at a time per profile within that
39
+ server, sharing the
40
+ profile with `wait=true` calls. Once it has finished, `tasks/get` carries the same reply
41
+ `wait=true` would (files, project id, seed). `tasks/cancel` now stops the job instead of only
42
+ relabelling its row, and a job cancelled after its submit fired is recorded as
43
+ `indeterminate` (a credit may be spent), not `failed`; `tasks/get` then answers
44
+ `cancelled`. When the client closes a stdio
45
+ server or `gflow serve` stops, running jobs are cancelled and recorded the same way.
46
+ Jobs queued by older releases are never picked up. See [MCP](docs/MCP.md).
47
+
48
+ ### Changed
49
+
50
+ - **MCP `tasks/get` and `tasks/cancel` now speak SEP-2663**, the Tasks extension the server
51
+ declares ([#1102](https://github.com/ffroliva/gflow-cli/issues/1102)). They used the shapes
52
+ of the older 2025-11-25 tasks spec. `tasks/get` now sends `ttlMs` (null: rows do not
53
+ expire) instead of `ttl: 3600`, and carries the finished tool result in a `result` field. A
54
+ generation that failed now reads `completed` with `result.isError: true` instead of
55
+ `failed`, because SEP-2663 keeps `failed` for protocol errors: **check `isError`**.
56
+ `tasks/cancel` answers with an empty acknowledgement instead of a task; read the outcome
57
+ from `tasks/get`. There is no `tasks/result`; the server answers it `-32601`.
58
+
59
+ - **Dependencies:** `pydantic-settings` 2.16.0 → 2.16.1, `platformdirs` 4.13.3 → 4.13.5,
60
+ `fastapi` 0.143.2 → 0.161.1, and the dev tool `ruff` 0.17.1 → 0.17.2
61
+ ([#1104](https://github.com/ffroliva/gflow-cli/pull/1104)).
62
+
63
+ ### Security
64
+
65
+ - **The agent-only composer reads a credit confirmation before approving it**
66
+ ([#988](https://github.com/ffroliva/gflow-cli/issues/988)). On an account Flow serves the
67
+ agent-only composer, one confirmation can bill several generations, and gflow used to
68
+ approve the first one without reading it, so an agent that queued too much was caught only
69
+ after the credits were spent. gflow now reads the numbers in the confirmation's title and
70
+ **rejects** one that quotes more than requested (exit 25, nothing approved). A video
71
+ confirmation whose count cannot be read is not approved either. This matters most over MCP,
72
+ where the prompt may come from an untrusted source. Measured on English and Russian titles
73
+ from a contributor's account; not yet run on a maintainer account, because none is served
74
+ this composer.
75
+
10
76
  ## [0.90.0] — 2026-10-25
11
77
 
12
78
  ### Added
@@ -6667,7 +6733,8 @@ shell-script template that branches on these codes.
6667
6733
 
6668
6734
  First skeleton. Not functional end-to-end yet.
6669
6735
 
6670
- [Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.90.0...HEAD
6736
+ [Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.91.0...HEAD
6737
+ [0.91.0]: https://github.com/ffroliva/gflow-cli/compare/v0.90.0...v0.91.0
6671
6738
  [0.90.0]: https://github.com/ffroliva/gflow-cli/compare/v0.89.1...v0.90.0
6672
6739
  [0.89.1]: https://github.com/ffroliva/gflow-cli/compare/v0.89.0...v0.89.1
6673
6740
  [0.89.0]: https://github.com/ffroliva/gflow-cli/compare/v0.88.0...v0.89.0
@@ -208,6 +208,7 @@ uv run python scripts/ci/check_doc_links.py # internal Markdown links
208
208
  uv run python scripts/ci/check_website_docs_pii.py # no private identifiers in website/docs
209
209
  uv run python scripts/ci/generate_website_docs.py --check # website mirror in sync
210
210
  uv run python scripts/ci/check_council_memory.py # council memory slugs resolve both ways
211
+ uv run python scripts/ci/generate_plugin_skills.py --check # shipped plugin skills match skills/
211
212
  uv run ruff check src tests # lint
212
213
  uv run ruff format --check src tests # formatting
213
214
  uv run pyright src # type-check (strict on src/gflow_cli/)
@@ -243,7 +244,7 @@ contributor is blocked for lacking the plugin.
243
244
 
244
245
  ### SonarCloud quality gate
245
246
 
246
- On top of the six gates, CI runs a **SonarCloud** analysis whose quality gate must be
247
+ On top of the ten gates, CI runs a **SonarCloud** analysis whose quality gate must be
247
248
  **green** before a PR is merge-ready — the target is **zero new issues** on changed code
248
249
  (new bugs, vulnerabilities, and code smells = 0; coverage of new lines ≥ 80%; security
249
250
  hotspots reviewed = 100%). The local `--cov-fail-under=80` gate already pre-empts the
@@ -48,7 +48,7 @@ close Chrome yourself. On the measured account, `/about` was gone on the next ru
48
48
 
49
49
  ### Flow is migrating to `flow.google.com`; generation coverage is partial but includes images
50
50
 
51
- - **Status:** Open (partially resolved) · **Severity:** High for unported forms · **Affected:** on accounts the rollout has reached, `gflow video t2v`, local-file `video i2v` / `r2v`, `gflow image t2i`, local-file `gflow image i2i`, and a **single-segment** `gflow video extend` (#882: Flow's own Extend control, driven from the clip editor) now run on the migrated host. Image mode supports Nano Banana 2.1 (`nano2`, which replaced Nano Banana 2 there, #958) / 2 Lite / Pro, all five aspect ratios its radiogroup renders (16:9, 4:3, 1:1, 3:4, 9:16 — 3:4 appeared by 2026-09-17, #864), and count 1–4. Image prompts can tag a **character** with `@Name` / `--reference-entity` + `--reference-entity-name` since #723 (attached through the composer's `@` picker; an id without a name exits 36; video is unchanged). That matrix is the **classic** migrated composer's. On an **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gflow drives `image t2i` (all five aspects; count 1–4) and `video t2v` (one 9:16 or 16:9 clip) only — i2i, i2v, r2v and character references are refused there before anything is clicked. Image refs by UUID (except one the local catalog records in the same `--project`, referenced in place since #995), video `@Name` / `--reference-entity`, Agent instructions, Imagen 4, video frame refs by UUID/name, scenes, chained extend (`-n > 1`, `--scene`/`--resume-from`, `--seed`, an `--aspect` other than the source clip's), instructions and tools are not ported yet and fail before submit. **`character create` worked on the migrated host until its labs `createEntity` route was retired:** measured 2026-10-14 on a profile served flow.google.com, it exits 7 with "Flow RPCs have been deprecated" (404). `character list` does NOT: it reads the retired labs `projectInitialData` route and exits 7, measured 2026-09-20 both on `auto` and with `GFLOW_CLI_FLOW_HOST=flow.google.com` (#875). Of the remainder, only the i2v-by-UUID case rests on a positive observation of absence (the Frames picker tiles carry no media id); `scenes`, multi-segment `extend` (`-n > 1`, `--scene`/`--resume-from`, `--seed`), `instructions` and `tools` remain *unported by gflow*, never proven impossible on the host.
51
+ - **Status:** Open (partially resolved) · **Severity:** High for unported forms · **Affected:** on accounts the rollout has reached, `gflow video t2v`, local-file `video i2v` / `r2v`, `gflow image t2i`, local-file `gflow image i2i`, and a **single-segment** `gflow video extend` (#882: Flow's own Extend control, driven from the clip editor) now run on the migrated host. Image mode supports Nano Banana 2.1 (`nano2`, which replaced Nano Banana 2 there, #958) / 2 Lite / Pro, all five aspect ratios its radiogroup renders (16:9, 4:3, 1:1, 3:4, 9:16 — 3:4 appeared by 2026-09-17, #864), and count 1–4. Image prompts can tag a **character** with `@Name` / `--reference-entity` + `--reference-entity-name` since #723 (attached through the composer's `@` picker; an id without a name exits 36). Local-file `video r2v` takes a character the same way, by `--reference-entity` + `--reference-entity-name` (#723). That matrix is the **classic** migrated composer's. On an **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gflow drives `image t2i` (all five aspects; count 1–4) and `video t2v` (one 9:16 or 16:9 clip) only — i2i, i2v, r2v and character references are refused there before anything is clicked. Image refs by UUID (except one the local catalog records in the same `--project`, referenced in place since #995), video `@Name`, `--reference-entity` on t2v/i2v, Agent instructions, Imagen 4, video frame refs by UUID/name, scenes, chained extend (`-n > 1`, `--scene`/`--resume-from`, `--seed`, an `--aspect` other than the source clip's), instructions and tools are not ported yet and fail before submit. **`character create` worked on the migrated host until its labs `createEntity` route was retired:** measured 2026-10-14 on a profile served flow.google.com, it exits 7 with "Flow RPCs have been deprecated" (404). `character list` does NOT: it reads the retired labs `projectInitialData` route and exits 7, measured 2026-09-20 both on `auto` and with `GFLOW_CLI_FLOW_HOST=flow.google.com` (#875). Of the remainder, only the i2v-by-UUID case rests on a positive observation of absence (the Frames picker tiles carry no media id); `scenes`, multi-segment `extend` (`-n > 1`, `--scene`/`--resume-from`, `--seed`), `instructions` and `tools` remain *unported by gflow*, never proven impossible on the host.
52
52
  - **Tracked:** [#639](https://github.com/ffroliva/gflow-cli/issues/639) · Reported 2026-09-02 against 0.59.0, 0.62.1, 0.63.0 and 0.65.0
53
53
  - **Confirmed live 2026-09-03 on a second, independent account** (`ffroliva`) — see [LIVE_VERIFICATION_v0.66.0](docs/LIVE_VERIFICATION_v0.66.0.md). A read-only probe of the migrated origin measured `i_total: 0`, reproducing the reporter's central measurement.
54
54
  - **`--reference-entity` was refused on `r2v` but not on `t2v`** ([#716](https://github.com/ffroliva/gflow-cli/issues/716), fixed in v0.71.0): the "not ported, exit 36" refusal above sat inside the r2v branch of the routing gate, so a `t2v` request carrying a character entity returned from that gate without its entities ever being inspected — and nothing downstream attaches one on this host. The generation was **submitted and billed** with the entity silently dropped, returning a plausible clip of the wrong person. The check is now mode-independent and ahead of every early return. If you ran `gflow video t2v @Name …` or `--reference-entity` on a moved account before this fix, the identity in those clips was never bound.
@@ -850,7 +850,7 @@ The contrasting message, **`no upload request ever left the page`**, means somet
850
850
 
851
851
  ### Chrome loses a reply body although Flow saved the write (migrated host)
852
852
 
853
- - **Status:** Mitigated · **Severity:** Medium (intermittent; the write usually saved) · **Affects:** the migrated `flow.google.com` host, local uploads (`--initial-frame`, `--ref`, `i2i` files), project create and rename, image submits · **Tracked:** [#1009](https://github.com/ffroliva/gflow-cli/issues/1009), [#1075](https://github.com/ffroliva/gflow-cli/issues/1075)
853
+ - **Status:** Mitigated · **Severity:** Medium (intermittent; the write usually saved) · **Affects:** the migrated `flow.google.com` host, local uploads (`--initial-frame`, `--ref`, `i2i` files), project create and rename, image submits, video submits · **Tracked:** [#1009](https://github.com/ffroliva/gflow-cli/issues/1009), [#1075](https://github.com/ffroliva/gflow-cli/issues/1075), [#1112](https://github.com/ffroliva/gflow-cli/issues/1112)
854
854
 
855
855
  Distinct from #719 above, where no reply arrives at all. Here the reply arrives, but Chrome cannot hand its body over: `Network.getResponseBody: No data found for resource with given identifier`. Our spike saw it on 2 of 45 real `maseQ` uploads, and a fresh reload found both uploads saved ([spike](docs/superpowers/spikes/2026-10-20-migrated-upload-reply-body-eviction.md)). Before the fix, gflow reported the upload as a refused file (exit 27).
856
856
 
@@ -858,7 +858,9 @@ A project create or rename whose reply is late, not lost, takes the same path: o
858
858
 
859
859
  **Mitigation:** gflow now opens the project in a second tab and reads the outcome back: the new project's id, the saved title, or exactly one tile with the run's unique file name and a media id. Nothing is submitted twice. The readback can take up to about two minutes on a slow page.
860
860
 
861
- **Image submits (since v0.89.1, [#1075](https://github.com/ffroliva/gflow-cli/issues/1075)).** Flow had made the image every reported time. gflow now reads the run's new tile(s) off the project grid and downloads them, taking exactly the requested count once it holds still for a few seconds; an i2i reference is never counted. Any other count, or a grid it cannot read, still ends in exit **9** (`retryable: false`) naming the project page, and so does a lost **video** submit reply: check the project before re-running.
861
+ **Image submits (since v0.89.1, [#1075](https://github.com/ffroliva/gflow-cli/issues/1075)).** Flow had made the image every reported time. gflow now reads the run's new tile(s) off the project grid and downloads them, taking exactly the requested count once it holds still for a few seconds; an i2i reference is never counted. Any other count, or a grid it cannot read, still ends in exit **9** (`retryable: false`) naming the project page: check the project before re-running.
862
+
863
+ **Video submits ([#1112](https://github.com/ffroliva/gflow-cli/issues/1112)).** About 1 in 7 r2v submits lost this reply in a 21-clip run, and Flow made and billed every one. A video run that uploaded a file (`--ref`, `--initial-frame`, `--end-frame`) is now followed to its clip: Flow's own status replies name the clip by the id of that upload, and if none does within a minute, gflow reads the project listing in a second tab. The run then finishes and downloads as usual, with one `migrated.video_submit_reply_lost` warning and no second submit ([spike](docs/superpowers/spikes/2026-10-27-lost-video-submit-recovery.md)). A text-to-video run, or an r2v run with characters only, uploads nothing that tells its clip apart from the project's other clips, so it still ends in exit **9** (`retryable: false`) naming the project. So does a run where two clips carry the upload, or none appears in time. Check the project before re-running.
862
864
 
863
865
  **If it cannot confirm the outcome**, the command exits **7** with `RpcResponseUnavailableError` (`retryable: false`). The write may have saved. Open the project on flow.google.com and look for the title or the file name in the error before you re-run, or you may get a duplicate project or upload. `gflow run` does not re-upload a reference file after this error in the same run.
864
866
 
@@ -953,6 +955,18 @@ The worker queue (`generation_queue`, used by the `gflow serve` daemon and MCP t
953
955
 
954
956
  **Decision (2026-07-21):** keep the safe stub — `recover_processing` marks post-submit interruptions `indeterminate` and never auto-resubmits, which is already correct. Building the auto-reconciler is deferred until **F1** (credit-free project-page re-entry) is confirmed against live Flow; until then a blind reconciler would be speculative code against unverified blackbox behavior. The `client` reconcile-hook seam and the live-gated `tests/e2e/test_crash_recovery_e2e.py` are already in place for when F1 lands.
955
957
 
958
+ **A server that is killed, not stopped (#1097).** An MCP `wait=false` job runs inside the
959
+ `gflow mcp run` / `gflow serve` process that accepted it. Closing the client, or stopping
960
+ `gflow serve`, cancels it and records the truthful state above. A process killed outright
961
+ (`taskkill /F`, `kill -9`, a crashed client host) records nothing, so its row stays
962
+ `processing` and `tasks/get` keeps answering `working`. A job killed before it was picked
963
+ up stays `pending` the same way; `tasks/cancel` clears that one. Two narrower cases end the
964
+ same way: a job whose browser takes longer than 10 s to close during shutdown, and a
965
+ `tasks/cancel` sent to a server other than the one running the job (each server can stop
966
+ only its own jobs; it reports the row's real status instead). Reconcile it by hand as below.
967
+ Nothing resets such rows on its own: a startup sweep would also fail a job that another
968
+ live `gflow mcp run` (one per client session) is still running.
969
+
956
970
  **Manual reconciliation:** an `indeterminate` row's checkpoint retains whatever handle/project info was captured before interruption. To resolve one by hand: open the relevant Flow project in the browser and check whether the expected asset appears.
957
971
  - **Found** — the generation completed; no action needed (the credit was spent as intended, just not auto-recorded locally).
958
972
  - **Not found after a few minutes** — it likely never completed; safe to resubmit the same prompt manually.
@@ -1402,8 +1416,9 @@ aspect / model / count are Agent-settings **defaults** rather than per-request c
1402
1416
  Agent settings, saves, sends a natural-language request to the agent, and **restores those
1403
1417
  three defaults afterwards**. "Confirm before generating" follows
1404
1418
  [`GFLOW_CLI_AGENT_CONFIRM`](docs/CONFIGURATION.md#gflow_cli_agent_confirm) and is not restored.
1405
- With a confirmation step, gflow approves exactly one that its own submit produced and stops
1406
- without approving a second. Live-verified 2026-09-15 on a Google AI Pro account (`en`):
1419
+ With a confirmation step, gflow reads the count of the one its own submit produced, approves
1420
+ it only when that count is within the request, and stops without approving a second (see
1421
+ the confirmation bullet below, #988). Live-verified 2026-09-15 on a Google AI Pro account (`en`):
1407
1422
  t2i 3:4 × 2 (896×1200 each), t2v 4 s 9:16 (ready 69 s after submit, MP4 downloaded).
1408
1423
 
1409
1424
  **Not driven yet on this composer** (exit 36, before anything is clicked): image-to-image,
@@ -1421,12 +1436,17 @@ video per request.
1421
1436
  `img[data-media-id]`; gflow downloads the original size by rewriting the size spec to `=s0`.
1422
1437
  - The request text is English. Whether the agent honours it on a non-English account is
1423
1438
  unmeasured (the original reporter's account is `ru`).
1424
- - **The confirmation step does not bound the spend of the first ask.** gflow approves the
1425
- first confirmation without reading the count it names, and one confirmation can cover
1426
- several generations. Only a *second* confirmation is stopped before billing; an agent that
1427
- queues more than requested under the first is detected after the fact (more clips pending,
1428
- or more images on the grid, than requested), with the credits already spent — even with
1429
- `GFLOW_CLI_AGENT_CONFIRM=always`.
1439
+ - **The confirmation is read before it is approved
1440
+ ([#988](https://github.com/ffroliva/gflow-cli/issues/988)).** One confirmation can cover
1441
+ several generations, so gflow reads the numbers in its title (count first, credits last,
1442
+ measured on English and Russian) and **rejects** it when it quotes more than requested:
1443
+ nothing is approved, exit 25. A video confirmation whose numbers cannot be read is not
1444
+ approved either (exit 25; it stays open in Flow — reject it there). Not yet measured: the
1445
+ wording of a confirmation for several clips, and of an image confirmation; an image one
1446
+ that cannot be read is approved, and more images than requested still fail the run after
1447
+ the fact. Only a confirmation is checked: with `GFLOW_CLI_AGENT_CONFIRM=never`, or an
1448
+ account set to Never under `account`, Flow asks nothing, and an over-count is detected
1449
+ only after the credits are spent.
1430
1450
  - An image whose orientation does not match the requested aspect is kept (the run is
1431
1451
  billed and the file is valid) and logged as `migrated.agent_only.aspect_mismatch`.
1432
1452
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: gflow-cli
3
- Version: 0.90.0
3
+ Version: 0.91.0
4
4
  Summary: CLI and MCP server for Google Flow — drive Veo text-to-video, image-to-video and Imagen image generation from the terminal.
5
5
  Project-URL: Homepage, https://github.com/ffroliva/gflow-cli
6
6
  Project-URL: Documentation, https://ffroliva.github.io/gflow-cli/
@@ -75,7 +75,7 @@ Requires-Dist: pyright>=1.1.0; extra == 'dev'
75
75
  Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
76
76
  Requires-Dist: pytest-xdist>=3.6; extra == 'dev'
77
77
  Requires-Dist: pytest>=8.0.0; extra == 'dev'
78
- Requires-Dist: ruff==0.17.1; extra == 'dev'
78
+ Requires-Dist: ruff==0.17.2; extra == 'dev'
79
79
  Provides-Extra: gcs
80
80
  Requires-Dist: gcsfs>=2024.2.0; extra == 'gcs'
81
81
  Requires-Dist: universal-pathlib>=0.2.5; extra == 'gcs'
@@ -245,7 +245,7 @@ gflow CLI → Provider (interchangeable) → Flow (ui_automation) / Mock (te
245
245
 
246
246
  **Current transport:** `ui_automation` drives Flow through a persistent Playwright Chromium profile. It is production-stable and verified end-to-end every release (see the per-release `LIVE_VERIFICATION_*` evidence files).
247
247
 
248
- **Two Flow frontends:** Google is moving accounts from `labs.google` onto `flow.google.com` ([#639](https://github.com/ffroliva/gflow-cli/issues/639)) — same product, different widget toolkit and wire protocol (`batchexecute` instead of `aisandbox-pa`). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image, image-to-image from local files, and a single-segment `video extend`. Image generation supports Nano Banana 2.1 (`nano2`, [#958](https://github.com/ffroliva/gflow-cli/issues/958)) / 2 Lite / Pro, the five aspect ratios measured on that host (16:9, 4:3, 1:1, 3:4, 9:16), and counts 1–4; an existing project is required at the transport boundary. Images can tag a character by `@Name` ([#723](https://github.com/ffroliva/gflow-cli/issues/723)). An account served the **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gets text-to-image and text-to-video only. An image `--ref <uuid>` is referenced in place when the catalog records it in the same `--project` ([#995](https://github.com/ffroliva/gflow-cli/issues/995)). Other UUID media references, an entity id without a name, instructions, Imagen 4, and the rest of the matrix keep the labs driver until ported (`GFLOW_CLI_FLOW_HOST`, see [CONFIGURATION](docs/CONFIGURATION.md#gflow_cli_flow_host)).
248
+ **Two Flow frontends:** Google is moving accounts from `labs.google` onto `flow.google.com` ([#639](https://github.com/ffroliva/gflow-cli/issues/639)) — same product, different widget toolkit and wire protocol (`batchexecute` instead of `aisandbox-pa`). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image, image-to-image from local files, and a single-segment `video extend`. Image generation supports Nano Banana 2.1 (`nano2`, [#958](https://github.com/ffroliva/gflow-cli/issues/958)) / 2 Lite / Pro, the five aspect ratios measured on that host (16:9, 4:3, 1:1, 3:4, 9:16), and counts 1–4; an existing project is required at the transport boundary. Images can tag a character by `@Name`, and reference-to-video takes a named character with `--reference-entity` + `--reference-entity-name` ([#723](https://github.com/ffroliva/gflow-cli/issues/723)). An account served the **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gets text-to-image and text-to-video only. An image `--ref <uuid>` is referenced in place when the catalog records it in the same `--project` ([#995](https://github.com/ffroliva/gflow-cli/issues/995)). Other UUID media references, an entity id without a name, instructions, Imagen 4, and the rest of the matrix keep the labs driver until ported (`GFLOW_CLI_FLOW_HOST`, see [CONFIGURATION](docs/CONFIGURATION.md#gflow_cli_flow_host)).
249
249
 
250
250
  **What's blocked:** a pure HTTP transport for video generation. The video upload endpoint returns HTTP 401 under non-Chrome browsers plus a reCAPTCHA mint we cannot reproduce headlessly. Three earlier HTTP strategies (`evaluate_fetch`, `bearer`, `sapisidhash`) live under `src/gflow_cli/api/transports/experimental/` for research, off the production path.
251
251
 
@@ -157,7 +157,7 @@ gflow CLI → Provider (interchangeable) → Flow (ui_automation) / Mock (te
157
157
 
158
158
  **Current transport:** `ui_automation` drives Flow through a persistent Playwright Chromium profile. It is production-stable and verified end-to-end every release (see the per-release `LIVE_VERIFICATION_*` evidence files).
159
159
 
160
- **Two Flow frontends:** Google is moving accounts from `labs.google` onto `flow.google.com` ([#639](https://github.com/ffroliva/gflow-cli/issues/639)) — same product, different widget toolkit and wire protocol (`batchexecute` instead of `aisandbox-pa`). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image, image-to-image from local files, and a single-segment `video extend`. Image generation supports Nano Banana 2.1 (`nano2`, [#958](https://github.com/ffroliva/gflow-cli/issues/958)) / 2 Lite / Pro, the five aspect ratios measured on that host (16:9, 4:3, 1:1, 3:4, 9:16), and counts 1–4; an existing project is required at the transport boundary. Images can tag a character by `@Name` ([#723](https://github.com/ffroliva/gflow-cli/issues/723)). An account served the **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gets text-to-image and text-to-video only. An image `--ref <uuid>` is referenced in place when the catalog records it in the same `--project` ([#995](https://github.com/ffroliva/gflow-cli/issues/995)). Other UUID media references, an entity id without a name, instructions, Imagen 4, and the rest of the matrix keep the labs driver until ported (`GFLOW_CLI_FLOW_HOST`, see [CONFIGURATION](docs/CONFIGURATION.md#gflow_cli_flow_host)).
160
+ **Two Flow frontends:** Google is moving accounts from `labs.google` onto `flow.google.com` ([#639](https://github.com/ffroliva/gflow-cli/issues/639)) — same product, different widget toolkit and wire protocol (`batchexecute` instead of `aisandbox-pa`). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image, image-to-image from local files, and a single-segment `video extend`. Image generation supports Nano Banana 2.1 (`nano2`, [#958](https://github.com/ffroliva/gflow-cli/issues/958)) / 2 Lite / Pro, the five aspect ratios measured on that host (16:9, 4:3, 1:1, 3:4, 9:16), and counts 1–4; an existing project is required at the transport boundary. Images can tag a character by `@Name`, and reference-to-video takes a named character with `--reference-entity` + `--reference-entity-name` ([#723](https://github.com/ffroliva/gflow-cli/issues/723)). An account served the **agent-only** composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)) gets text-to-image and text-to-video only. An image `--ref <uuid>` is referenced in place when the catalog records it in the same `--project` ([#995](https://github.com/ffroliva/gflow-cli/issues/995)). Other UUID media references, an entity id without a name, instructions, Imagen 4, and the rest of the matrix keep the labs driver until ported (`GFLOW_CLI_FLOW_HOST`, see [CONFIGURATION](docs/CONFIGURATION.md#gflow_cli_flow_host)).
161
161
 
162
162
  **What's blocked:** a pure HTTP transport for video generation. The video upload endpoint returns HTTP 401 under non-Chrome browsers plus a reCAPTCHA mint we cannot reproduce headlessly. Three earlier HTTP strategies (`evaluate_fetch`, `bearer`, `sapisidhash`) live under `src/gflow_cli/api/transports/experimental/` for research, off the production path.
163
163
 
@@ -45,7 +45,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
45
45
  # Deliberately NOT pinned: google-chrome-stable. Chrome's apt repo keeps only the current
46
46
  # build, so a pinned version stops resolving within weeks. The trade-off is that this
47
47
  # layer caches indefinitely and a rebuild is what picks up a newer Chrome.
48
- ARG GFLOW_VERSION=0.90.0
48
+ ARG GFLOW_VERSION=0.91.0
49
49
  RUN pip install --no-cache-dir "gflow-cli==${GFLOW_VERSION}"
50
50
 
51
51
  VOLUME ["/data"]
@@ -493,14 +493,14 @@ per-command `--proxy` flags (the setting covers one-off runs:
493
493
  - `flow.google.com` — force the migrated composer for everything, including what it cannot serve yet (those requests then exit 36/11 instead of falling back).
494
494
  - `labs.google` — never use the migrated composer; where Flow serves `flow.google.com`, requests fail with exit 36 (kill switch).
495
495
  **Default:** `auto`
496
- **Scope today:** the migrated composer covers `gflow video t2v`, local-file `video i2v` / `r2v`, `gflow image t2i`, and local-file `gflow image i2i`. Images support Nano Banana 2.1 (`nano2`, #958) / 2 Lite / Pro, all five aspect ratios (16:9, 4:3, 1:1, 3:4, 9:16 — `3:4` was added to that host's radiogroup by 2026-09-17, #864) and count 1–4; the page owns the `ogiZ0b` reCAPTCHA + submit and the response already contains completed signed image URLs. Local-file start+end frames (`--initial-frame` + `--end-frame`) are ported (#639). Image prompts may tag a character with `@Name` (or `--reference-entity` paired with `--reference-entity-name`; an id alone exits 36), attached through the composer's `@` picker (#723). `video extend` is ported for a single segment from a clip (one PROMPT; `-n` > 1, `--scene`/`--resume-from`, `--seed` and an `--aspect` other than the source's exit 36, and `-o` saves the new extension clip only, #882). Frames given by UUID/`@Name`, media references by UUID/`@Name` (except an image `--ref <uuid>` the catalog records in the same `--project`, #995), character entities on video, Agent instructions, Imagen 4, scenes, instructions and tools are not ported yet and fail before submit where Flow serves flow.google.com. MCP uses the same image service and queue payload, and inherits this setting from the server/daemon environment rather than per call.
496
+ **Scope today:** the migrated composer covers `gflow video t2v`, local-file `video i2v` / `r2v`, `gflow image t2i`, and local-file `gflow image i2i`. Images support Nano Banana 2.1 (`nano2`, #958) / 2 Lite / Pro, all five aspect ratios (16:9, 4:3, 1:1, 3:4, 9:16 — `3:4` was added to that host's radiogroup by 2026-09-17, #864) and count 1–4; the page owns the `ogiZ0b` reCAPTCHA + submit and the response already contains completed signed image URLs. Local-file start+end frames (`--initial-frame` + `--end-frame`) are ported (#639). Image prompts may tag a character with `@Name` (or `--reference-entity` paired with `--reference-entity-name`; an id alone exits 36), attached through the composer's `@` picker (#723). `video extend` is ported for a single segment from a clip (one PROMPT; `-n` > 1, `--scene`/`--resume-from`, `--seed` and an `--aspect` other than the source's exit 36, and `-o` saves the new extension clip only, #882). Frames given by UUID/`@Name`, media references by UUID/`@Name` (except an image `--ref <uuid>` the catalog records in the same `--project`, #995), character entities on text-to-video and image-to-video, Agent instructions, Imagen 4, scenes, instructions and tools are not ported yet and fail before submit where Flow serves flow.google.com. MCP uses the same image service and queue payload, and inherits this setting from the server/daemon environment rather than per call. Local-file `video r2v` takes a character with `--reference-entity` paired with `--reference-entity-name` (#723); an id alone exits 36.
497
497
 
498
498
  ### `GFLOW_CLI_AGENT_CONFIRM`
499
499
 
500
500
  **What:** On an account Flow serves the agent-only composer ([#799](https://github.com/ffroliva/gflow-cli/issues/799)), Agent settings carries a **Confirm before generating** choice. This sets it before a run.
501
501
  **Values:**
502
- - `account` (default) — leave the account's setting as it is. If Flow asks for confirmation, gflow approves exactly one request its own submit produced, and stops without approving if a second one appears. As with `always`, only that second confirmation is stopped before credits are spent: one confirmation can cover several generations, and an over-count under it is caught after the fact.
503
- - `always` — set **Always**. gflow approves the **first** confirmation without reading the count it names, and one confirmation can cover several generations. What this stops before credits are spent is a **second** confirmation in the same run; an agent that queues more than requested under the first one is caught only after the fact (gflow fails the run when more clips are pending, or more images appear, than were requested — the credits are already spent).
502
+ - `account` (default) — leave the account's setting as it is. If Flow asks for confirmation, gflow handles it as under `always`.
503
+ - `always` — set **Always**. Before approving, gflow reads the count the confirmation names: one confirmation can cover several generations, so one that quotes more than requested is **rejected** (nothing approved, exit 25), and a video confirmation whose count cannot be read is not approved either (exit 25; it stays open in Flow for you to reject) ([#988](https://github.com/ffroliva/gflow-cli/issues/988)). A **second** confirmation in the same run is never approved. Anything the agent makes beyond the request without asking is still caught only after the fact (more clips pending, or more images, than requested).
504
504
  - `never` — set **Never**. No approval step; a result count that differs from the request is detected only after the credits are spent.
505
505
  **Default:** `account`
506
506
  **Persistence:** unlike model / aspect / count (applied per run and restored afterwards), this value is saved to the Flow account and **not** restored — it is your standing choice, and it also applies when you use Flow in the browser.
@@ -67,13 +67,14 @@ uv run python scripts/ci/check_doc_links.py
67
67
  uv run python scripts/ci/check_website_docs_pii.py
68
68
  uv run python scripts/ci/generate_website_docs.py --check
69
69
  uv run python scripts/ci/check_council_memory.py
70
+ uv run python scripts/ci/generate_plugin_skills.py --check
70
71
  uv run ruff check src tests
71
72
  uv run ruff format --check src tests
72
73
  uv run pyright src
73
74
  uv run python -m pytest -q --cov=gflow_cli
74
75
  ```
75
76
 
76
- CI runs the same nine on every push (this list is kept identical to AGENTS.md's —
77
+ CI runs the same ten on every push (this list is kept identical to AGENTS.md's —
77
78
  `/gflow:check` runs it plus the CLI↔MCP mirror sweep). Do not bypass with `--no-verify`.
78
79
  Project pytest defaults exclude `e2e` and `live`; run those credit-spending
79
80
  tests only with an explicit marker expression and profile/env setup.