gflow-cli 0.87.1__tar.gz → 0.88.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 (1333) hide show
  1. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.codex-plugin/plugin.json +1 -1
  2. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.env.template +10 -5
  3. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/AGENTS.md +1 -1
  4. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/CHANGELOG.md +99 -1
  5. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/KNOWN_ISSUES.md +19 -4
  6. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/PKG-INFO +2 -1
  7. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/PLAN.md +1 -1
  8. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/README.md +1 -0
  9. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docker/Dockerfile +1 -1
  10. {gflow_cli-0.87.1/website → gflow_cli-0.88.0}/docs/ACCOUNT_SAFETY.md +8 -1
  11. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/AUTHENTICATION.md +13 -5
  12. {gflow_cli-0.87.1/website → gflow_cli-0.88.0}/docs/CONFIGURATION.md +55 -18
  13. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/E2E_TESTING.md +2 -0
  14. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/INDEX.md +1 -1
  15. gflow_cli-0.88.0/docs/LIVE_VERIFICATION_v0.88.0.md +55 -0
  16. {gflow_cli-0.87.1/website → gflow_cli-0.88.0}/docs/MCP.md +18 -0
  17. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/PROJECT_STATUS.md +27 -3
  18. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/USAGE.md +17 -3
  19. {gflow_cli-0.87.1/website → gflow_cli-0.88.0}/docs/USER_GUIDE.md +1 -1
  20. gflow_cli-0.88.0/docs/superpowers/spikes/2026-10-18-rpc-response-body-readback.md +42 -0
  21. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/llms.txt +2 -1
  22. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/.claude-plugin/plugin.json +1 -1
  23. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/skills/gflow-cli/SKILL.md +3 -0
  24. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/pyproject.toml +1 -1
  25. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/server.json +2 -2
  26. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/gflow-cli/SKILL.md +3 -0
  27. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/__init__.py +1 -1
  28. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/client.py +35 -6
  29. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/migrated_composer.py +224 -17
  30. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/ui_automation.py +6 -0
  31. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/cookies.py +3 -1
  32. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/internal_chromium.py +64 -17
  33. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/real_chrome.py +23 -34
  34. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/renew.py +7 -1
  35. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/verification.py +11 -2
  36. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/browser_manager.py +10 -0
  37. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli.py +3 -2
  38. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_data.py +12 -9
  39. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_image.py +95 -10
  40. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/config.py +53 -2
  41. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/recorder.py +78 -9
  42. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/redaction.py +7 -0
  43. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/errors.py +20 -2
  44. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/image_batch.py +75 -13
  45. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/mcp/tools.py +15 -3
  46. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/observability.py +13 -6
  47. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/services/doctor.py +18 -0
  48. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/worker/daemon.py +38 -16
  49. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_composer.py +72 -0
  50. gflow_cli-0.88.0/tests/api/transports/test_migrated_project.py +644 -0
  51. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/auth/strategies/test_strategies.py +111 -23
  52. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/auth/test_real_chrome.py +18 -18
  53. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/auth/test_verification.py +21 -20
  54. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_data_sync.py +18 -0
  55. gflow_cli-0.88.0/tests/e2e/test_browser_proxy_e2e.py +231 -0
  56. gflow_cli-0.88.0/tests/e2e/test_image_download_failure_records_bdd.py +177 -0
  57. gflow_cli-0.88.0/tests/e2e/test_migrated_rpc_readback_bdd.py +114 -0
  58. gflow_cli-0.88.0/tests/e2e/test_project_create_slow_link_e2e.py +154 -0
  59. gflow_cli-0.88.0/tests/features/image_download_failure_records.feature +18 -0
  60. gflow_cli-0.88.0/tests/features/migrated_rpc_readback.feature +6 -0
  61. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_asset_tagging_steps.py +3 -1
  62. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/fixtures/doctor_env.py +1 -0
  63. gflow_cli-0.88.0/tests/fixtures/settings_mock.py +10 -0
  64. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_doctor.py +29 -0
  65. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_batch_recording.py +6 -2
  66. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_batch_ref_wiring.py +37 -0
  67. gflow_cli-0.88.0/tests/test_browser_proxy.py +323 -0
  68. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_config.py +34 -28
  69. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_errors.py +15 -0
  70. gflow_cli-0.88.0/tests/test_image_download_failure_records.py +367 -0
  71. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_observability.py +44 -4
  72. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/worker/test_daemon.py +33 -0
  73. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/uv.lock +1 -1
  74. {gflow_cli-0.87.1 → gflow_cli-0.88.0/website}/docs/ACCOUNT_SAFETY.md +8 -1
  75. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/AUTHENTICATION.md +13 -5
  76. {gflow_cli-0.87.1 → gflow_cli-0.88.0/website}/docs/CONFIGURATION.md +55 -18
  77. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/E2E_TESTING.md +2 -0
  78. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/KNOWN_ISSUES.md +19 -4
  79. {gflow_cli-0.87.1 → gflow_cli-0.88.0/website}/docs/MCP.md +18 -0
  80. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/USAGE.md +17 -3
  81. {gflow_cli-0.87.1 → gflow_cli-0.88.0/website}/docs/USER_GUIDE.md +1 -1
  82. gflow_cli-0.87.1/tests/api/transports/test_migrated_project.py +0 -213
  83. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.agents/plugins/marketplace.json +0 -0
  84. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/README.md +0 -0
  85. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/active.md +0 -0
  86. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/branch-review.md +0 -0
  87. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/changelog.md +0 -0
  88. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/check.md +0 -0
  89. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/doc-review.md +0 -0
  90. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/issue-assessment.md +0 -0
  91. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/issue-resolve.md +0 -0
  92. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/known-issues.md +0 -0
  93. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/live-verify.md +0 -0
  94. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/llm-council.md +0 -0
  95. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/next.md +0 -0
  96. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/plan.md +0 -0
  97. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/pr-council-review.md +0 -0
  98. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/predict.md +0 -0
  99. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/release.md +0 -0
  100. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/scenario.md +0 -0
  101. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/sonar.md +0 -0
  102. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/spike.md +0 -0
  103. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude/commands/gflow/status.md +0 -0
  104. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.claude-plugin/marketplace.json +0 -0
  105. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.gitattributes +0 -0
  106. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/CODEOWNERS +0 -0
  107. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/FUNDING.yml +0 -0
  108. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  109. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/copilot-instructions.md +0 -0
  110. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/dependabot.yml +0 -0
  111. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/ci.yml +0 -0
  112. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/deps-watch.yml +0 -0
  113. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/external-pr-triage.yml +0 -0
  114. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/governance-advisory.yml +0 -0
  115. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/governance-benchmark.yml +0 -0
  116. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/labels.yml +0 -0
  117. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/main-base-guard.yml +0 -0
  118. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/mcp-registry.yml +0 -0
  119. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/pages.yml +0 -0
  120. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/release.yml +0 -0
  121. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/scorecard.yml +0 -0
  122. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/selector-probe.yml +0 -0
  123. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/sponsors.yml +0 -0
  124. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.github/workflows/star-history-watch.yml +0 -0
  125. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.gitignore +0 -0
  126. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.gitleaks.toml +0 -0
  127. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.pre-commit-config.yaml +0 -0
  128. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/.secrets.baseline +0 -0
  129. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/CLAUDE.md +0 -0
  130. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/CONFIGURATION.md +0 -0
  131. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/CONTRIBUTING.md +0 -0
  132. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/DISCLAIMER.md +0 -0
  133. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/LICENSE +0 -0
  134. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/RELEASE.md +0 -0
  135. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/ROADMAP.md +0 -0
  136. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/conftest.py +0 -0
  137. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/deploy/logrotate-pr-triage +0 -0
  138. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docker/Dockerfile.test +0 -0
  139. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docker/README.md +0 -0
  140. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docker/docker-compose.yml +0 -0
  141. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docker/dockerignore.example +0 -0
  142. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docker-compose.yml +0 -0
  143. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/AGENT_GUIDE.md +0 -0
  144. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/AGENT_UI_E2E.md +0 -0
  145. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/AGENT_UI_RECON.md +0 -0
  146. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/ARCHITECTURE.md +0 -0
  147. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/ASSET_TAGGING_RECON.md +0 -0
  148. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/CHARACTER.md +0 -0
  149. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/CHARACTER_RECON.md +0 -0
  150. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/CONTAINER.md +0 -0
  151. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/DATA_LAYER.md +0 -0
  152. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/DEBUGGING.md +0 -0
  153. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/DEMOS.md +0 -0
  154. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/DEVELOPMENT.md +0 -0
  155. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/DISTRIBUTION.md +0 -0
  156. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/EXTERNAL_STORAGE.md +0 -0
  157. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/GITHUB.md +0 -0
  158. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/GOVERNANCE_BENCHMARK.md +0 -0
  159. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/IMAGE_UPSCALE_RECON.md +0 -0
  160. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/INSTRUCTIONS.md +0 -0
  161. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_data_layer.md +0 -0
  162. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_image_batch.md +0 -0
  163. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_playwright_1.61.md +0 -0
  164. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_reference_entity_guard.md +0 -0
  165. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.10.0.md +0 -0
  166. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.11.0.md +0 -0
  167. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.12.0.md +0 -0
  168. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.13.0.md +0 -0
  169. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.16.0.md +0 -0
  170. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.17.0.md +0 -0
  171. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.18.0.md +0 -0
  172. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.19.0.md +0 -0
  173. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.20.0.md +0 -0
  174. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.20.1.md +0 -0
  175. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.21.0.md +0 -0
  176. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.22.0.md +0 -0
  177. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.23.0.md +0 -0
  178. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.24.0.md +0 -0
  179. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.25.0.md +0 -0
  180. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.26.0.md +0 -0
  181. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.27.0.md +0 -0
  182. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.27.1.md +0 -0
  183. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.28.0.md +0 -0
  184. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.29.0.md +0 -0
  185. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.30.0.md +0 -0
  186. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.31.0.md +0 -0
  187. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.32.0.md +0 -0
  188. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.32.1.md +0 -0
  189. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.33.0.md +0 -0
  190. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.34.0.md +0 -0
  191. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.35.0.md +0 -0
  192. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.36.0.md +0 -0
  193. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.37.0.md +0 -0
  194. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.38.0.md +0 -0
  195. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.38.1.md +0 -0
  196. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.39.0.md +0 -0
  197. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.40.0-production-readiness.md +0 -0
  198. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.40.0.md +0 -0
  199. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.41.0.md +0 -0
  200. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.42.0.md +0 -0
  201. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.43.0.md +0 -0
  202. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.44.0.md +0 -0
  203. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.45.0.md +0 -0
  204. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.46.0.md +0 -0
  205. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.46.1.md +0 -0
  206. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.47.0.md +0 -0
  207. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.48.0.md +0 -0
  208. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.49.0.md +0 -0
  209. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.50.0.md +0 -0
  210. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.51.0.md +0 -0
  211. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.52.0.md +0 -0
  212. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.54.0.md +0 -0
  213. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.55.0.md +0 -0
  214. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.56.0.md +0 -0
  215. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.57.0.md +0 -0
  216. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.57.1.md +0 -0
  217. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.58.0.md +0 -0
  218. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.59.0.md +0 -0
  219. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.60.0.md +0 -0
  220. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.61.0.md +0 -0
  221. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.62.0.md +0 -0
  222. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.62.1.md +0 -0
  223. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.63.0.md +0 -0
  224. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.64.0.md +0 -0
  225. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.65.0.md +0 -0
  226. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.66.0.md +0 -0
  227. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.66.1.md +0 -0
  228. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.66.2.md +0 -0
  229. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.66.3.md +0 -0
  230. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.67.0.md +0 -0
  231. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.68.0.md +0 -0
  232. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.69.0.md +0 -0
  233. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.7.0.md +0 -0
  234. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.70.0.md +0 -0
  235. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.71.0.md +0 -0
  236. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.71.1.md +0 -0
  237. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.72.0.md +0 -0
  238. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.73.0.md +0 -0
  239. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.73.1.md +0 -0
  240. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.73.2.md +0 -0
  241. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.74.0.md +0 -0
  242. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.75.0.md +0 -0
  243. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.76.0.md +0 -0
  244. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.77.0.md +0 -0
  245. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.77.1.md +0 -0
  246. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.78.0.md +0 -0
  247. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.79.0.md +0 -0
  248. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.79.1.md +0 -0
  249. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.8.1.md +0 -0
  250. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.80.0.md +0 -0
  251. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.81.0.md +0 -0
  252. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.82.0.md +0 -0
  253. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.82.1.md +0 -0
  254. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.83.0.md +0 -0
  255. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.83.1.md +0 -0
  256. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.83.2.md +0 -0
  257. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.84.0.md +0 -0
  258. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.85.0.md +0 -0
  259. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.86.0.md +0 -0
  260. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.87.0.md +0 -0
  261. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.87.1.md +0 -0
  262. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.9.0.md +0 -0
  263. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_v0.9.1.md +0 -0
  264. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/LIVE_VERIFICATION_video_download.md +0 -0
  265. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/MARKETPLACES.md +0 -0
  266. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/MEDIA_LIBRARY.md +0 -0
  267. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/MOVIE.md +0 -0
  268. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/PROMPT_EXPANSION.md +0 -0
  269. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/REFERENCE_STRATEGIES.md +0 -0
  270. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/SECURITY.md +0 -0
  271. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/SPONSORS.md +0 -0
  272. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/TOOLS.md +0 -0
  273. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/assets/demo-split-pf.gif +0 -0
  274. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/assets/example-run.gif +0 -0
  275. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/assets/examples.webp +0 -0
  276. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/medium_tutorial.md +0 -0
  277. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/schemas/movie-handoff.schema.json +0 -0
  278. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/sonar-cleanup-tracker.md +0 -0
  279. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/README.md +0 -0
  280. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/agents-md-vs-llms-txt.md +0 -0
  281. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/background-e2e-pytest-pattern.md +0 -0
  282. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/bdd-stubs-mirror-runtime-signatures.md +0 -0
  283. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/content-policy-text-scan-false-positives-on-page-chrome.md +0 -0
  284. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/credit-free-route-abort-verification.md +0 -0
  285. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/data-layer-overview.md +0 -0
  286. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/data-layer-test-pollution-trap.md +0 -0
  287. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/doc-examples-are-untested-fixtures.md +0 -0
  288. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/draft-pr-merge-trap.md +0 -0
  289. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/drive-the-page-dont-replay-the-rpc.md +0 -0
  290. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/e2e-evidence-is-a-contributor-deliverable.md +0 -0
  291. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/exit-code-16-data-store.md +0 -0
  292. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/flow-capabilities-are-cohort-dependent.md +0 -0
  293. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/flow-credits-videos-only.md +0 -0
  294. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/flow-locale-leak-icon-ligatures.md +0 -0
  295. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +0 -0
  296. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/force-color-breaks-cli-tests.md +0 -0
  297. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/full-test-suite-ooms.md +0 -0
  298. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/git-add-all-sweeps-scratch-files.md +0 -0
  299. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/image-video-mode-switch-symmetry.md +0 -0
  300. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/ligature-carrier-differs-by-host.md +0 -0
  301. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/mcp-is-first-class-across-skill-chain.md +0 -0
  302. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/memory-is-working-dir-keyed.md +0 -0
  303. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +0 -0
  304. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/migrated-refusal-is-a-dom-card-not-a-wire-record.md +0 -0
  305. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/on-started-callback-recorder-safety.md +0 -0
  306. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/playwright-click-no-downstream-event-signature.md +0 -0
  307. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/pr-council-review-stale-tree-reads.md +0 -0
  308. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/pr-hygiene-revert-and-multi-commit.md +0 -0
  309. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/pr-must-verify-on-affected-surface.md +0 -0
  310. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/prose-conflicts-hide-in-disjoint-files.md +0 -0
  311. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/pypi-readme-staleness-fix.md +0 -0
  312. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/pypi-rejected-filename-reusable.md +0 -0
  313. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/readme-hybrid-router-pattern.md +0 -0
  314. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/real-browser-auth-mandatory.md +0 -0
  315. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/release-back-merge-gap-recovery.md +0 -0
  316. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/release-signing.md +0 -0
  317. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/release-spec-plan-memory-consolidation.md +0 -0
  318. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/rest-transports-drop-ui-fields.md +0 -0
  319. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/ruff-format-scope-is-src-tests.md +0 -0
  320. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/sonarcloud-hotspot-review-workflow.md +0 -0
  321. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/sonarcloud-new-code-gotchas.md +0 -0
  322. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/sonarcloud-pr-issues-scope-s7497.md +0 -0
  323. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/sonarcloud-setup.md +0 -0
  324. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/stale-test-discovery.md +0 -0
  325. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/structlog-cache-logger-off-for-tests.md +0 -0
  326. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/ui-selector-drift-error-exit-23.md +0 -0
  327. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/verification-ledger-5-layer.md +0 -0
  328. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/video-model-capability-matrix.md +0 -0
  329. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/wheel-build-sanity-gate.md +0 -0
  330. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/windows-dev-quirks.md +0 -0
  331. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/memory/windows-running-launcher-blocks-uv-upgrade.md +0 -0
  332. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-12-issue-174-library-ui-attach/PLAN.md +0 -0
  333. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-22-mcp-server/PLAN.md +0 -0
  334. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-22-mcp-server/PREDICT.md +0 -0
  335. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-22-mcp-server/SCENARIO.md +0 -0
  336. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PLAN.md +0 -0
  337. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PREDICT.md +0 -0
  338. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/SCENARIO.md +0 -0
  339. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-24-gflow-studio-scaffold/PLAN.md +0 -0
  340. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-24-rest-api-layer/PLAN.md +0 -0
  341. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-06-26-mcp-e2e-test/PLAN.md +0 -0
  342. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-08-pr-triage-autopilot/PLAN.md +0 -0
  343. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-09-camoufox-adoption/PLAN.md +0 -0
  344. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-14-storyboarding-and-visual-curation/PLAN.md +0 -0
  345. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-18-asset-tagging/PLAN.md +0 -0
  346. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-19-live-verify/PLAN.md +0 -0
  347. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-19-production-readiness-browser-lifecycle.md +0 -0
  348. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-19-production-readiness-driver-cdp-verification.md +0 -0
  349. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-19-production-readiness-public-truth.md +0 -0
  350. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-19-production-readiness-queue-safety.md +0 -0
  351. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-26-character-prompt-polishing/PLAN.md +0 -0
  352. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-26-project-name-management/PLAN.md +0 -0
  353. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-26-self-documenting-errors/PLAN.md +0 -0
  354. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-27-overlay-banner-dismissal/PLAN.md +0 -0
  355. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/PLAN.md +0 -0
  356. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/SCENARIO.md +0 -0
  357. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-04-mcp-tasks/PLAN.md +0 -0
  358. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-04-output-hardening/PLAN.md +0 -0
  359. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/PLAN.md +0 -0
  360. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/SCENARIO.md +0 -0
  361. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/PLAN.md +0 -0
  362. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/SCENARIO.md +0 -0
  363. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/PLAN.md +0 -0
  364. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/SCENARIO.md +0 -0
  365. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/PLAN.md +0 -0
  366. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/SCENARIO.md +0 -0
  367. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/PLAN.md +0 -0
  368. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/SCENARIO.md +0 -0
  369. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/PLAN.md +0 -0
  370. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/SCENARIO.md +0 -0
  371. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/PLAN.md +0 -0
  372. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/SCENARIO.md +0 -0
  373. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-21-selector-registry.md +0 -0
  374. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-08-25-workflow-hardening-gaps.md +0 -0
  375. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-01-video-extend/PLAN.md +0 -0
  376. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-06-spike-tooling-reorg/PLAN.md +0 -0
  377. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-14-community-feedback-uplift/PLAN.md +0 -0
  378. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/ASSESSMENT.md +0 -0
  379. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PLAN.md +0 -0
  380. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PREDICT.md +0 -0
  381. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/SCENARIO.md +0 -0
  382. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-17-gflow-docs-command/PLAN.md +0 -0
  383. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-17-gflow-docs-command/SCENARIO.md +0 -0
  384. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-09-17-project-create-bundle/PLAN.md +0 -0
  385. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-10-17-migrated-video-extend/PLAN.md +0 -0
  386. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-10-17-migrated-video-extend/PREDICT.md +0 -0
  387. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-10-17-migrated-video-extend/SCENARIO.md +0 -0
  388. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/PLAN.md +0 -0
  389. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/PREDICT.md +0 -0
  390. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/SCENARIO.md +0 -0
  391. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/research/2026-06-27-tool-abstraction-evaluation.md +0 -0
  392. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-06-29-issue-assessment-workflow-design.md +0 -0
  393. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-07-04-pr-triage-autopilot-design.md +0 -0
  394. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-07-18-asset-tagging-design.md +0 -0
  395. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-07-19-live-verify-design.md +0 -0
  396. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-07-19-production-readiness-hardening-design.md +0 -0
  397. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-08-21-selector-registry-design.md +0 -0
  398. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-08-26-model-attribution-provenance.md +0 -0
  399. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-08-26-model-cost-quota-catalog.md +0 -0
  400. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/specs/2026-08-27-changelog-modal-precondition-design.md +0 -0
  401. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-07-09-camoufox-waf-403.md +0 -0
  402. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-07-12-ui-cohort-backend-config.md +0 -0
  403. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-07-17-production-readiness-assessment.md +0 -0
  404. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-08-01-mcp-2026-07-28-spec-impact.md +0 -0
  405. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-08-14-video-model-capability-matrix.md +0 -0
  406. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-08-15-picker-tile-alt-text.md +0 -0
  407. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-08-31-veo-extend-route-recon.md +0 -0
  408. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-04-migrated-host-handoff-mechanism.md +0 -0
  409. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-05-migrated-frames-attach.md +0 -0
  410. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-05-migrated-host-wire-protocol.md +0 -0
  411. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-05-migrated-model-menu-lower-priority.md +0 -0
  412. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-05-migrated-r2v-attach-surface.md +0 -0
  413. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-06-labs-vs-migrated-session-credential.md +0 -0
  414. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-06-migrated-character-surface-and-recaptcha.md +0 -0
  415. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-07-character-format-button-anchor.md +0 -0
  416. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-07-credit-shortfall-looks-like-selector-drift.md +0 -0
  417. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-07-format-click-is-not-a-format.md +0 -0
  418. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-07-ligature-carrier-and-name-drift.md +0 -0
  419. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-07-migrated-composer-has-an-image-mode.md +0 -0
  420. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-08-g12-blocks-webdriver-not-playwright.md +0 -0
  421. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-08-migrated-composer-agent-mode-hides-settings.md +0 -0
  422. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-08-migrated-image-submit-wire.md +0 -0
  423. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-08-migrated-queue-is-readable-on-zzl0ze.md +0 -0
  424. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-08-migrated-upload-fails-two-ways.md +0 -0
  425. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-10-about-redirect-stability.md +0 -0
  426. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-10-migrated-click-blocked.md +0 -0
  427. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-decided-client-side.md +0 -0
  428. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-stable-for-an-account.md +0 -0
  429. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-11-migrated-cookie-bar-blocks-the-composer.md +0 -0
  430. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-11-nano2-lite-capability.md +0 -0
  431. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-13-frames-picker-confirm.md +0 -0
  432. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-14-credits-on-migrated-host.md +0 -0
  433. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-14-generation-wire-no-push-channel.md +0 -0
  434. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-14-two-domain-protocol-survey.md +0 -0
  435. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-14-video-poll-is-a-fixed-client-timer.md +0 -0
  436. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-15-agent-only-composer-drive-surface.md +0 -0
  437. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-15-container-transport-viability.md +0 -0
  438. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-15-unentitled-account-signal.md +0 -0
  439. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-16-networkidle-costs-3x-it-does-not-hang.md +0 -0
  440. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-17-migrated-end-frame-submit-contract.md +0 -0
  441. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-17-project-create-on-flow-google-com.md +0 -0
  442. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-17-stranded-clip-recovery.md +0 -0
  443. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-19-migrated-video-extend-wire.md +0 -0
  444. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-20-warm-client-premint-on-about-blank.md +0 -0
  445. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-22-playwright-max-retries-econnreset.md +0 -0
  446. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-23-about-cta-leads-to-google-reauth.md +0 -0
  447. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-27-migrated-refusal-is-on-the-wire.md +0 -0
  448. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-27-stealth-fingerprint-delta.md +0 -0
  449. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-09-30-migrated-upscale-wire.md +0 -0
  450. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-01-batch-ref-dropped.md +0 -0
  451. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-01-recaptcha-error-shape.md +0 -0
  452. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-06-948-record-slot3-null.md +0 -0
  453. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-08-nano-banana-21-replaced-2.md +0 -0
  454. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-10-duration-locale-and-notice-only-cookie-bar.md +0 -0
  455. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-13-migrated-image-character-mention.md +0 -0
  456. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-14-labs-nextauth-silent-refresh.md +0 -0
  457. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-17-agent-only-cohort-profiles.md +0 -0
  458. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-17-migrated-extend-ui-path.md +0 -0
  459. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-19-earlier-run-ref-in-place.md +0 -0
  460. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-19-fourth-ref-caret.md +0 -0
  461. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-19-minio-replacement.md +0 -0
  462. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-20-migrated-upload-reply-body-eviction.md +0 -0
  463. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-21-migrated-submit-reply-body-loss.md +0 -0
  464. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-22-credits-balance-on-nzlxg.md +0 -0
  465. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-22-image-upscale-lost-body.md +0 -0
  466. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/docs/superpowers/spikes/2026-10-22-labs-session-oracle-gone.md +0 -0
  467. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/examples/README.md +0 -0
  468. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/examples/batch_from_config.py +0 -0
  469. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/examples/multi_prompt_t2i.py +0 -0
  470. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/examples/sample_config.json +0 -0
  471. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/examples/sample_prompts.txt +0 -0
  472. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/examples/single_image_t2i.py +0 -0
  473. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/examples/workflow_chain.py +0 -0
  474. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/glama.json +0 -0
  475. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/hatch_build.py +0 -0
  476. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/index.html +0 -0
  477. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/mempalace.yaml +0 -0
  478. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/README.md +0 -0
  479. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/.mcp.json +0 -0
  480. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/skills/video-production/SKILL.md +0 -0
  481. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/skills/video-production/clip_qa.py +0 -0
  482. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/skills/video-production/composition.md +0 -0
  483. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/skills/video-production/consistency.md +0 -0
  484. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/skills/video-production/failure-modes.md +0 -0
  485. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/plugins/gflow/skills/video-production/tasks.json +0 -0
  486. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/README.md +0 -0
  487. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/01_upload_image.json +0 -0
  488. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/02_batchAsyncGenerateVideoText.json +0 -0
  489. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/03_batchCheckAsyncVideoGenerationStatus.json +0 -0
  490. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/04_archive_workflow.json +0 -0
  491. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/05_createProject.json +0 -0
  492. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/06_batchGenerateImages.json +0 -0
  493. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/07_batchGenerateImages_seeded.json +0 -0
  494. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/08_batchAsyncGenerateVideoStartAndEndImage.json +0 -0
  495. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/09_batchAsyncGenerateVideoReferenceImages.json +0 -0
  496. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/10_batchCheckAsyncVideoGenerationStatus_successful.json +0 -0
  497. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/11_batchCheckAsyncVideoGenerationStatus_failed.json +0 -0
  498. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/12_create_scene.json +0 -0
  499. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/13_sceneWorkflows_update.json +0 -0
  500. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/14_get_scene_workflows.json +0 -0
  501. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/samples/captured/15_commit_flowWorkflow.json +0 -0
  502. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/canary/register_task.ps1 +0 -0
  503. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/canary/run_canary.py +0 -0
  504. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/check_council_memory.py +0 -0
  505. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/check_doc_links.py +0 -0
  506. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/check_fork_pr_ci.py +0 -0
  507. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/check_materiality.py +0 -0
  508. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/check_release_artifacts.py +0 -0
  509. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/check_repo_hygiene.py +0 -0
  510. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/check_test_count.py +0 -0
  511. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/check_website_docs_pii.py +0 -0
  512. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/generate_plugin_skills.py +0 -0
  513. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/generate_website_docs.py +0 -0
  514. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/ci/update_sponsors.py +0 -0
  515. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/debug_editor.py +0 -0
  516. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/debug_gen_settings.py +0 -0
  517. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/debug_settings.py +0 -0
  518. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/_recording_client.py +0 -0
  519. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/_spike_common.py +0 -0
  520. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/acceptance/__init__.py +0 -0
  521. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/acceptance/bench.py +0 -0
  522. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/acceptance/domain.py +0 -0
  523. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/acceptance/judge.py +0 -0
  524. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/acceptance/settings.py +0 -0
  525. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/active_plan.py +0 -0
  526. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/analyze_agent_ui_capture.py +0 -0
  527. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_frames_mode_trigger_ligature.py +0 -0
  528. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_i2v_frame_slots_dom.py +0 -0
  529. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_i2v_intercept_submit.py +0 -0
  530. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_i2v_model_select_repro.py +0 -0
  531. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_i2v_post_bind_state.py +0 -0
  532. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_image_add_media_dom.py +0 -0
  533. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_locale_invariants.py +0 -0
  534. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_lower_priority_model_cost.py +0 -0
  535. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_migrated_attach_rpcs.py +0 -0
  536. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_migrated_mention_gestures.py +0 -0
  537. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_migrated_model_menu.py +0 -0
  538. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_migrated_r2v_production_submit.py +0 -0
  539. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_migrated_r2v_submit_payload.py +0 -0
  540. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_migrated_r2v_surface.py +0 -0
  541. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_migrated_upload_flow.py +0 -0
  542. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_project_listing.py +0 -0
  543. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_r2v_ingredient_lifecycle.py +0 -0
  544. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_sidebar_state_dom.py +0 -0
  545. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/capture_video_model_capability_matrix.py +0 -0
  546. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/cdp_drive_and_probe.py +0 -0
  547. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/character_create_spike.py +0 -0
  548. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/character_create_spike_v2.py +0 -0
  549. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/cleanup.py +0 -0
  550. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/dump_character_selectors.js +0 -0
  551. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/README.md +0 -0
  552. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/capture-agent-ui.ps1 +0 -0
  553. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/capture-media-scrape.ps1 +0 -0
  554. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/extract_har_summary.py +0 -0
  555. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/launch-flow-chrome.ps1 +0 -0
  556. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/probe-agent-mode.ps1 +0 -0
  557. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/probe_agent_mode.py +0 -0
  558. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/run-cdp-smoke.ps1 +0 -0
  559. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/start-background-capture.ps1 +0 -0
  560. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/start-har-capture.ps1 +0 -0
  561. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/stop-background-capture.ps1 +0 -0
  562. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/har-spike/stop-har-capture.ps1 +0 -0
  563. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/incident_bundle_quality.py +0 -0
  564. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/live_verify_mcp_tasks.py +0 -0
  565. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/live_verify_policy_400_v060.py +0 -0
  566. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/live_verify_video_model_select.py +0 -0
  567. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/make_project.py +0 -0
  568. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/materiality_backtest.py +0 -0
  569. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/measure_html_lang_settle.py +0 -0
  570. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/measure_locale_probe.py +0 -0
  571. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/measure_migrated_host_flip.py +0 -0
  572. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/patch_character.py +0 -0
  573. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/skillopt/README.md +0 -0
  574. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/skillopt/harness.py +0 -0
  575. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/skillopt/tasks.json +0 -0
  576. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/sonar-local-scan.sh +0 -0
  577. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/sonar-pre-push-gate.sh +0 -0
  578. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_948_project_records.py +0 -0
  579. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_948_submit_envelope.py +0 -0
  580. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_963_duration_locale.py +0 -0
  581. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_995_earlier_run_ref.py +0 -0
  582. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_997_fourth_ref_caret.py +0 -0
  583. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_about_cta_recovery.py +0 -0
  584. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_about_redirect_cause.py +0 -0
  585. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_about_redirect_stability.py +0 -0
  586. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_agent_confirm_radios.py +0 -0
  587. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_agent_only_cohort_profiles.py +0 -0
  588. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_agent_only_composer.py +0 -0
  589. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_agent_only_video_ready.py +0 -0
  590. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_agent_only_video_tile.py +0 -0
  591. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_agent_settings_defaults.py +0 -0
  592. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_batch_ref_dropped.py +0 -0
  593. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_batch_ref_existing_media.py +0 -0
  594. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_cdp_har_without_node.py +0 -0
  595. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_changelog_capture.py +0 -0
  596. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_char_editor_dom.py +0 -0
  597. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_char_gen_capture.py +0 -0
  598. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_character_editor_ready_gate.py +0 -0
  599. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_character_prompt_format.py +0 -0
  600. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_create_project_401.py +0 -0
  601. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_credits_balance_carrier.py +0 -0
  602. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_credits_migrated_surface.py +0 -0
  603. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_entity_submit_rpcs.py +0 -0
  604. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_extend_model_recon.py +0 -0
  605. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_extend_ourstack_verify.py +0 -0
  606. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_extend_route_capture.py +0 -0
  607. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_extend_submit_capture.py +0 -0
  608. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_extend_ui_recon.py +0 -0
  609. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_flow_unavailable_signal.py +0 -0
  610. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_format_prompt_effect.py +0 -0
  611. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_frames_picker_confirm.py +0 -0
  612. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_generation_wire_survey.py +0 -0
  613. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_gif_export_delivery.py +0 -0
  614. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_host_lane.py +0 -0
  615. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_image_model_attribution.py +0 -0
  616. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_image_submit_references.py +0 -0
  617. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_image_upscale_capture.py +0 -0
  618. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_image_upscale_drive.py +0 -0
  619. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_image_upscale_recaptcha_action.py +0 -0
  620. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_image_upscale_rest_probe.py +0 -0
  621. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_incident_live.py +0 -0
  622. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_issue170_picker_locale_recon.py +0 -0
  623. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_issue174_library_ui_recon.py +0 -0
  624. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_issue313_agent_mode_controls.py +0 -0
  625. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_issue314_picker_filename_search.py +0 -0
  626. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_issue404_count_tabs_recon.py +0 -0
  627. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_labs_nextauth_refresh.py +0 -0
  628. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_ligature_carrier_sweep.py +0 -0
  629. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_locale_poison.py +0 -0
  630. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_mention_existing_media.py +0 -0
  631. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_aspect_radios.py +0 -0
  632. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_body_reference_chip.py +0 -0
  633. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_character_body_controls.py +0 -0
  634. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_character_editor_anchor.py +0 -0
  635. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_character_ogiz0b_schema.py +0 -0
  636. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_character_submit_wire.py +0 -0
  637. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_character_surface.py +0 -0
  638. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_click_blocked.py +0 -0
  639. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_composer_arms.py +0 -0
  640. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_composer_mode_axis.py +0 -0
  641. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_cookie_bar.py +0 -0
  642. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_create_project.py +0 -0
  643. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_duration_by_model.py +0 -0
  644. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_editor_dom_inventory.py +0 -0
  645. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_end_frame.py +0 -0
  646. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_entity_submit.py +0 -0
  647. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_extend_ui_path.py +0 -0
  648. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_frames_attach.py +0 -0
  649. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_host_trigger.py +0 -0
  650. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_image_capability.py +0 -0
  651. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_image_submit.py +0 -0
  652. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_picker_option_kind.py +0 -0
  653. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_queue_read.py +0 -0
  654. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_recaptcha_mint.py +0 -0
  655. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_refusal_envelope.py +0 -0
  656. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_submit_anchor.py +0 -0
  657. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_submit_body_loss.py +0 -0
  658. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_submit_capture.py +0 -0
  659. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_upload_body_eviction.py +0 -0
  660. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_upload_wire.py +0 -0
  661. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migrated_vs_labs_provenance.py +0 -0
  662. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_migration_flag_bootstrap.py +0 -0
  663. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_mint_on_about_blank.py +0 -0
  664. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_mode_roundtrip.py +0 -0
  665. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_mode_switch_agentic_to_classic.py +0 -0
  666. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_model_inventory.py +0 -0
  667. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_movie_attach_payload.py +0 -0
  668. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_movie_entity_recon.py +0 -0
  669. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_movie_gen_capture.py +0 -0
  670. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_movie_picker_select.py +0 -0
  671. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_movie_voice_list.py +0 -0
  672. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_nano2_lite_capability.py +0 -0
  673. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_nano_banana_21_wire.py +0 -0
  674. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_networkidle_bootstrap_cost.py +0 -0
  675. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_offscreen_window.py +0 -0
  676. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_omni_flash_i2v_ui_recon.py +0 -0
  677. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_patch_entity.py +0 -0
  678. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_patchright.py +0 -0
  679. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_picker_chip_removal.py +0 -0
  680. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_picker_entity_marker.py +0 -0
  681. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_playwright_chrome_login.py +0 -0
  682. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_playwright_max_retries.py +0 -0
  683. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_project_media_status.py +0 -0
  684. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_recaptcha_error_shape.py +0 -0
  685. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_recover_stranded_clip.py +0 -0
  686. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_ref_gate.py +0 -0
  687. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_s3_test_backend.py +0 -0
  688. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_session_oracle.py +0 -0
  689. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_stealth_fingerprint_delta.py +0 -0
  690. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_trpc_origin_referer_401.py +0 -0
  691. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_two_domain_protocol_survey.py +0 -0
  692. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_upload_token_join.py +0 -0
  693. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_upscale_lost_body.py +0 -0
  694. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_upscale_menu_anchors.py +0 -0
  695. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_video_tab_dom.py +0 -0
  696. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_video_workflow_id.py +0 -0
  697. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/spike_warm_client_unported_form.py +0 -0
  698. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/verify_lang_settle_fix.py +0 -0
  699. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/verify_language_agnostic.py +0 -0
  700. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/verify_locale_navigation_race.py +0 -0
  701. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/dev/verify_model_attribution.py +0 -0
  702. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/diag/README.md +0 -0
  703. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/diag/capture_flow_traffic.py +0 -0
  704. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/diag/diag_aisandbox_bearer.py +0 -0
  705. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/diag/memory_profile.py +0 -0
  706. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/diag/recaptcha_mint.py +0 -0
  707. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/diag/spike_387_openai_compat.py +0 -0
  708. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/e2e/agentic_image_e2e.ps1 +0 -0
  709. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/e2e/capture_agent_toggle.py +0 -0
  710. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/probe/run_probe.py +0 -0
  711. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/probe/spike_auth_matrix.py +0 -0
  712. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/record_demo.ps1 +0 -0
  713. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/smoke_image.py +0 -0
  714. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/smoke_video_editor.py +0 -0
  715. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/smoke_worker_style.py +0 -0
  716. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/spike_waf_camoufox.py +0 -0
  717. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/scripts/verify_chrome_auth_viability.py +0 -0
  718. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/README.md +0 -0
  719. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/changelog/SKILL.md +0 -0
  720. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/check/SKILL.md +0 -0
  721. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/doc-review/SKILL.md +0 -0
  722. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/issue-assessment/SKILL.md +0 -0
  723. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/issue-resolve/SKILL.md +0 -0
  724. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/known-issues/SKILL.md +0 -0
  725. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/live-verify/SKILL.md +0 -0
  726. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/llm-council/SKILL.md +0 -0
  727. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/plan/SKILL.md +0 -0
  728. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/pr-council-review/SKILL.md +0 -0
  729. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/predict/SKILL.md +0 -0
  730. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/release/SKILL.md +0 -0
  731. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/scenario/SKILL.md +0 -0
  732. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/sonar/SKILL.md +0 -0
  733. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/spike/SKILL.md +0 -0
  734. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/status/SKILL.md +0 -0
  735. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/video-production/SKILL.md +0 -0
  736. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/video-production/clip_qa.py +0 -0
  737. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/video-production/composition.md +0 -0
  738. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/video-production/consistency.md +0 -0
  739. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/video-production/failure-modes.md +0 -0
  740. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/skills/video-production/tasks.json +0 -0
  741. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/sonar-project.properties +0 -0
  742. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/__main__.py +0 -0
  743. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/_cli_helpers.py +0 -0
  744. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/__init__.py +0 -0
  745. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/_engine.py +0 -0
  746. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/_retry.py +0 -0
  747. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/_sapisidhash.py +0 -0
  748. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/character.py +0 -0
  749. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/dto.py +0 -0
  750. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/extend_chain.py +0 -0
  751. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/image.py +0 -0
  752. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/image_upscale.py +0 -0
  753. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/recaptcha.py +0 -0
  754. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/routes.py +0 -0
  755. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/scene.py +0 -0
  756. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/__init__.py +0 -0
  757. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/_common.py +0 -0
  758. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/_fingerprint.py +0 -0
  759. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/agent_only_composer.py +0 -0
  760. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/base.py +0 -0
  761. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/batchexecute.py +0 -0
  762. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/drivers/__init__.py +0 -0
  763. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/drivers/agentic.py +0 -0
  764. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/drivers/base.py +0 -0
  765. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/drivers/classic.py +0 -0
  766. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/drivers/factory.py +0 -0
  767. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/experimental/__init__.py +0 -0
  768. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/experimental/bearer.py +0 -0
  769. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/experimental/evaluate_fetch.py +0 -0
  770. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/experimental/sapisidhash.py +0 -0
  771. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/migrated_extend.py +0 -0
  772. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/migrated_recover.py +0 -0
  773. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/migrated_upscale.py +0 -0
  774. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/migrated_video_upscale.py +0 -0
  775. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/mode_control.py +0 -0
  776. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/transports/ui_automation_video.py +0 -0
  777. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/video.py +0 -0
  778. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/api/video_extend.py +0 -0
  779. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/__init__.py +0 -0
  780. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/base.py +0 -0
  781. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/factory.py +0 -0
  782. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/auth/strategies.py +0 -0
  783. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/chain.py +0 -0
  784. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/chain_manifest.py +0 -0
  785. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_character.py +0 -0
  786. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_credits.py +0 -0
  787. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_docs.py +0 -0
  788. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_doctor.py +0 -0
  789. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_instructions.py +0 -0
  790. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_models.py +0 -0
  791. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_movie.py +0 -0
  792. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_project.py +0 -0
  793. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_run.py +0 -0
  794. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_scene.py +0 -0
  795. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_tools.py +0 -0
  796. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_update.py +0 -0
  797. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/cli_video.py +0 -0
  798. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/composition.py +0 -0
  799. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/__init__.py +0 -0
  800. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/chain_repo.py +0 -0
  801. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0001_initial.sql +0 -0
  802. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0002_add_cloud_storage.sql +0 -0
  803. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0003_add_scene_tables.sql +0 -0
  804. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0004_add_scene_output_path.sql +0 -0
  805. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0005_add_chain_links.sql +0 -0
  806. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0006_add_operations_metadata.sql +0 -0
  807. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0007_queue.sql +0 -0
  808. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0008_add_operation_expanded_prompt.sql +0 -0
  809. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/0009_queue_claims.sql +0 -0
  810. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/migrations/__init__.py +0 -0
  811. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/models.py +0 -0
  812. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/queries.py +0 -0
  813. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/repository.py +0 -0
  814. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/data/store.py +0 -0
  815. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/diagnostics.py +0 -0
  816. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/docs_catalog.py +0 -0
  817. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/exceptions.py +0 -0
  818. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/file_integrity.py +0 -0
  819. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/flow_selectors/__init__.py +0 -0
  820. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/flow_selectors/grading.py +0 -0
  821. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/flow_selectors/model.py +0 -0
  822. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/flow_selectors/registry.py +0 -0
  823. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/json_output.py +0 -0
  824. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/mcp/__init__.py +0 -0
  825. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/mcp/prompts.py +0 -0
  826. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/mcp/resources.py +0 -0
  827. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/mcp/server.py +0 -0
  828. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/mcp/setup.py +0 -0
  829. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/mcp/tasks_extension.py +0 -0
  830. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/media.py +0 -0
  831. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/movie_manifest.py +0 -0
  832. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/paths.py +0 -0
  833. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/profile_lease.py +0 -0
  834. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/profile_store.py +0 -0
  835. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/redaction.py +0 -0
  836. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/services/__init__.py +0 -0
  837. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/services/catalog_sync.py +0 -0
  838. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/services/character_create.py +0 -0
  839. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/services/credits.py +0 -0
  840. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/services/media_recovery.py +0 -0
  841. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/services/mentions.py +0 -0
  842. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/storage.py +0 -0
  843. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/__init__.py +0 -0
  844. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/banned.py +0 -0
  845. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/builtin/__init__.py +0 -0
  846. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/builtin/creative-director.toml +0 -0
  847. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/builtin/reverse-engineer.toml +0 -0
  848. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/builtin/storyboard.toml +0 -0
  849. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/expander.py +0 -0
  850. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/invocation.py +0 -0
  851. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/loader.py +0 -0
  852. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/registry.py +0 -0
  853. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/runtime.py +0 -0
  854. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/tools/spec.py +0 -0
  855. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/ui/app.py +0 -0
  856. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/ui/server.py +0 -0
  857. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/update_check.py +0 -0
  858. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/winsec.py +0 -0
  859. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/worker/codec.py +0 -0
  860. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/src/gflow_cli/worker/queue.py +0 -0
  861. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tasks/lessons.md +0 -0
  862. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/test_assets/sample_batch.json +0 -0
  863. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/test_assets/sample_batch.tsv +0 -0
  864. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/test_assets/sample_batch_invalid.tsv +0 -0
  865. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/__init__.py +0 -0
  866. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/__init__.py +0 -0
  867. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/_upscale_fakes.py +0 -0
  868. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/fixtures/character_gen_response.json +0 -0
  869. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/fixtures/patch_entity_response.json +0 -0
  870. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/fixtures/project_initial_data_extend_models.json +0 -0
  871. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_aisandbox_auth_error.py +0 -0
  872. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_aisandbox_auth_headers.py +0 -0
  873. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_aisandbox_auth_remediation.py +0 -0
  874. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_bearer_redaction.py +0 -0
  875. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_bootstrap_chooser.py +0 -0
  876. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_character.py +0 -0
  877. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_character_readback_fallback.py +0 -0
  878. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client.py +0 -0
  879. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_character.py +0 -0
  880. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_delete_characters.py +0 -0
  881. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_errors.py +0 -0
  882. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_extend.py +0 -0
  883. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_generate_character.py +0 -0
  884. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_image.py +0 -0
  885. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_incidents.py +0 -0
  886. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_launch_kwargs.py +0 -0
  887. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_locale_cache.py +0 -0
  888. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_migrated_mint.py +0 -0
  889. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_patch_entity.py +0 -0
  890. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_project_host.py +0 -0
  891. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_scene.py +0 -0
  892. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_upscale.py +0 -0
  893. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_client_window_position.py +0 -0
  894. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_concurrency.py +0 -0
  895. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_credits.py +0 -0
  896. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_dto.py +0 -0
  897. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_engine.py +0 -0
  898. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_extend_chain.py +0 -0
  899. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_image.py +0 -0
  900. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_image_capability_and_cookie_bar.py +0 -0
  901. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_image_dto.py +0 -0
  902. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_image_upscale.py +0 -0
  903. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_migrated_upscale.py +0 -0
  904. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_migrated_video_upscale.py +0 -0
  905. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_post_json_aisandbox_auth.py +0 -0
  906. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_recaptcha.py +0 -0
  907. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_retry.py +0 -0
  908. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_routes.py +0 -0
  909. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_routes_character.py +0 -0
  910. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_routes_locale.py +0 -0
  911. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_routes_scene.py +0 -0
  912. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_sapisidhash_helper.py +0 -0
  913. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_scene_models.py +0 -0
  914. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_upload_reference.py +0 -0
  915. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_video.py +0 -0
  916. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_video_extend.py +0 -0
  917. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_video_request.py +0 -0
  918. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/test_video_status_poll.py +0 -0
  919. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/__init__.py +0 -0
  920. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/_ogiz0b.py +0 -0
  921. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/conftest.py +0 -0
  922. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/drivers/__init__.py +0 -0
  923. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/drivers/test_agentic.py +0 -0
  924. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/drivers/test_classic.py +0 -0
  925. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/drivers/test_factory.py +0 -0
  926. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/drivers/test_ui_mode.py +0 -0
  927. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_agent_only_composer.py +0 -0
  928. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_agent_only_composer_driver.py +0 -0
  929. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_agentic_cohort_detection.py +0 -0
  930. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_base.py +0 -0
  931. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_batchexecute.py +0 -0
  932. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_bearer.py +0 -0
  933. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_character_model_picker.py +0 -0
  934. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_click_attribution.py +0 -0
  935. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_common.py +0 -0
  936. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_evaluate_fetch.py +0 -0
  937. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_factory.py +0 -0
  938. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_fingerprint.py +0 -0
  939. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_flow_access_unavailable.py +0 -0
  940. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_ligature_carrier.py +0 -0
  941. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_locale_navigation.py +0 -0
  942. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_dispatch.py +0 -0
  943. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_existing_refs.py +0 -0
  944. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_extend.py +0 -0
  945. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_host_gate.py +0 -0
  946. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_images.py +0 -0
  947. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_mention_order.py +0 -0
  948. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_r2v.py +0 -0
  949. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_recover.py +0 -0
  950. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_migrated_route.py +0 -0
  951. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_mode_control.py +0 -0
  952. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_model_selection_loud.py +0 -0
  953. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_navigation_settled.py +0 -0
  954. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_new_project_cta_migrated.py +0 -0
  955. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_overlay_precondition.py +0 -0
  956. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_policy_400.py +0 -0
  957. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_sapisidhash.py +0 -0
  958. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_selector_symmetry.py +0 -0
  959. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_signed_media_retry.py +0 -0
  960. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_transport_timeout.py +0 -0
  961. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_ui_automation.py +0 -0
  962. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_ui_automation_batch.py +0 -0
  963. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_ui_automation_image_mode.py +0 -0
  964. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_ui_automation_video.py +0 -0
  965. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_ui_character_editor.py +0 -0
  966. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/api/transports/test_video_model_selection_loud.py +0 -0
  967. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/auth/strategies/test_factory.py +0 -0
  968. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/auth/test_account_autoselect.py +0 -0
  969. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/auth/test_cookies.py +0 -0
  970. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/auth/test_renew.py +0 -0
  971. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/auth/test_windows_acl.py +0 -0
  972. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/__init__.py +0 -0
  973. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_auth_renew.py +0 -0
  974. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_auth_status.py +0 -0
  975. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_auth_error_paths.py +0 -0
  976. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_auth_list.py +0 -0
  977. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_character.py +0 -0
  978. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_character_create.py +0 -0
  979. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_credits.py +0 -0
  980. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_data.py +0 -0
  981. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_data_errors.py +0 -0
  982. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_data_errors_retention.py +0 -0
  983. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_docs.py +0 -0
  984. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_doctor.py +0 -0
  985. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_image.py +0 -0
  986. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_image_seed_removed.py +0 -0
  987. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_image_selector_drift.py +0 -0
  988. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_image_upscale.py +0 -0
  989. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_image_uuid_ref_enrichment.py +0 -0
  990. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_instructions.py +0 -0
  991. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_models.py +0 -0
  992. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_movie.py +0 -0
  993. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_run.py +0 -0
  994. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_scene.py +0 -0
  995. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_tools.py +0 -0
  996. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_video.py +0 -0
  997. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_video_chain.py +0 -0
  998. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_video_extend.py +0 -0
  999. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_cli_video_upscale.py +0 -0
  1000. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_docs_catalog_real_docs.py +0 -0
  1001. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_error_handling.py +0 -0
  1002. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_failure_funnel.py +0 -0
  1003. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_helpers.py +0 -0
  1004. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_incident_output.py +0 -0
  1005. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_movie_manifest.py +0 -0
  1006. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_movie_manifest_style_variants.py +0 -0
  1007. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_predictable_output.py +0 -0
  1008. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_run_with_handlers_context_leak.py +0 -0
  1009. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_run_with_handlers_interrupt.py +0 -0
  1010. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_settings_validation.py +0 -0
  1011. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_t2i_multi_prompt.py +0 -0
  1012. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/cli/test_video_recording_busy.py +0 -0
  1013. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/composition/test_character.py +0 -0
  1014. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/composition/test_compose_prompt.py +0 -0
  1015. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/composition/test_handoff.py +0 -0
  1016. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/composition/test_style_variants.py +0 -0
  1017. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/composition/test_style_variants_e2e.py +0 -0
  1018. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/conftest.py +0 -0
  1019. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/__init__.py +0 -0
  1020. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_chain_repo.py +0 -0
  1021. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_failure_recording.py +0 -0
  1022. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_find_incomplete_character.py +0 -0
  1023. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_models.py +0 -0
  1024. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_null_columns_stay_null.py +0 -0
  1025. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_packaging.py +0 -0
  1026. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_recorder.py +0 -0
  1027. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_recorder_character.py +0 -0
  1028. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_redaction.py +0 -0
  1029. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_repository.py +0 -0
  1030. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_scene_persistence.py +0 -0
  1031. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_settings_and_errors.py +0 -0
  1032. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_store.py +0 -0
  1033. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_store_migrations.py +0 -0
  1034. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/data/test_store_transaction_errors.py +0 -0
  1035. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/dev/test_recording_client.py +0 -0
  1036. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/__init__.py +0 -0
  1037. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/conftest.py +0 -0
  1038. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_account_chooser_e2e.py +0 -0
  1039. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_agent_only_composer_bdd.py +0 -0
  1040. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_agentic_count_enforcement_e2e.py +0 -0
  1041. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_aisandbox_auth_live.py +0 -0
  1042. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_asset_tagging_e2e.py +0 -0
  1043. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_auth_renew_e2e.py +0 -0
  1044. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_auth_status_mcp_e2e.py +0 -0
  1045. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_auth_verification_e2e.py +0 -0
  1046. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_blocking_dialog_dismissal_bdd.py +0 -0
  1047. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_cancellation_e2e.py +0 -0
  1048. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_chain_e2e.py +0 -0
  1049. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_character_create_e2e.py +0 -0
  1050. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_character_mcp_parity_e2e.py +0 -0
  1051. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_classic_count_setter_e2e.py +0 -0
  1052. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_click_attribution_bdd.py +0 -0
  1053. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_crash_recovery_e2e.py +0 -0
  1054. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_credits_mcp_e2e.py +0 -0
  1055. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_credits_on_flow_bdd.py +0 -0
  1056. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_credits_refresh_e2e.py +0 -0
  1057. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_daemon_e2e.py +0 -0
  1058. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_data_download_e2e.py +0 -0
  1059. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_data_layer_e2e.py +0 -0
  1060. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_data_sync_names_e2e.py +0 -0
  1061. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_e2e_env_isolation.py +0 -0
  1062. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_earlier_run_ref_in_place_bdd.py +0 -0
  1063. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_entity_provenance_e2e.py +0 -0
  1064. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_entity_smuggling_e2e.py +0 -0
  1065. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_frame_picker_binding_bdd.py +0 -0
  1066. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_i2v_flags_e2e.py +0 -0
  1067. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_image_batch_e2e.py +0 -0
  1068. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_image_i2i_ref_cap_e2e.py +0 -0
  1069. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_image_uuid_ref_e2e.py +0 -0
  1070. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_incident_quality_e2e.py +0 -0
  1071. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_insufficient_credits_e2e.py +0 -0
  1072. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_json_output_e2e.py +0 -0
  1073. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_landing_state_diagnosis_bdd.py +0 -0
  1074. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_live_agentic_instructions.py +0 -0
  1075. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_locale_selectors_e2e.py +0 -0
  1076. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_login_identity_recheck_e2e.py +0 -0
  1077. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_manifest_refs_bdd.py +0 -0
  1078. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_mention_chip_order_bdd.py +0 -0
  1079. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_migrated_host_e2e.py +0 -0
  1080. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_migrated_i2v_e2e.py +0 -0
  1081. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_migrated_image_character_mention_bdd.py +0 -0
  1082. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_migrated_locale_e2e.py +0 -0
  1083. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_migrated_refusal_live_bdd.py +0 -0
  1084. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_migrated_submit_body_loss_bdd.py +0 -0
  1085. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_migrated_upscale_e2e.py +0 -0
  1086. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_project_create_e2e.py +0 -0
  1087. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_project_naming_e2e.py +0 -0
  1088. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_recaptcha_error_shape_bdd.py +0 -0
  1089. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_refresh_on_miss_e2e.py +0 -0
  1090. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_retired_labs_route_diagnosis_e2e.py +0 -0
  1091. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_scene_compose_live.py +0 -0
  1092. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_sidebar_recovery_e2e.py +0 -0
  1093. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_t2i_batch_project_e2e.py +0 -0
  1094. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_tools_e2e.py +0 -0
  1095. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_transports_e2e.py +0 -0
  1096. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_video_extend_migrated_e2e.py +0 -0
  1097. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_video_r2v_ref_cap_e2e.py +0 -0
  1098. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_video_r2v_uuid_name_e2e.py +0 -0
  1099. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/e2e/test_video_t2v_e2e.py +0 -0
  1100. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/__init__.py +0 -0
  1101. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/agent_only_composer_live.feature +0 -0
  1102. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/asset_tagging.feature +0 -0
  1103. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/auth.feature +0 -0
  1104. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/auth_login.feature +0 -0
  1105. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/blocking_dialog_dismissal.feature +0 -0
  1106. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/character_create.feature +0 -0
  1107. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/character_read.feature +0 -0
  1108. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/click_attribution.feature +0 -0
  1109. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/conftest.py +0 -0
  1110. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/credits.feature +0 -0
  1111. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/credits_on_flow.feature +0 -0
  1112. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/duration_tab_drift.feature +0 -0
  1113. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/earlier_run_ref_in_place.feature +0 -0
  1114. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/entity_provenance.feature +0 -0
  1115. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/frame_picker_binding.feature +0 -0
  1116. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/image.feature +0 -0
  1117. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/image_batch_references.feature +0 -0
  1118. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/image_upscale.feature +0 -0
  1119. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/incident_diagnostics.feature +0 -0
  1120. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/instructions.feature +0 -0
  1121. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/landing_state_diagnosis.feature +0 -0
  1122. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/latched_locale_recovery.feature +0 -0
  1123. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/locale_picker_include.feature +0 -0
  1124. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/manifest_refs_live.feature +0 -0
  1125. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/mcp_tasks.feature +0 -0
  1126. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/media_picker_tiers.feature +0 -0
  1127. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/mention_chip_order.feature +0 -0
  1128. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_driver.feature +0 -0
  1129. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_host_gate.feature +0 -0
  1130. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_host_images.feature +0 -0
  1131. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_i2v.feature +0 -0
  1132. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_image_character_mention.feature +0 -0
  1133. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_refusal_envelope.feature +0 -0
  1134. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_refusal_live.feature +0 -0
  1135. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_submit_body_loss.feature +0 -0
  1136. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/migrated_video_submit_body_loss.feature +0 -0
  1137. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/output_hardening.feature +0 -0
  1138. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/recaptcha_error_shape.feature +0 -0
  1139. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_auth_login_steps.py +0 -0
  1140. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_auth_steps.py +0 -0
  1141. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_character_create_steps.py +0 -0
  1142. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_character_read_steps.py +0 -0
  1143. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_credits_steps.py +0 -0
  1144. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_e2e_binding_guard.py +0 -0
  1145. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_image_steps.py +0 -0
  1146. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_image_upscale_steps.py +0 -0
  1147. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_incident_diagnostics_steps.py +0 -0
  1148. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_instructions_steps.py +0 -0
  1149. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_locale_picker_include_steps.py +0 -0
  1150. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_mcp_tasks_steps.py +0 -0
  1151. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_media_picker_tiers_steps.py +0 -0
  1152. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_migrated_driver_steps.py +0 -0
  1153. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_migrated_host_gate_steps.py +0 -0
  1154. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_migrated_host_images_steps.py +0 -0
  1155. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_migrated_i2v_steps.py +0 -0
  1156. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_migrated_refusal_envelope_steps.py +0 -0
  1157. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_output_hardening_steps.py +0 -0
  1158. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_step_collision_guard.py +0 -0
  1159. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_video_agent_ui_steps.py +0 -0
  1160. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/test_video_chain_steps.py +0 -0
  1161. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/video_agent_ui.feature +0 -0
  1162. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/features/video_chain.feature +0 -0
  1163. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/fixtures/__init__.py +0 -0
  1164. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/fixtures/changelog_modal_page.html +0 -0
  1165. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/fixtures/flow_model_inventory.json +0 -0
  1166. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/fixtures/flow_project_listing_media.json +0 -0
  1167. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/fixtures/listing_payload.py +0 -0
  1168. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/fixtures/seeded_catalog.py +0 -0
  1169. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/flow_selectors/__init__.py +0 -0
  1170. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/flow_selectors/test_grading.py +0 -0
  1171. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/flow_selectors/test_model.py +0 -0
  1172. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/flow_selectors/test_model_governance.py +0 -0
  1173. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/flow_selectors/test_registry.py +0 -0
  1174. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/flow_selectors/test_report.py +0 -0
  1175. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/image_batch/__init__.py +0 -0
  1176. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/image_batch/test_image_manifest.py +0 -0
  1177. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/image_batch/test_jitter_config.py +0 -0
  1178. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/image_batch/test_observability_events.py +0 -0
  1179. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/integration/__init__.py +0 -0
  1180. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/integration/conftest.py +0 -0
  1181. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/integration/constants.py +0 -0
  1182. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/integration/test_docs_ships_in_wheel.py +0 -0
  1183. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/integration/test_expander_gateway.py +0 -0
  1184. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/integration/test_migrated_video_storage_s3.py +0 -0
  1185. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/integration/test_storage_gcs.py +0 -0
  1186. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/integration/test_storage_s3.py +0 -0
  1187. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/__init__.py +0 -0
  1188. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/conftest.py +0 -0
  1189. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_auth_status_tool.py +0 -0
  1190. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_character_tools.py +0 -0
  1191. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_cli_parity.py +0 -0
  1192. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_credits_tool.py +0 -0
  1193. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_download_error_envelope.py +0 -0
  1194. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_error_funnel.py +0 -0
  1195. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_http_transport.py +0 -0
  1196. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_known_issues_resource.py +0 -0
  1197. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_mcp_profile_contention.py +0 -0
  1198. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_migrated_i2v_parity.py +0 -0
  1199. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_no_spend.py +0 -0
  1200. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_payload_key_round_trip.py +0 -0
  1201. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_rate_limit_envelope.py +0 -0
  1202. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_reference_entity_round_trip.py +0 -0
  1203. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_resources.py +0 -0
  1204. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_serve_auth.py +0 -0
  1205. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_server.py +0 -0
  1206. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_setup.py +0 -0
  1207. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_stdio_transport.py +0 -0
  1208. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_tasks_extension.py +0 -0
  1209. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_tools_helpers.py +0 -0
  1210. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_tools_instructions.py +0 -0
  1211. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_tools_wired.py +0 -0
  1212. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/mcp/test_upscale_tool.py +0 -0
  1213. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_analyze_agent_ui_capture.py +0 -0
  1214. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_canary_classify.py +0 -0
  1215. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_canary_reexec.py +0 -0
  1216. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_capture_locale_invariants.py +0 -0
  1217. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_capture_video_model_capability_matrix.py +0 -0
  1218. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_check_council_memory.py +0 -0
  1219. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_check_fork_pr_ci.py +0 -0
  1220. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_check_materiality.py +0 -0
  1221. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_check_release_artifacts.py +0 -0
  1222. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_check_repo_hygiene.py +0 -0
  1223. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_check_test_count.py +0 -0
  1224. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_check_website_docs_pii.py +0 -0
  1225. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_cleanup.py +0 -0
  1226. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_codex_plugin.py +0 -0
  1227. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_extract_har_summary.py +0 -0
  1228. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_frame_acceptance.py +0 -0
  1229. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_generate_website_docs.py +0 -0
  1230. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_incident_bundle_quality.py +0 -0
  1231. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_materiality_backtest.py +0 -0
  1232. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_skillopt_scoring.py +0 -0
  1233. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_spike_page_pool.py +0 -0
  1234. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_spike_profile_lease.py +0 -0
  1235. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_update_sponsors.py +0 -0
  1236. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/scripts/test_workflow_hardening.py +0 -0
  1237. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/__init__.py +0 -0
  1238. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_catalog_sync.py +0 -0
  1239. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_character_create_redaction.py +0 -0
  1240. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_character_create_saga.py +0 -0
  1241. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_character_gen_no_direct_post.py +0 -0
  1242. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_credits.py +0 -0
  1243. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_media_attribution.py +0 -0
  1244. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_media_recovery.py +0 -0
  1245. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_mentions_observability.py +0 -0
  1246. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_mentions_parse.py +0 -0
  1247. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_mentions_resolve.py +0 -0
  1248. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/services/test_resolve_and_apply.py +0 -0
  1249. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/smoke/__init__.py +0 -0
  1250. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/smoke/test_profile_account_smoke.py +0 -0
  1251. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/smoke/test_real_flow.py +0 -0
  1252. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_about_landing_guard.py +0 -0
  1253. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_auth.py +0 -0
  1254. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_batch_outcomes.py +0 -0
  1255. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_browser_manager.py +0 -0
  1256. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_chain.py +0 -0
  1257. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_chain_manifest.py +0 -0
  1258. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_cli_data.py +0 -0
  1259. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_cli_project.py +0 -0
  1260. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_cli_update.py +0 -0
  1261. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_config_agent_confirm.py +0 -0
  1262. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_conftest_isolation.py +0 -0
  1263. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_data_queries.py +0 -0
  1264. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_diagnostics_bundle.py +0 -0
  1265. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_diagnostics_events.py +0 -0
  1266. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_diagnostics_journal.py +0 -0
  1267. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_diagnostics_recorder.py +0 -0
  1268. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_diagnostics_retention.py +0 -0
  1269. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_diagnostics_sanitize.py +0 -0
  1270. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_dockerfile_version_pin.py +0 -0
  1271. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_documentation_gate.py +0 -0
  1272. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_duration_tab_drift.py +0 -0
  1273. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_entity_provenance.py +0 -0
  1274. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_errors_classification.py +0 -0
  1275. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_glama_build_spec.py +0 -0
  1276. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_image_batch_references.py +0 -0
  1277. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_incident_generation_requests.py +0 -0
  1278. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_json_output.py +0 -0
  1279. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_manifest_refs.py +0 -0
  1280. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_marker_registry.py +0 -0
  1281. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_media.py +0 -0
  1282. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_overlay_banner_dismissal.py +0 -0
  1283. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_paths.py +0 -0
  1284. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_playwright_pin.py +0 -0
  1285. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_plugin_manifests.py +0 -0
  1286. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_profile_lease.py +0 -0
  1287. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_profile_lease_subprocess.py +0 -0
  1288. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_profile_store.py +0 -0
  1289. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_profile_store_locale.py +0 -0
  1290. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_project_list_urls.py +0 -0
  1291. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_release_version_sites.py +0 -0
  1292. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_rich_markup_safety.py +0 -0
  1293. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_self_documenting_errors.py +0 -0
  1294. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_server_json.py +0 -0
  1295. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_smoke.py +0 -0
  1296. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/test_update_check.py +0 -0
  1297. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/tools/__init__.py +0 -0
  1298. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/tools/test_banned.py +0 -0
  1299. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/tools/test_expander.py +0 -0
  1300. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/tools/test_invocation.py +0 -0
  1301. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/tools/test_loader.py +0 -0
  1302. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/tools/test_registry.py +0 -0
  1303. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/tools/test_runtime.py +0 -0
  1304. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/tools/test_spec.py +0 -0
  1305. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/ui/test_app.py +0 -0
  1306. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/worker/test_codec.py +0 -0
  1307. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/worker/test_codec_image_ref_project.py +0 -0
  1308. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/worker/test_mcp_daemon_race.py +0 -0
  1309. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/worker/test_queue.py +0 -0
  1310. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/worker/test_queue_multiprocess.py +0 -0
  1311. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/tests/worker/test_queue_reconciliation.py +0 -0
  1312. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/ARCHITECTURE.md +0 -0
  1313. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/CHARACTER.md +0 -0
  1314. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/DATA_LAYER.md +0 -0
  1315. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/DEBUGGING.md +0 -0
  1316. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/DEVELOPMENT.md +0 -0
  1317. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/EXTERNAL_STORAGE.md +0 -0
  1318. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/INSTRUCTIONS.md +0 -0
  1319. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/MEDIA_LIBRARY.md +0 -0
  1320. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/MOVIE.md +0 -0
  1321. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/PROMPT_EXPANSION.md +0 -0
  1322. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/SECURITY.md +0 -0
  1323. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/SPONSORS.md +0 -0
  1324. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/TOOLS.md +0 -0
  1325. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/agents.md +0 -0
  1326. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/index.md +0 -0
  1327. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/installation.md +0 -0
  1328. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/onboarding-mockup.html +0 -0
  1329. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/onboarding.md +0 -0
  1330. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/docs/stylesheets/extra.css +0 -0
  1331. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/mkdocs.yml +0 -0
  1332. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/requirements.in +0 -0
  1333. {gflow_cli-0.87.1 → gflow_cli-0.88.0}/website/requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gflow",
3
- "version": "0.87.1",
3
+ "version": "0.88.0",
4
4
  "description": "Reusable development and operations workflows for gflow-cli",
5
5
  "author": {
6
6
  "name": "Flavio Oliva",
@@ -116,11 +116,8 @@
116
116
  # Runtime tuning
117
117
  # -----------------------------------------------------------------------------
118
118
 
119
- # Per-request HTTP timeout (seconds). Veo videos can take 60-180s each.
120
- # GFLOW_CLI_TIMEOUT_SECONDS=600
121
-
122
- # Logging level — DEBUG | INFO | WARNING | ERROR
123
- # GFLOW_CLI_LOG_LEVEL=INFO
119
+ # Logging level — DEBUG | INFO | WARNING | ERROR (default WARNING; INFO shows progress events)
120
+ # GFLOW_CLI_LOG_LEVEL=WARNING
124
121
 
125
122
  # Log format — auto | text | json
126
123
  # auto = text on TTY, json when piped (default)
@@ -173,6 +170,14 @@
173
170
  # `gflow auth login --profile <name>` rather than making this window visible.
174
171
  # GFLOW_CLI_BROWSER_WINDOW_POSITION=-30000,-30000
175
172
 
173
+ # Proxy for every browser gflow launches (generation, auth login/renew/status), #1036.
174
+ # Opt-in; unset, the browser connects as before (on Windows, via the system proxy).
175
+ # Accepts http://host:port, https://host:port or socks5://host:port. No user:pass@:
176
+ # Flow does not load through proxy credentials, so let a local client (Clash, v2ray)
177
+ # hold them. gflow's own HTTP calls follow HTTPS_PROXY instead, never this: point both
178
+ # at the same proxy, and sign in through it. Validated at startup (exit 11).
179
+ # GFLOW_CLI_BROWSER_PROXY=http://127.0.0.1:7897
180
+
176
181
  # Browser automation engine — playwright (default) | patchright
177
182
  # patchright is an OPT-IN, drop-in patched Playwright (Chromium) that avoids the
178
183
  # Runtime.enable CDP leak for stronger reCAPTCHA-Enterprise evasion on the HEADED
@@ -102,7 +102,7 @@ the five other mirror axes), which no command here can check and no CI gate can
102
102
  - 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
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).
104
104
  - **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
- - 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), `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.
105
+ - 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
106
  - Live tests (`@pytest.mark.live`) opt in via `GFLOW_LIVE=1`.
107
107
 
108
108
  ## Code style
@@ -7,6 +7,103 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.88.0] — 2026-10-22
11
+
12
+ ### Added
13
+
14
+ - **`GFLOW_CLI_BROWSER_PROXY` routes the browser through a proxy**
15
+ ([#1036](https://github.com/ffroliva/gflow-cli/issues/1036), reported by @error-Sench).
16
+ On a network where Google is reachable only through a local proxy (Clash on
17
+ `127.0.0.1:7897`, say), gflow's HTTP calls followed `HTTPS_PROXY` but the browser it
18
+ launches did not, so every page step timed out. The new setting takes
19
+ `http://`, `https://` or `socks5://host:port` and applies to every browser launch:
20
+ generation over the CLI and MCP, `auth login`, `auth renew` and the `auth status`
21
+ check. Opt-in: unset changes nothing, and it is never derived from `HTTPS_PROXY`. A bad
22
+ value fails at startup (exit 11), and so do proxy credentials (`user:pass@`): measured,
23
+ Flow never loads through Playwright's proxy authentication, so a local client such as
24
+ Clash should hold them. A dead proxy stops a generation run at its first page load with
25
+ a hint naming the setting (exit 11). `gflow doctor` reports the proxy, and credentials
26
+ inside any URL are now redacted from error details.
27
+ `docs/ACCOUNT_SAFETY.md` now says: no IP rotation, no proxy unless you set one, and sign
28
+ in through the proxy you generate through.
29
+
30
+ ### Fixed
31
+
32
+ - **A project create on a slow link no longer fails while Flow makes the project, and
33
+ never invites the retry that duplicates it**
34
+ ([#1037](https://github.com/ffroliva/gflow-cli/issues/1037)). On flow.google.com a create
35
+ whose reply took over 30 s (measured: 40 s through a slow proxy) ended as exit 9
36
+ `TransportTimeoutError`, flagged retryable, while Flow went on to create the project, so
37
+ a retry made a second one. The create and rename replies now wait up to 120 s. Selector
38
+ waits stay at 30 s, so a moved frontend still fails fast. If the reply is still late or
39
+ lost, gflow takes the id from Flow's navigation to the new project and checks it. If it
40
+ cannot prove the outcome, it now ends with exit 7 (`RpcResponseUnavailableError`,
41
+ `retryable: false` in `--json` and on the MCP queue) and tells you to look for the
42
+ project and pass `--project <id>`, instead of a retryable timeout. A rename whose reply
43
+ is lost is settled by reading the saved title back. Builds on #992's lost-body recovery.
44
+
45
+ - **Commands no longer print about ten info log lines before their result, and
46
+ `GFLOW_CLI_LOG_LEVEL` works** ([#1041](https://github.com/ffroliva/gflow-cli/issues/1041)).
47
+ Every command logged at `INFO` to stderr regardless of `GFLOW_CLI_LOG_LEVEL`, which was
48
+ documented but read by nothing. The default is now `WARNING`, so a command prints its
49
+ result plus warnings and errors. `GFLOW_CLI_LOG_LEVEL=INFO` restores the old output, and
50
+ `-v` still shows everything. A long-running `gflow mcp run` / `gflow serve` now also logs
51
+ only warnings by default (uvicorn's own startup and access lines under `serve` are
52
+ separate); set `INFO` there to keep progress events. `gflow data sync` now echoes its
53
+ per-project progress itself unless INFO text logs already narrate it. `--json` stdout is
54
+ unchanged (it was already only the result).
55
+ - **A generated image whose download fails is no longer lost**
56
+ ([#1035](https://github.com/ffroliva/gflow-cli/issues/1035), reported by @error-Sench).
57
+ Flow generated the image and spent the quota, then a failed local write (for example an
58
+ `--out` directory gflow cannot write to) left only a FAILED row with no project and no
59
+ asset, and the media id went with the traceback. `image t2i`, `image i2i`, `image batch`,
60
+ `gflow run` and the MCP `gflow_generate_image` tool now keep the media id in the catalog,
61
+ with no local copy, under one FAILED operation in its project. `image t2i` and `image i2i`
62
+ also print the media id(s) and the project URL on stderr; `image batch` and `gflow run`
63
+ only log them (the row is marked failed in their summary). The MCP failed reply carries
64
+ `flow_media_id` and `flow_project_id`. Exit codes are unchanged (a write refused by the OS
65
+ is still exit 1). A download interrupted with Ctrl-C leaves the operation STARTED, which
66
+ `gflow doctor` reports as stuck after 24 h. `gflow data download` stays video-only, so the
67
+ image is recovered from the Flow project.
68
+
69
+ - **`gflow auth login --browser internal` no longer waits until its timeout**
70
+ ([#1026](https://github.com/ffroliva/gflow-cli/issues/1026)). With labs.google's session
71
+ URL answering 410 (#1023), a bundled-Chromium login (`--browser internal`, or
72
+ `--browser auto` on a machine without Chrome) never saw a signed-in session and waited
73
+ until its timeout. It now ends the wait once the flow.google.com session cookies appear,
74
+ then verifies the saved profile with the same server-attested check `--browser chrome`
75
+ and `auth status` use, so a sign-in that did not complete says why instead of timing
76
+ out. Generation still needs a `--browser chrome` profile. Verified live on Windows
77
+ (2026-10-22: a fresh bundled-Chromium sign-in finished on its own and `auth status`
78
+ reported the session verified). Not measured on macOS, where the saved-cookie read is
79
+ expected to fail; the login then ends with "re-run with `--browser chrome`".
80
+ - **flow.google.com: a write whose reply Chrome lost is read back, not called a failure**
81
+ ([#1009](https://github.com/ffroliva/gflow-cli/issues/1009), PR
82
+ [#992](https://github.com/ffroliva/gflow-cli/pull/992) by @L1meSn0w). Chrome sometimes
83
+ cannot hand over a reply body (`Network.getResponseBody: No data found`, 2 of 45 real
84
+ uploads in our spike) although Flow saved the write. A local upload was reported as a
85
+ rejected file, and a project create or rename as a timeout. gflow now opens the project
86
+ in a second tab and checks it: the new project's id from the page it navigated to, the
87
+ saved title, or exactly one tile with the run's unique file name and a media id. Nothing
88
+ is submitted twice. If that check cannot prove the outcome, the command exits 7 with
89
+ `RpcResponseUnavailableError`, which is not retryable. Renaming a project to the title it
90
+ already has no longer waits for a reply Flow never sends.
91
+
92
+ ### Changed
93
+
94
+ - **A lost upload reply now exits 7 (`RpcResponseUnavailableError`) instead of 27**
95
+ ([#1009](https://github.com/ffroliva/gflow-cli/issues/1009)). Exit 27 still means Flow
96
+ answered and refused the file. Exit 7 here means the outcome is unknown: the upload may
97
+ have saved, so check the project before re-running. Scripts that branch on 27 for a lost
98
+ upload should branch on 7.
99
+
100
+ ### Removed
101
+
102
+ - **`GFLOW_CLI_TIMEOUT_SECONDS`** ([#1037](https://github.com/ffroliva/gflow-cli/issues/1037)).
103
+ It was documented as a per-request HTTP timeout and elsewhere as a chain link ceiling, but
104
+ nothing read it. An `.env` file or environment that still sets it keeps loading; the
105
+ value is ignored, as it always was.
106
+
10
107
  ## [0.87.1] — 2026-10-22
11
108
 
12
109
  ### Security
@@ -6308,7 +6405,8 @@ shell-script template that branches on these codes.
6308
6405
 
6309
6406
  First skeleton. Not functional end-to-end yet.
6310
6407
 
6311
- [Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.87.1...HEAD
6408
+ [Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.88.0...HEAD
6409
+ [0.88.0]: https://github.com/ffroliva/gflow-cli/compare/v0.87.1...v0.88.0
6312
6410
  [0.87.1]: https://github.com/ffroliva/gflow-cli/compare/v0.87.0...v0.87.1
6313
6411
  [0.87.0]: https://github.com/ffroliva/gflow-cli/compare/v0.86.0...v0.87.0
6314
6412
  [0.86.0]: https://github.com/ffroliva/gflow-cli/compare/v0.85.0...v0.86.0
@@ -843,6 +843,18 @@ The contrasting message, **`no upload request ever left the page`**, means somet
843
843
 
844
844
  **What is known.** A healthy upload window issues **4** POSTs; a failing one issued **24** — the full project-load rpcid inventory, firing ~2.6 s after the request went out, which is just before the ~2.8 s successful uploads take to answer. That has the shape of the page re-initialising underneath the in-flight upload, but no navigation event was captured, so the cause is unconfirmed. Measured 2026-09-08, 1 failure in 4 runs on one funded account — enough for "intermittent", not enough for a rate.
845
845
 
846
+ ### Chrome loses a reply body although Flow saved the write (migrated host)
847
+
848
+ - **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 · **Tracked:** [#1009](https://github.com/ffroliva/gflow-cli/issues/1009)
849
+
850
+ 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).
851
+
852
+ A project create or rename whose reply is late, not lost, takes the same path: on a slow link a 40 s create used to end as a retryable exit 9 while Flow made the project, so a retry made a second one ([#1037](https://github.com/ffroliva/gflow-cli/issues/1037)). The reply wait is now 120 s, and past it gflow reads the new project's id from Flow's navigation to it.
853
+
854
+ **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.
855
+
856
+ **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.
857
+
846
858
  ### Flow's release-notes ("What's new") changelog popup blocks first-run UI automation
847
859
 
848
860
  - **Status:** Mitigated · **Severity:** Medium · **Tracked:** [#26](https://github.com/ffroliva/gflow-cli/issues/26)
@@ -1521,7 +1533,7 @@ here, because the run gives up within 30 s (see [CONFIGURATION](docs/CONFIGURATI
1521
1533
 
1522
1534
  ### Auth verification depends on Google's NextAuth session endpoint
1523
1535
 
1524
- - **Status:** Mitigated for real-Chrome profiles and for `gflow credits` (#795); **open** for logins with `--browser internal` · **Severity:** Medium since 2026-10-22 · **Affects:** issue #15 fix onward · **Tracked:** issue #15, [#1023](https://github.com/ffroliva/gflow-cli/issues/1023), [#795](https://github.com/ffroliva/gflow-cli/issues/795)
1536
+ - **Status:** Mitigated for real-Chrome profiles and for `gflow credits` (#795); `--browser internal` logins fixed and live-verified on Windows (#1026) · **Severity:** Medium since 2026-10-22 · **Affects:** issue #15 fix onward · **Tracked:** issue #15, [#1023](https://github.com/ffroliva/gflow-cli/issues/1023), [#795](https://github.com/ffroliva/gflow-cli/issues/795)
1525
1537
 
1526
1538
  `gflow auth login` verifies a real Flow sign-in by calling
1527
1539
  `https://labs.google/fx/api/auth/session` (see `src/gflow_cli/auth/verification.py`)
@@ -1541,9 +1553,12 @@ read as "no labs session": a profile without Google cookies is `NO_SESSION`, and
1541
1553
  them is checked by the server-attested migrated-host probe (#791), which needs the Google
1542
1554
  SSO and flow.google.com session cookies, then reads `myaccount.google.com`. **Still open:**
1543
1555
  some access-token consumers that read the same URL are not ported. `gflow credits` is
1544
- (#795: it reads flow.google.com's own balance reply). And a login with `--browser internal` (bundled
1545
- Chromium, also what `--browser auto` picks when Chrome is missing) cannot finish: it has no
1546
- on-disk check to hand the verdict to, so it waits until its timeout. Use `--browser chrome`.
1556
+ (#795: it reads flow.google.com's own balance reply). A login with `--browser internal` (bundled
1557
+ Chromium, also what `--browser auto` picks when Chrome is missing) runs the same on-disk
1558
+ check after the window closes ([#1026](https://github.com/ffroliva/gflow-cli/issues/1026));
1559
+ before that fix it waited until its timeout. A fresh bundled-Chromium sign-in passed that check
1560
+ on Windows (2026-10-22). On macOS the cookie read is expected to fail and is not measured, so
1561
+ use `--browser chrome` there.
1547
1562
 
1548
1563
  Since PR #168 the production entry point is `verify_flow_profile`, which reads
1549
1564
  the session cookie **directly from Chrome's SQLite store** via `browser_cookie3`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: gflow-cli
3
- Version: 0.87.1
3
+ Version: 0.88.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/
@@ -140,6 +140,7 @@ uv tool run --from gflow-cli playwright install chromium # one-time, ~150 MB
140
140
  # later: `gflow update` upgrades in place (every command shows a banner when a newer release is out)
141
141
 
142
142
  # 2 · Authenticate (one-time, opens a real Chrome window)
143
+ # Behind a proxy (e.g. Clash)? Set GFLOW_CLI_BROWSER_PROXY=http://127.0.0.1:7897 first (docs/CONFIGURATION.md)
143
144
  gflow auth login --browser chrome
144
145
 
145
146
  # Check the session (spends nothing)
@@ -115,7 +115,7 @@ src/gflow_cli/
115
115
 
116
116
  Documented in [docs/CONFIGURATION.md](docs/CONFIGURATION.md) and [.env.template](.env.template). Variables:
117
117
 
118
- `GFLOW_CLI_HOME`, `GFLOW_CLI_OUTPUT_DIR`, `GFLOW_CLI_PROFILE`, `GFLOW_CLI_PROVIDER`, `GFLOW_CLI_LLM_BASE_URL`, `GFLOW_CLI_LLM_API_KEY`, `GFLOW_CLI_LLM_MODEL`, `GFLOW_CLI_TIMEOUT_SECONDS`, `GFLOW_CLI_LOG_LEVEL`, `GFLOW_CLI_LOG_FORMAT`, `GFLOW_CLI_CONCURRENCY`, `GFLOW_CLI_DB_PATH`, `GFLOW_CLI_HISTORY_PROMPTS`.
118
+ `GFLOW_CLI_HOME`, `GFLOW_CLI_OUTPUT_DIR`, `GFLOW_CLI_PROFILE`, `GFLOW_CLI_PROVIDER`, `GFLOW_CLI_LLM_BASE_URL`, `GFLOW_CLI_LLM_API_KEY`, `GFLOW_CLI_LLM_MODEL`, `GFLOW_CLI_LOG_LEVEL`, `GFLOW_CLI_LOG_FORMAT`, `GFLOW_CLI_CONCURRENCY`, `GFLOW_CLI_DB_PATH`, `GFLOW_CLI_HISTORY_PROMPTS`.
119
119
 
120
120
  Default paths via `platformdirs`:
121
121
 
@@ -52,6 +52,7 @@ uv tool run --from gflow-cli playwright install chromium # one-time, ~150 MB
52
52
  # later: `gflow update` upgrades in place (every command shows a banner when a newer release is out)
53
53
 
54
54
  # 2 · Authenticate (one-time, opens a real Chrome window)
55
+ # Behind a proxy (e.g. Clash)? Set GFLOW_CLI_BROWSER_PROXY=http://127.0.0.1:7897 first (docs/CONFIGURATION.md)
55
56
  gflow auth login --browser chrome
56
57
 
57
58
  # Check the session (spends nothing)
@@ -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.87.1
48
+ ARG GFLOW_VERSION=0.88.0
49
49
  RUN pip install --no-cache-dir "gflow-cli==${GFLOW_VERSION}"
50
50
 
51
51
  VOLUME ["/data"]
@@ -73,7 +73,14 @@ auto-retry, because retrying only inflates per-profile heat.**
73
73
 
74
74
  ## What it deliberately does not do
75
75
 
76
- - **No proxy or IP rotation.** Your requests come from your connection.
76
+ - **No IP rotation, and no proxy unless you set one.** By default your requests come from
77
+ your connection. [`GFLOW_CLI_BROWSER_PROXY`](CONFIGURATION.md#gflow_cli_browser_proxy)
78
+ routes the browser through **one** proxy you choose, for networks where Google is
79
+ reachable only that way. Google watches where a session comes from, so: sign in, renew
80
+ and generate through the **same** proxy; point `HTTPS_PROXY` at the same exit, so
81
+ gflow's own HTTP calls do not leave from a second IP; and remember that a shared or
82
+ commercial proxy IP carries other people's reputation, which can trigger "Confirm it's
83
+ you" checks or reCAPTCHA refusals on your account.
77
84
  - **No fingerprint spoofing**, beyond the opt-in patched engine below. No canvas
78
85
  noise, no UA lying, no timezone games.
79
86
  - **No headless "unlock".** The patchright option is explicitly *not* one.
@@ -146,11 +146,13 @@ gflow auth login --profile work # named profile (creates if missing)
146
146
  gflow auth login --browser chrome # force the chrome strategy (real Chrome + its profile marker)
147
147
  ```
148
148
 
149
- > **Use `--browser chrome` for now.** Since 2026-10-22 labs.google's session URL answers HTTP
150
- > 410 ([#1023](https://github.com/ffroliva/gflow-cli/issues/1023)). A real-Chrome login is
151
- > verified against Google's account page instead; a bundled-Chromium login (`--browser
152
- > internal`, or `auto` on a machine without Chrome) has no such check yet, so it waits until
153
- > its timeout ([#1026](https://github.com/ffroliva/gflow-cli/issues/1026)).
149
+ > **Prefer `--browser chrome`.** Since 2026-10-22 labs.google's session URL answers HTTP
150
+ > 410 ([#1023](https://github.com/ffroliva/gflow-cli/issues/1023)), so every login is
151
+ > verified against Google's account page with the profile's saved cookies. A
152
+ > bundled-Chromium login (`--browser internal`, or `auto` on a machine without Chrome) runs
153
+ > that check too ([#1026](https://github.com/ffroliva/gflow-cli/issues/1026)). It is verified
154
+ > on Windows; on macOS it is expected to fail (not measured), and generation needs a
155
+ > chrome-strategy profile.
154
156
 
155
157
  Re-running this command refreshes an expired session: it reuses the existing profile dir,
156
158
  so you typically just have to click "Continue as <you>" on the Google account chooser.
@@ -247,6 +249,12 @@ launched as a plain process with no automation flags and no debugging port, wher
247
249
  the window once the Flow editor has loaded and `gflow` extracts the verified session from the
248
250
  profile. There is no flag and no prompt for this — the fallback simply happens.
249
251
 
252
+ **Behind a proxy.** Set [`GFLOW_CLI_BROWSER_PROXY`](CONFIGURATION.md#gflow_cli_browser_proxy)
253
+ before `gflow auth login`, so you sign in from the same IP you will generate from. Both
254
+ login paths use it, including the Passive Capture fallback (as Chrome's
255
+ `--proxy-server` switch). Use a proxy without credentials, such as a local Clash on
256
+ `http://127.0.0.1:7897`.
257
+
250
258
  **Privacy guard:** The `chrome` strategy strictly refuses to use any profile directory
251
259
  outside `GFLOW_CLI_HOME`. This protects your primary system Chrome profile from
252
260
  accidental interference or data corruption.
@@ -250,12 +250,6 @@ Both generate tools are gated, not just video: image generation is only *empiric
250
250
  GFLOW_CLI_AUTH_LOGIN_TIMEOUT=120 gflow auth login # abort after 2 minutes
251
251
  ```
252
252
 
253
- ### `GFLOW_CLI_TIMEOUT_SECONDS`
254
-
255
- **What:** Per-request HTTP timeout. Veo videos can take 60–180 s each.
256
- **Default:** `600`
257
- **Note:** This is a single-request ceiling; the *batch* timeout you experience is sum of all per-clip waits.
258
-
259
253
  ### `GFLOW_CLI_JITTER_RANGE`
260
254
 
261
255
  **What:** Anti-bot pause between prompt submissions in multi-prompt image runs (`gflow image batch`, `gflow image t2i --prompts-file` / `--stdin` / multiple positional prompts, and `gflow run` image batches). Spaces out the *submission clicks* only — generations still run in parallel inside Flow.
@@ -267,16 +261,19 @@ GFLOW_CLI_AUTH_LOGIN_TIMEOUT=120 gflow auth login # abort after 2 minutes
267
261
 
268
262
  ### `GFLOW_CLI_LOG_LEVEL`
269
263
 
270
- **What:** Logging verbosity.
264
+ **What:** Logging verbosity. Logs go to stderr; stdout carries only the command's output.
271
265
  **Values:** `DEBUG` | `INFO` | `WARNING` | `ERROR`
272
- **Default:** `INFO`
266
+ **Default:** `WARNING` — a command prints its result plus any warnings and errors. Set `INFO`
267
+ to see progress events (engine, cookies, locale, page setup), for example on a long-running
268
+ `gflow mcp run` / `gflow serve`.
273
269
  **CLI override:** `-v` / `--verbose` flag flips to `DEBUG`.
270
+ Until the #1041 fix this setting was ignored and every command logged at `INFO` ([#1041](https://github.com/ffroliva/gflow-cli/issues/1041)).
274
271
 
275
272
  ### `GFLOW_CLI_LOG_FORMAT`
276
273
 
277
274
  **What:** Output format for log lines.
278
275
  **Values:**
279
- - `auto` (default) — text on TTY, JSON when stdout is piped/redirected
276
+ - `auto` (default) — text when stderr is a terminal, JSON when stderr is piped/redirected
280
277
  - `text` — always pretty (Rich-styled, colours)
281
278
  - `json` — always machine-readable (one JSON object per line)
282
279
 
@@ -399,6 +396,49 @@ Measurement script: `scripts/dev/spike_offscreen_window.py`.
399
396
 
400
397
  **Malformed values** (`100`, `1,2,3`, `a,b`) fail at startup with a validation error.
401
398
 
399
+ ### `GFLOW_CLI_BROWSER_PROXY`
400
+
401
+ **What:** A proxy for every browser gflow launches: generation (CLI and MCP),
402
+ `gflow auth login`, `auth renew` and the session check behind `auth status`
403
+ ([#1036](https://github.com/ffroliva/gflow-cli/issues/1036)).
404
+ **Values:** `http://host:port` | `https://host:port` | `socks5://host:port`; the port is
405
+ required, and credentials (`user:pass@`) are refused, see below
406
+ **Default:** unset. The browser then connects as it always has: on Windows that means
407
+ through the system proxy (Settings → Network → Proxy), if one is on.
408
+
409
+ Use it when Google is reachable only through a proxy, for example a local Clash or
410
+ v2ray client on `http://127.0.0.1:7897` with its *System Proxy* switch off.
411
+
412
+ **Two proxies, one exit.** gflow's own HTTP calls (httpx, the LLM client) follow
413
+ `HTTPS_PROXY`; the browser follows this setting and ignores `HTTPS_PROXY` (Chromium reads
414
+ proxy env vars only on Linux). gflow never copies one into the other. Point both at the
415
+ same proxy so Google sees one IP per session, and sign in through it. See
416
+ [ACCOUNT_SAFETY](ACCOUNT_SAFETY.md#what-it-deliberately-does-not-do).
417
+
418
+ | Situation | What happens |
419
+ |---|---|
420
+ | unset | no change from earlier versions |
421
+ | set | every browser launch routes through it; `gflow doctor` shows it |
422
+ | credentials (`user:pass@`), a missing host or port, a path or an unknown scheme | refused at startup, exit 11, naming the setting and never repeating the value |
423
+ | the proxy is down or refuses the tunnel | a generation run stops at its first page load, exit 11, with a hint naming this setting. `auth status` and `auth renew` report an unverified session instead (the usual "check your connection" wording), so check the proxy first |
424
+
425
+ **Why no credentials.** Through a proxy that asks for a password, the Flow page never
426
+ finishes loading: measured 2026-10-22 on Playwright 1.61 with bundled Chromium and
427
+ Chrome alike, the labs → flow.google.com navigation timed out at 45 s, while the same
428
+ proxy without a password loaded it in about a second (and plain sites loaded either way).
429
+ Run your proxy client locally and let it hold the upstream credentials; that is how
430
+ Clash and v2ray work by default. `tests/e2e/test_browser_proxy_e2e.py` re-measures this,
431
+ so the restriction can be lifted once Playwright handles it.
432
+
433
+ **Long-running servers** (`gflow mcp run`, `gflow serve`) read it once at start; restart
434
+ them after changing it. For MCP, set it in `$GFLOW_CLI_HOME/.env` or the client's `env`
435
+ block, since a client does not load a `.env` from your shell's directory
436
+ ([MCP setup](MCP.md#4-setup-instructions)).
437
+
438
+ **Not supported:** a bypass list (Chromium already sends loopback addresses direct),
439
+ per-command `--proxy` flags (the setting covers one-off runs:
440
+ `GFLOW_CLI_BROWSER_PROXY=... gflow ...`), and the opt-in experimental transports.
441
+
402
442
  ### `GFLOW_CLI_BROWSER_ENGINE`
403
443
 
404
444
  **What:** Selects the browser-automation engine backing the Playwright API.
@@ -534,10 +574,9 @@ For images, `--out DIR` writes flat as `<DIR>/<media_name>_<n>.png` — file pat
534
574
  `gflow video chain` (last-frame I2V chaining — see
535
575
  [USAGE § gflow video chain](USAGE.md#gflow-video-chain)) is configured entirely
536
576
  by command-line flags; it adds **no new environment variables**. It reuses
537
- `GFLOW_CLI_OUTPUT_DIR` (default output root), `GFLOW_CLI_PROFILE`,
538
- `GFLOW_CLI_DB_PATH` (chain links are recorded for `--resume-from`), and
539
- `GFLOW_CLI_TIMEOUT_SECONDS` (per-link generation ceiling — the chain waits for
540
- each link in turn, so total wallclock is the sum of all link waits).
577
+ `GFLOW_CLI_OUTPUT_DIR` (default output root), `GFLOW_CLI_PROFILE`
578
+ and `GFLOW_CLI_DB_PATH` (chain links are recorded for `--resume-from`). The chain
579
+ waits for each link in turn, so total wallclock is the sum of all link waits.
541
580
 
542
581
  | Flag | Default | Notes |
543
582
  |---|---|---|
@@ -601,12 +640,10 @@ gflow image t2i "product photo on a white sweep"
601
640
 
602
641
  See [EXTERNAL_STORAGE.md](EXTERNAL_STORAGE.md) for MinIO and GCS examples.
603
642
 
604
- ### "I'm running in CI — I want JSON logs and a strict timeout"
643
+ ### "I'm running in CI — I want JSON logs"
605
644
 
606
645
  ```bash
607
- GFLOW_CLI_LOG_FORMAT=json \
608
- GFLOW_CLI_TIMEOUT_SECONDS=300 \
609
- gflow image batch ./manifest.tsv
646
+ GFLOW_CLI_LOG_FORMAT=json gflow image batch ./manifest.tsv
610
647
  ```
611
648
 
612
649
  ### "I want to test against the official Veo SDK"
@@ -631,10 +668,10 @@ gflow image t2i "test idea" --profile experiments
631
668
 
632
669
  | Symptom | Likely cause | Fix |
633
670
  |---|---|---|
634
- | `ValidationError: GFLOW_CLI_TIMEOUT_SECONDS must be a positive integer` | Bad `.env` value | Set to a number ≥ 1 |
635
671
  | `FileNotFoundError: $GFLOW_CLI_HOME/profile_default not found` | First run, no auth yet | `gflow auth login` |
636
672
  | `AuthExpiredError` | Cookies expired or revoked | `gflow auth login --profile <name>` |
637
673
  | A run stops on an account chooser, consent or verification screen (`FlowAccountChooserError`, exit 38) | Google wants a person to answer that screen | `gflow auth login --profile <name>` and clear it there; the login window is always visible. Making the generation window visible does not help: the run gives up within 30 s. See [`GFLOW_CLI_BROWSER_WINDOW_POSITION`](#gflow_cli_browser_window_position) |
674
+ | Every browser step times out, while `curl` and `HTTPS_PROXY` work | Google is reachable only through a proxy, and the browser ignores `HTTPS_PROXY` | Set [`GFLOW_CLI_BROWSER_PROXY`](#gflow_cli_browser_proxy) to the same proxy, then `gflow auth renew` |
638
675
  | `ProfileAccessError` (exit code 11) | Chrome cannot write the profile directory (Windows access denied) | Grant write access to the whole profile directory, or use a writable profile. See [Profile-directory permissions](#profile-directory-permissions-at-browser-launch) |
639
676
  | Output files don't appear where I expect | Flag > env > .env > default — check actual resolved path | `gflow image t2i ... --verbose` shows the resolved output path |
640
677
  | `ProfileLockedError` (exit code 11) | Two concurrent calls against the same profile — the cross-process `ProfileLease` fails fast (never waits) on same-profile contention, whether the second holder is another `gflow` process, the `gflow serve` daemon, or an MCP call | Wait for the first call to finish, or use `--profile other` — different profiles run fully in parallel, each with its own lease |
@@ -156,9 +156,11 @@ test, not a mocked proxy — the Bug Lane's step 5.
156
156
  | `GFLOW_CLI_E2E_VIDEO_MODEL` | `"omni-flash"` | Veo model for i2v tests: `omni-flash` or `veo-fast`. |
157
157
  | `GFLOW_CLI_E2E_VIDEO_DURATION` | `"4"` | Seconds of video to generate in i2v tests (minimum credit unit). |
158
158
  | `GFLOW_CLI_E2E_RUN_REFUSAL` | `"0"` | Set to `"1"` to run the migrated refusal e2e (`e2e_image`): one image submit goes out with its reCAPTCHA token corrupted so Flow refuses it, proving the refusal is reported as `WafRejectionError`. Zero credits, but a refused token can raise the profile's WAF score for hours, so run it **alone** and on a probe profile, never before other image tests in the same session. |
159
+ | `GFLOW_CLI_E2E_RUN_SLOW_LINK` | `"0"` | Set to `"1"` to run the slow-link project-create e2e (#1037, `e2e_auth`, `tests/e2e/test_project_create_slow_link_e2e.py`): it holds back Flow's create reply and checks that gflow returns the project it made, or exits 7 (not retryable) when it cannot tell. Zero credits; opt-in because each test leaves one empty project (`e2e-1037-*`, one untitled) and there is no delete route. |
159
160
  | `GFLOW_CLI_E2E_RUN_ENTITY_PROV` | `"0"` | Set to `"1"` to run the entity-provenance e2e (#402) — asserts a generation Flow actually accepted records its `entity_ids` / `entity_names` in `operations.metadata_json`. Opt-in because it drives a real browser generation (no credit cost — images are free). |
160
161
  | `GFLOW_CLI_E2E_BATCH_MANIFEST` | `test_assets/sample_batch.tsv` | TSV manifest for the batch image e2e. |
161
162
  | `GFLOW_CLI_E2E_BATCH_JITTER` | `"1"` | Set to `"0"` to disable inter-request jitter in batch tests. |
163
+ | `GFLOW_CLI_E2E_RPC_IMAGE` | *(unset)* | Path to an image you own, for `tests/e2e/test_migrated_rpc_readback_bdd.py` (#1009: a lost reply body is read back). Unset, that test **skips**. It creates one project, renames it and uploads this file; it spends no credits and no quota. |
162
164
  | `GFLOW_CLI_E2E_PROMPT` | *(safe default)* | Prompt override for the smoke test. |
163
165
  | `GFLOW_CLI_E2E_STALE_PROFILES` | *(unset)* | Comma-separated profiles whose session has **lapsed** (the credits read lands on a Google sign-in page, exit 3). Used by the session-renewal e2e (`e2e_auth`): index 0 drives `gflow_get_credits(refresh=true)`, index 1 drives `gflow credits user --refresh`, and index 2 drives `gflow auth renew`. Each is consumed by its first successful renewal, because a renewed session stays fresh for a while. A test whose profile is fresh **skips**; it never passes on a read that needed no renewal. `GFLOW_CLI_E2E_PROFILE` must also be set. |
164
166
  | `GFLOW_CLI_E2E_ABOUT_PROFILE` | *(unset)* | A profile Flow holds at its public `/about` page (see [KNOWN_ISSUES](../KNOWN_ISSUES.md)). `tests/e2e/test_auth_renew_e2e.py` asserts that `gflow auth renew` does **not** report it renewed. It skips if the profile reads a balance. |