gflow-cli 0.73.1__tar.gz → 0.73.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1075) hide show
  1. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.codex-plugin/plugin.json +1 -1
  2. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/CHANGELOG.md +54 -1
  3. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/KNOWN_ISSUES.md +27 -8
  4. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/PKG-INFO +1 -1
  5. {gflow_cli-0.73.1/website → gflow_cli-0.73.2}/docs/ARCHITECTURE.md +9 -8
  6. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/AUTHENTICATION.md +1 -1
  7. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/DEBUGGING.md +8 -1
  8. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/INDEX.md +1 -1
  9. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.73.1.md +30 -1
  10. gflow_cli-0.73.2/docs/LIVE_VERIFICATION_v0.73.2.md +187 -0
  11. {gflow_cli-0.73.1/website → gflow_cli-0.73.2}/docs/MCP.md +7 -4
  12. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/PROJECT_STATUS.md +48 -3
  13. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/USAGE.md +7 -1
  14. {gflow_cli-0.73.1/website → gflow_cli-0.73.2}/docs/USER_GUIDE.md +7 -1
  15. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-10-about-redirect-stability.md +7 -4
  16. gflow_cli-0.73.2/docs/superpowers/spikes/2026-09-11-about-redirect-is-decided-client-side.md +108 -0
  17. gflow_cli-0.73.2/docs/superpowers/spikes/2026-09-11-about-redirect-is-stable-for-an-account.md +88 -0
  18. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-11-migrated-cookie-bar-blocks-the-composer.md +61 -21
  19. gflow_cli-0.73.2/docs/superpowers/spikes/2026-09-11-nano2-lite-capability.md +163 -0
  20. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/pyproject.toml +1 -1
  21. gflow_cli-0.73.2/scripts/dev/spike_about_redirect_cause.py +287 -0
  22. gflow_cli-0.73.2/scripts/dev/spike_image_model_attribution.py +214 -0
  23. gflow_cli-0.73.2/scripts/dev/spike_nano2_lite_capability.py +293 -0
  24. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/__init__.py +1 -1
  25. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/credits.py +13 -1
  26. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/_common.py +6 -3
  27. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/ui_automation.py +72 -11
  28. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/ui_automation_video.py +35 -10
  29. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/auth/real_chrome.py +6 -0
  30. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/auth/verification.py +24 -1
  31. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli.py +10 -1
  32. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/errors.py +8 -5
  33. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/mcp/tools.py +18 -1
  34. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_credits_http.py +19 -0
  35. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_migrated_dispatch.py +85 -1
  36. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_migrated_images.py +73 -0
  37. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_navigation_settled.py +8 -0
  38. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/auth/test_verification.py +14 -1
  39. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_incident_quality_e2e.py +62 -0
  40. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_auth_steps.py +10 -1
  41. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_auth_status_tool.py +22 -0
  42. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/uv.lock +1 -1
  43. {gflow_cli-0.73.1 → gflow_cli-0.73.2/website}/docs/ARCHITECTURE.md +9 -8
  44. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/AUTHENTICATION.md +1 -1
  45. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/DEBUGGING.md +8 -1
  46. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/KNOWN_ISSUES.md +27 -8
  47. {gflow_cli-0.73.1 → gflow_cli-0.73.2/website}/docs/MCP.md +7 -4
  48. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/USAGE.md +7 -1
  49. {gflow_cli-0.73.1 → gflow_cli-0.73.2/website}/docs/USER_GUIDE.md +7 -1
  50. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.agents/plugins/marketplace.json +0 -0
  51. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/README.md +0 -0
  52. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/active.md +0 -0
  53. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/branch-review.md +0 -0
  54. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/changelog.md +0 -0
  55. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/check.md +0 -0
  56. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/doc-review.md +0 -0
  57. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/issue-assessment.md +0 -0
  58. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/issue-resolve.md +0 -0
  59. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/known-issues.md +0 -0
  60. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/live-verify.md +0 -0
  61. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/llm-council.md +0 -0
  62. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/next.md +0 -0
  63. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/plan.md +0 -0
  64. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/pr-council-review.md +0 -0
  65. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/predict.md +0 -0
  66. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/release.md +0 -0
  67. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/scenario.md +0 -0
  68. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/sonar.md +0 -0
  69. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/spike.md +0 -0
  70. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.claude/commands/gflow/status.md +0 -0
  71. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.env.template +0 -0
  72. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.gitattributes +0 -0
  73. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/CODEOWNERS +0 -0
  74. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/FUNDING.yml +0 -0
  75. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  76. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/copilot-instructions.md +0 -0
  77. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/dependabot.yml +0 -0
  78. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/ci.yml +0 -0
  79. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/deps-watch.yml +0 -0
  80. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/external-pr-triage.yml +0 -0
  81. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/governance-advisory.yml +0 -0
  82. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/governance-benchmark.yml +0 -0
  83. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/labels.yml +0 -0
  84. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/main-base-guard.yml +0 -0
  85. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/pages.yml +0 -0
  86. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/release.yml +0 -0
  87. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/scorecard.yml +0 -0
  88. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/selector-probe.yml +0 -0
  89. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.github/workflows/star-history-watch.yml +0 -0
  90. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.gitignore +0 -0
  91. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.gitleaks.toml +0 -0
  92. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.pre-commit-config.yaml +0 -0
  93. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/.secrets.baseline +0 -0
  94. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/AGENTS.md +0 -0
  95. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/CLAUDE.md +0 -0
  96. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/CONFIGURATION.md +0 -0
  97. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/CONTRIBUTING.md +0 -0
  98. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/DISCLAIMER.md +0 -0
  99. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/LICENSE +0 -0
  100. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/PLAN.md +0 -0
  101. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/README.md +0 -0
  102. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/RELEASE.md +0 -0
  103. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/ROADMAP.md +0 -0
  104. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/conftest.py +0 -0
  105. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/deploy/logrotate-pr-triage +0 -0
  106. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docker-compose.yml +0 -0
  107. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/ACCOUNT_SAFETY.md +0 -0
  108. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/AGENT_GUIDE.md +0 -0
  109. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/AGENT_UI_E2E.md +0 -0
  110. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/AGENT_UI_RECON.md +0 -0
  111. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/ASSET_TAGGING_RECON.md +0 -0
  112. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/CHARACTER.md +0 -0
  113. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/CHARACTER_RECON.md +0 -0
  114. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/CONFIGURATION.md +0 -0
  115. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/DATA_LAYER.md +0 -0
  116. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/DEMOS.md +0 -0
  117. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/DEVELOPMENT.md +0 -0
  118. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/E2E_TESTING.md +0 -0
  119. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/EXTERNAL_STORAGE.md +0 -0
  120. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/GITHUB.md +0 -0
  121. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/GOVERNANCE_BENCHMARK.md +0 -0
  122. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/IMAGE_UPSCALE_RECON.md +0 -0
  123. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/INSTRUCTIONS.md +0 -0
  124. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_data_layer.md +0 -0
  125. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_image_batch.md +0 -0
  126. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_playwright_1.61.md +0 -0
  127. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_reference_entity_guard.md +0 -0
  128. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.10.0.md +0 -0
  129. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.11.0.md +0 -0
  130. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.12.0.md +0 -0
  131. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.13.0.md +0 -0
  132. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.16.0.md +0 -0
  133. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.17.0.md +0 -0
  134. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.18.0.md +0 -0
  135. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.19.0.md +0 -0
  136. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.20.0.md +0 -0
  137. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.20.1.md +0 -0
  138. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.21.0.md +0 -0
  139. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.22.0.md +0 -0
  140. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.23.0.md +0 -0
  141. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.24.0.md +0 -0
  142. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.25.0.md +0 -0
  143. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.26.0.md +0 -0
  144. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.27.0.md +0 -0
  145. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.27.1.md +0 -0
  146. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.28.0.md +0 -0
  147. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.29.0.md +0 -0
  148. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.30.0.md +0 -0
  149. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.31.0.md +0 -0
  150. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.32.0.md +0 -0
  151. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.32.1.md +0 -0
  152. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.33.0.md +0 -0
  153. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.34.0.md +0 -0
  154. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.35.0.md +0 -0
  155. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.36.0.md +0 -0
  156. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.37.0.md +0 -0
  157. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.38.0.md +0 -0
  158. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.38.1.md +0 -0
  159. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.39.0.md +0 -0
  160. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.40.0-production-readiness.md +0 -0
  161. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.40.0.md +0 -0
  162. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.41.0.md +0 -0
  163. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.42.0.md +0 -0
  164. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.43.0.md +0 -0
  165. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.44.0.md +0 -0
  166. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.45.0.md +0 -0
  167. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.46.0.md +0 -0
  168. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.46.1.md +0 -0
  169. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.47.0.md +0 -0
  170. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.48.0.md +0 -0
  171. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.49.0.md +0 -0
  172. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.50.0.md +0 -0
  173. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.51.0.md +0 -0
  174. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.52.0.md +0 -0
  175. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.54.0.md +0 -0
  176. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.55.0.md +0 -0
  177. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.56.0.md +0 -0
  178. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.57.0.md +0 -0
  179. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.57.1.md +0 -0
  180. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.58.0.md +0 -0
  181. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.59.0.md +0 -0
  182. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.60.0.md +0 -0
  183. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.61.0.md +0 -0
  184. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.62.0.md +0 -0
  185. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.62.1.md +0 -0
  186. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.63.0.md +0 -0
  187. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.64.0.md +0 -0
  188. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.65.0.md +0 -0
  189. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.66.0.md +0 -0
  190. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.66.1.md +0 -0
  191. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.66.2.md +0 -0
  192. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.66.3.md +0 -0
  193. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.67.0.md +0 -0
  194. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.68.0.md +0 -0
  195. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.69.0.md +0 -0
  196. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.7.0.md +0 -0
  197. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.70.0.md +0 -0
  198. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.71.0.md +0 -0
  199. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.71.1.md +0 -0
  200. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.72.0.md +0 -0
  201. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.73.0.md +0 -0
  202. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.8.1.md +0 -0
  203. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.9.0.md +0 -0
  204. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_v0.9.1.md +0 -0
  205. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/LIVE_VERIFICATION_video_download.md +0 -0
  206. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/MEDIA_LIBRARY.md +0 -0
  207. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/MOVIE.md +0 -0
  208. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/PROMPT_EXPANSION.md +0 -0
  209. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/REFERENCE_STRATEGIES.md +0 -0
  210. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/SECURITY.md +0 -0
  211. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/TOOLS.md +0 -0
  212. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/assets/demo-split-pf.gif +0 -0
  213. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/assets/example-run.gif +0 -0
  214. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/assets/examples.webp +0 -0
  215. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/medium_tutorial.md +0 -0
  216. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/schemas/movie-handoff.schema.json +0 -0
  217. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/sonar-cleanup-tracker.md +0 -0
  218. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/README.md +0 -0
  219. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/agents-md-vs-llms-txt.md +0 -0
  220. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/background-e2e-pytest-pattern.md +0 -0
  221. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/bdd-stubs-mirror-runtime-signatures.md +0 -0
  222. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/credit-free-route-abort-verification.md +0 -0
  223. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/data-layer-overview.md +0 -0
  224. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/data-layer-test-pollution-trap.md +0 -0
  225. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/doc-examples-are-untested-fixtures.md +0 -0
  226. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/draft-pr-merge-trap.md +0 -0
  227. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/e2e-evidence-is-a-contributor-deliverable.md +0 -0
  228. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/exit-code-16-data-store.md +0 -0
  229. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/flow-capabilities-are-cohort-dependent.md +0 -0
  230. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/flow-credits-videos-only.md +0 -0
  231. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/flow-locale-leak-icon-ligatures.md +0 -0
  232. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +0 -0
  233. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/force-color-breaks-cli-tests.md +0 -0
  234. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/full-test-suite-ooms.md +0 -0
  235. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/git-add-all-sweeps-scratch-files.md +0 -0
  236. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/image-video-mode-switch-symmetry.md +0 -0
  237. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/ligature-carrier-differs-by-host.md +0 -0
  238. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/mcp-is-first-class-across-skill-chain.md +0 -0
  239. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/memory-is-working-dir-keyed.md +0 -0
  240. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +0 -0
  241. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/on-started-callback-recorder-safety.md +0 -0
  242. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/playwright-click-no-downstream-event-signature.md +0 -0
  243. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/pr-council-review-stale-tree-reads.md +0 -0
  244. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/pr-hygiene-revert-and-multi-commit.md +0 -0
  245. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/pr-must-verify-on-affected-surface.md +0 -0
  246. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/prose-conflicts-hide-in-disjoint-files.md +0 -0
  247. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/pypi-readme-staleness-fix.md +0 -0
  248. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/pypi-rejected-filename-reusable.md +0 -0
  249. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/readme-hybrid-router-pattern.md +0 -0
  250. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/real-browser-auth-mandatory.md +0 -0
  251. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/release-back-merge-gap-recovery.md +0 -0
  252. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/release-signing.md +0 -0
  253. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/release-spec-plan-memory-consolidation.md +0 -0
  254. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/rest-transports-drop-ui-fields.md +0 -0
  255. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/ruff-format-scope-is-src-tests.md +0 -0
  256. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/sonarcloud-hotspot-review-workflow.md +0 -0
  257. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/sonarcloud-new-code-gotchas.md +0 -0
  258. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/sonarcloud-pr-issues-scope-s7497.md +0 -0
  259. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/sonarcloud-setup.md +0 -0
  260. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/stale-test-discovery.md +0 -0
  261. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/structlog-cache-logger-off-for-tests.md +0 -0
  262. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/ui-selector-drift-error-exit-23.md +0 -0
  263. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/verification-ledger-5-layer.md +0 -0
  264. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/video-model-capability-matrix.md +0 -0
  265. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/wheel-build-sanity-gate.md +0 -0
  266. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/windows-dev-quirks.md +0 -0
  267. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/memory/windows-running-launcher-blocks-uv-upgrade.md +0 -0
  268. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-12-issue-174-library-ui-attach/PLAN.md +0 -0
  269. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-22-mcp-server/PLAN.md +0 -0
  270. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-22-mcp-server/PREDICT.md +0 -0
  271. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-22-mcp-server/SCENARIO.md +0 -0
  272. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-22-prompt-expansion/PLAN.md +0 -0
  273. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-22-prompt-expansion/PREDICT.md +0 -0
  274. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-22-prompt-expansion/SCENARIO.md +0 -0
  275. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-24-gflow-studio-scaffold/PLAN.md +0 -0
  276. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-24-rest-api-layer/PLAN.md +0 -0
  277. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-06-26-mcp-e2e-test/PLAN.md +0 -0
  278. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-08-pr-triage-autopilot/PLAN.md +0 -0
  279. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-09-camoufox-adoption/PLAN.md +0 -0
  280. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-14-storyboarding-and-visual-curation/PLAN.md +0 -0
  281. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-18-asset-tagging/PLAN.md +0 -0
  282. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-19-live-verify/PLAN.md +0 -0
  283. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-19-production-readiness-browser-lifecycle.md +0 -0
  284. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-19-production-readiness-driver-cdp-verification.md +0 -0
  285. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-19-production-readiness-public-truth.md +0 -0
  286. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-19-production-readiness-queue-safety.md +0 -0
  287. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-26-character-prompt-polishing/PLAN.md +0 -0
  288. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-26-project-name-management/PLAN.md +0 -0
  289. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-26-self-documenting-errors/PLAN.md +0 -0
  290. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-27-overlay-banner-dismissal/PLAN.md +0 -0
  291. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/PLAN.md +0 -0
  292. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/SCENARIO.md +0 -0
  293. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-04-mcp-tasks/PLAN.md +0 -0
  294. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-04-output-hardening/PLAN.md +0 -0
  295. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/PLAN.md +0 -0
  296. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/SCENARIO.md +0 -0
  297. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/PLAN.md +0 -0
  298. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/SCENARIO.md +0 -0
  299. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/PLAN.md +0 -0
  300. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/SCENARIO.md +0 -0
  301. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/PLAN.md +0 -0
  302. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/SCENARIO.md +0 -0
  303. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/PLAN.md +0 -0
  304. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/SCENARIO.md +0 -0
  305. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-06-ui-mode-policy/PLAN.md +0 -0
  306. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-06-ui-mode-policy/SCENARIO.md +0 -0
  307. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/PLAN.md +0 -0
  308. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/SCENARIO.md +0 -0
  309. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-21-selector-registry.md +0 -0
  310. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-08-25-workflow-hardening-gaps.md +0 -0
  311. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-09-01-video-extend/PLAN.md +0 -0
  312. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/plans/2026-09-06-spike-tooling-reorg/PLAN.md +0 -0
  313. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/research/2026-06-27-tool-abstraction-evaluation.md +0 -0
  314. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-06-29-issue-assessment-workflow-design.md +0 -0
  315. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-07-04-pr-triage-autopilot-design.md +0 -0
  316. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-07-18-asset-tagging-design.md +0 -0
  317. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-07-19-live-verify-design.md +0 -0
  318. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-07-19-production-readiness-hardening-design.md +0 -0
  319. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-08-21-selector-registry-design.md +0 -0
  320. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-08-26-model-attribution-provenance.md +0 -0
  321. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-08-26-model-cost-quota-catalog.md +0 -0
  322. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/specs/2026-08-27-changelog-modal-precondition-design.md +0 -0
  323. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-07-09-camoufox-waf-403.md +0 -0
  324. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-07-12-ui-cohort-backend-config.md +0 -0
  325. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-07-17-production-readiness-assessment.md +0 -0
  326. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-08-01-mcp-2026-07-28-spec-impact.md +0 -0
  327. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-08-14-video-model-capability-matrix.md +0 -0
  328. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-08-15-picker-tile-alt-text.md +0 -0
  329. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-08-31-veo-extend-route-recon.md +0 -0
  330. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-04-migrated-host-handoff-mechanism.md +0 -0
  331. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-05-migrated-frames-attach.md +0 -0
  332. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-05-migrated-host-wire-protocol.md +0 -0
  333. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-05-migrated-model-menu-lower-priority.md +0 -0
  334. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-05-migrated-r2v-attach-surface.md +0 -0
  335. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-06-labs-vs-migrated-session-credential.md +0 -0
  336. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-06-migrated-character-surface-and-recaptcha.md +0 -0
  337. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-07-character-format-button-anchor.md +0 -0
  338. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-07-credit-shortfall-looks-like-selector-drift.md +0 -0
  339. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-07-format-click-is-not-a-format.md +0 -0
  340. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-07-ligature-carrier-and-name-drift.md +0 -0
  341. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-07-migrated-composer-has-an-image-mode.md +0 -0
  342. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-08-g12-blocks-webdriver-not-playwright.md +0 -0
  343. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-08-migrated-composer-agent-mode-hides-settings.md +0 -0
  344. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-08-migrated-image-submit-wire.md +0 -0
  345. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-08-migrated-queue-is-readable-on-zzl0ze.md +0 -0
  346. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-08-migrated-upload-fails-two-ways.md +0 -0
  347. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/docs/superpowers/spikes/2026-09-10-migrated-click-blocked.md +0 -0
  348. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/examples/README.md +0 -0
  349. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/examples/batch_from_config.py +0 -0
  350. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/examples/multi_prompt_t2i.py +0 -0
  351. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/examples/sample_config.json +0 -0
  352. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/examples/sample_prompts.txt +0 -0
  353. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/examples/single_image_t2i.py +0 -0
  354. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/examples/workflow_chain.py +0 -0
  355. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/index.html +0 -0
  356. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/llms.txt +0 -0
  357. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/README.md +0 -0
  358. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/01_upload_image.json +0 -0
  359. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/02_batchAsyncGenerateVideoText.json +0 -0
  360. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/03_batchCheckAsyncVideoGenerationStatus.json +0 -0
  361. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/04_archive_workflow.json +0 -0
  362. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/05_createProject.json +0 -0
  363. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/06_batchGenerateImages.json +0 -0
  364. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/07_batchGenerateImages_seeded.json +0 -0
  365. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/08_batchAsyncGenerateVideoStartAndEndImage.json +0 -0
  366. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/09_batchAsyncGenerateVideoReferenceImages.json +0 -0
  367. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/10_batchCheckAsyncVideoGenerationStatus_successful.json +0 -0
  368. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/11_batchCheckAsyncVideoGenerationStatus_failed.json +0 -0
  369. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/12_create_scene.json +0 -0
  370. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/13_sceneWorkflows_update.json +0 -0
  371. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/14_get_scene_workflows.json +0 -0
  372. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/samples/captured/15_commit_flowWorkflow.json +0 -0
  373. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/canary/register_task.ps1 +0 -0
  374. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/canary/run_canary.py +0 -0
  375. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/ci/check_council_memory.py +0 -0
  376. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/ci/check_doc_links.py +0 -0
  377. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/ci/check_materiality.py +0 -0
  378. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/ci/check_release_artifacts.py +0 -0
  379. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/ci/check_repo_hygiene.py +0 -0
  380. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/ci/check_test_count.py +0 -0
  381. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/ci/check_website_docs_pii.py +0 -0
  382. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/ci/generate_website_docs.py +0 -0
  383. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/debug_editor.py +0 -0
  384. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/debug_gen_settings.py +0 -0
  385. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/debug_settings.py +0 -0
  386. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/_recording_client.py +0 -0
  387. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/_spike_common.py +0 -0
  388. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/acceptance/__init__.py +0 -0
  389. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/acceptance/bench.py +0 -0
  390. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/acceptance/domain.py +0 -0
  391. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/acceptance/judge.py +0 -0
  392. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/acceptance/settings.py +0 -0
  393. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/active_plan.py +0 -0
  394. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/analyze_agent_ui_capture.py +0 -0
  395. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_frames_mode_trigger_ligature.py +0 -0
  396. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_i2v_frame_slots_dom.py +0 -0
  397. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_i2v_intercept_submit.py +0 -0
  398. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_i2v_model_select_repro.py +0 -0
  399. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_i2v_post_bind_state.py +0 -0
  400. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_image_add_media_dom.py +0 -0
  401. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_locale_invariants.py +0 -0
  402. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_lower_priority_model_cost.py +0 -0
  403. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_migrated_attach_rpcs.py +0 -0
  404. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_migrated_mention_gestures.py +0 -0
  405. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_migrated_model_menu.py +0 -0
  406. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_migrated_r2v_production_submit.py +0 -0
  407. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_migrated_r2v_submit_payload.py +0 -0
  408. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_migrated_r2v_surface.py +0 -0
  409. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_migrated_upload_flow.py +0 -0
  410. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_project_listing.py +0 -0
  411. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_r2v_ingredient_lifecycle.py +0 -0
  412. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_sidebar_state_dom.py +0 -0
  413. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/capture_video_model_capability_matrix.py +0 -0
  414. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/cdp_drive_and_probe.py +0 -0
  415. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/character_create_spike.py +0 -0
  416. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/character_create_spike_v2.py +0 -0
  417. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/dump_character_selectors.js +0 -0
  418. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/README.md +0 -0
  419. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/capture-agent-ui.ps1 +0 -0
  420. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/capture-media-scrape.ps1 +0 -0
  421. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/extract_har_summary.py +0 -0
  422. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/launch-flow-chrome.ps1 +0 -0
  423. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/probe-agent-mode.ps1 +0 -0
  424. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/probe_agent_mode.py +0 -0
  425. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/run-cdp-smoke.ps1 +0 -0
  426. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/start-background-capture.ps1 +0 -0
  427. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/start-har-capture.ps1 +0 -0
  428. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/stop-background-capture.ps1 +0 -0
  429. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/har-spike/stop-har-capture.ps1 +0 -0
  430. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/incident_bundle_quality.py +0 -0
  431. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/live_verify_mcp_tasks.py +0 -0
  432. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/live_verify_policy_400_v060.py +0 -0
  433. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/live_verify_video_model_select.py +0 -0
  434. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/make_project.py +0 -0
  435. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/materiality_backtest.py +0 -0
  436. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/measure_html_lang_settle.py +0 -0
  437. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/measure_locale_probe.py +0 -0
  438. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/measure_migrated_host_flip.py +0 -0
  439. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/patch_character.py +0 -0
  440. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/skillopt/README.md +0 -0
  441. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/skillopt/harness.py +0 -0
  442. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/skillopt/tasks.json +0 -0
  443. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/sonar-local-scan.sh +0 -0
  444. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/sonar-pre-push-gate.sh +0 -0
  445. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_about_redirect_stability.py +0 -0
  446. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_cdp_har_without_node.py +0 -0
  447. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_changelog_capture.py +0 -0
  448. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_char_editor_dom.py +0 -0
  449. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_char_gen_capture.py +0 -0
  450. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_character_editor_ready_gate.py +0 -0
  451. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_character_prompt_format.py +0 -0
  452. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_entity_submit_rpcs.py +0 -0
  453. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_extend_model_recon.py +0 -0
  454. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_extend_ourstack_verify.py +0 -0
  455. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_extend_route_capture.py +0 -0
  456. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_extend_submit_capture.py +0 -0
  457. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_extend_ui_recon.py +0 -0
  458. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_format_prompt_effect.py +0 -0
  459. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_host_lane.py +0 -0
  460. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_image_upscale_capture.py +0 -0
  461. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_image_upscale_drive.py +0 -0
  462. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_image_upscale_recaptcha_action.py +0 -0
  463. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_image_upscale_rest_probe.py +0 -0
  464. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_incident_live.py +0 -0
  465. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_issue170_picker_locale_recon.py +0 -0
  466. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_issue174_library_ui_recon.py +0 -0
  467. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_issue313_agent_mode_controls.py +0 -0
  468. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_issue314_picker_filename_search.py +0 -0
  469. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_issue404_count_tabs_recon.py +0 -0
  470. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_ligature_carrier_sweep.py +0 -0
  471. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_locale_poison.py +0 -0
  472. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_body_reference_chip.py +0 -0
  473. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_character_body_controls.py +0 -0
  474. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_character_editor_anchor.py +0 -0
  475. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_character_ogiz0b_schema.py +0 -0
  476. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_character_submit_wire.py +0 -0
  477. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_character_surface.py +0 -0
  478. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_click_blocked.py +0 -0
  479. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_composer_arms.py +0 -0
  480. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_composer_mode_axis.py +0 -0
  481. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_cookie_bar.py +0 -0
  482. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_duration_by_model.py +0 -0
  483. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_editor_dom_inventory.py +0 -0
  484. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_entity_submit.py +0 -0
  485. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_frames_attach.py +0 -0
  486. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_host_trigger.py +0 -0
  487. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_image_capability.py +0 -0
  488. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_image_submit.py +0 -0
  489. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_picker_option_kind.py +0 -0
  490. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_queue_read.py +0 -0
  491. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_recaptcha_mint.py +0 -0
  492. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_submit_anchor.py +0 -0
  493. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_submit_capture.py +0 -0
  494. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_upload_wire.py +0 -0
  495. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migrated_vs_labs_provenance.py +0 -0
  496. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_migration_flag_bootstrap.py +0 -0
  497. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_mode_roundtrip.py +0 -0
  498. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_mode_switch_agentic_to_classic.py +0 -0
  499. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_model_inventory.py +0 -0
  500. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_movie_attach_payload.py +0 -0
  501. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_movie_entity_recon.py +0 -0
  502. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_movie_gen_capture.py +0 -0
  503. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_movie_picker_select.py +0 -0
  504. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_movie_voice_list.py +0 -0
  505. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_omni_flash_i2v_ui_recon.py +0 -0
  506. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_patch_entity.py +0 -0
  507. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_patchright.py +0 -0
  508. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_playwright_chrome_login.py +0 -0
  509. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_project_media_status.py +0 -0
  510. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_trpc_origin_referer_401.py +0 -0
  511. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/spike_video_tab_dom.py +0 -0
  512. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/verify_lang_settle_fix.py +0 -0
  513. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/verify_language_agnostic.py +0 -0
  514. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/verify_locale_navigation_race.py +0 -0
  515. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/dev/verify_model_attribution.py +0 -0
  516. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/diag/README.md +0 -0
  517. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/diag/capture_flow_traffic.py +0 -0
  518. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/diag/diag_aisandbox_bearer.py +0 -0
  519. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/diag/memory_profile.py +0 -0
  520. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/diag/recaptcha_mint.py +0 -0
  521. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/diag/spike_387_openai_compat.py +0 -0
  522. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/e2e/agentic_image_e2e.ps1 +0 -0
  523. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/e2e/capture_agent_toggle.py +0 -0
  524. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/probe/run_probe.py +0 -0
  525. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/probe/spike_auth_matrix.py +0 -0
  526. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/record_demo.ps1 +0 -0
  527. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/smoke_image.py +0 -0
  528. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/smoke_video_editor.py +0 -0
  529. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/smoke_worker_style.py +0 -0
  530. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/spike_waf_camoufox.py +0 -0
  531. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/scripts/verify_chrome_auth_viability.py +0 -0
  532. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/README.md +0 -0
  533. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/changelog/SKILL.md +0 -0
  534. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/check/SKILL.md +0 -0
  535. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/doc-review/SKILL.md +0 -0
  536. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/gflow-cli/SKILL.md +0 -0
  537. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/issue-assessment/SKILL.md +0 -0
  538. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/issue-resolve/SKILL.md +0 -0
  539. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/known-issues/SKILL.md +0 -0
  540. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/live-verify/SKILL.md +0 -0
  541. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/llm-council/SKILL.md +0 -0
  542. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/plan/SKILL.md +0 -0
  543. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/pr-council-review/SKILL.md +0 -0
  544. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/predict/SKILL.md +0 -0
  545. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/release/SKILL.md +0 -0
  546. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/scenario/SKILL.md +0 -0
  547. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/sonar/SKILL.md +0 -0
  548. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/spike/SKILL.md +0 -0
  549. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/status/SKILL.md +0 -0
  550. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/video-production/SKILL.md +0 -0
  551. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/video-production/clip_qa.py +0 -0
  552. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/video-production/composition.md +0 -0
  553. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/video-production/consistency.md +0 -0
  554. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/video-production/failure-modes.md +0 -0
  555. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/skills/video-production/tasks.json +0 -0
  556. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/sonar-project.properties +0 -0
  557. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/__main__.py +0 -0
  558. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/_cli_helpers.py +0 -0
  559. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/__init__.py +0 -0
  560. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/_engine.py +0 -0
  561. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/_retry.py +0 -0
  562. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/_sapisidhash.py +0 -0
  563. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/character.py +0 -0
  564. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/client.py +0 -0
  565. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/dto.py +0 -0
  566. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/extend_chain.py +0 -0
  567. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/image.py +0 -0
  568. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/image_upscale.py +0 -0
  569. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/recaptcha.py +0 -0
  570. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/routes.py +0 -0
  571. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/scene.py +0 -0
  572. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/__init__.py +0 -0
  573. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/_fingerprint.py +0 -0
  574. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/base.py +0 -0
  575. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/batchexecute.py +0 -0
  576. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/drivers/__init__.py +0 -0
  577. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/drivers/agentic.py +0 -0
  578. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/drivers/base.py +0 -0
  579. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/drivers/classic.py +0 -0
  580. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/drivers/factory.py +0 -0
  581. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/experimental/__init__.py +0 -0
  582. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/experimental/bearer.py +0 -0
  583. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/experimental/evaluate_fetch.py +0 -0
  584. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/experimental/sapisidhash.py +0 -0
  585. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/migrated_composer.py +0 -0
  586. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/transports/mode_control.py +0 -0
  587. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/video.py +0 -0
  588. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/api/video_extend.py +0 -0
  589. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/auth/__init__.py +0 -0
  590. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/auth/base.py +0 -0
  591. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/auth/cookies.py +0 -0
  592. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/auth/factory.py +0 -0
  593. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/auth/internal_chromium.py +0 -0
  594. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/auth/strategies.py +0 -0
  595. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/browser_manager.py +0 -0
  596. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/chain.py +0 -0
  597. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/chain_manifest.py +0 -0
  598. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_character.py +0 -0
  599. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_credits.py +0 -0
  600. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_data.py +0 -0
  601. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_doctor.py +0 -0
  602. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_image.py +0 -0
  603. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_instructions.py +0 -0
  604. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_models.py +0 -0
  605. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_movie.py +0 -0
  606. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_project.py +0 -0
  607. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_run.py +0 -0
  608. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_scene.py +0 -0
  609. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_tools.py +0 -0
  610. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_update.py +0 -0
  611. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/cli_video.py +0 -0
  612. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/composition.py +0 -0
  613. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/config.py +0 -0
  614. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/__init__.py +0 -0
  615. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/chain_repo.py +0 -0
  616. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0001_initial.sql +0 -0
  617. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0002_add_cloud_storage.sql +0 -0
  618. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0003_add_scene_tables.sql +0 -0
  619. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0004_add_scene_output_path.sql +0 -0
  620. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0005_add_chain_links.sql +0 -0
  621. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0006_add_operations_metadata.sql +0 -0
  622. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0007_queue.sql +0 -0
  623. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0008_add_operation_expanded_prompt.sql +0 -0
  624. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/0009_queue_claims.sql +0 -0
  625. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/migrations/__init__.py +0 -0
  626. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/models.py +0 -0
  627. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/queries.py +0 -0
  628. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/recorder.py +0 -0
  629. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/redaction.py +0 -0
  630. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/repository.py +0 -0
  631. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/data/store.py +0 -0
  632. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/diagnostics.py +0 -0
  633. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/exceptions.py +0 -0
  634. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/file_integrity.py +0 -0
  635. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/flow_selectors/__init__.py +0 -0
  636. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/flow_selectors/grading.py +0 -0
  637. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/flow_selectors/model.py +0 -0
  638. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/flow_selectors/registry.py +0 -0
  639. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/image_batch.py +0 -0
  640. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/json_output.py +0 -0
  641. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/mcp/__init__.py +0 -0
  642. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/mcp/prompts.py +0 -0
  643. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/mcp/resources.py +0 -0
  644. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/mcp/server.py +0 -0
  645. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/mcp/setup.py +0 -0
  646. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/mcp/tasks_extension.py +0 -0
  647. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/media.py +0 -0
  648. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/movie_manifest.py +0 -0
  649. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/observability.py +0 -0
  650. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/paths.py +0 -0
  651. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/profile_lease.py +0 -0
  652. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/profile_store.py +0 -0
  653. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/redaction.py +0 -0
  654. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/services/__init__.py +0 -0
  655. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/services/catalog_sync.py +0 -0
  656. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/services/character_create.py +0 -0
  657. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/services/credits.py +0 -0
  658. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/services/doctor.py +0 -0
  659. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/services/mentions.py +0 -0
  660. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/storage.py +0 -0
  661. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/__init__.py +0 -0
  662. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/banned.py +0 -0
  663. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/builtin/__init__.py +0 -0
  664. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/builtin/creative-director.toml +0 -0
  665. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/builtin/reverse-engineer.toml +0 -0
  666. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/builtin/storyboard.toml +0 -0
  667. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/expander.py +0 -0
  668. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/invocation.py +0 -0
  669. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/loader.py +0 -0
  670. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/registry.py +0 -0
  671. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/runtime.py +0 -0
  672. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/tools/spec.py +0 -0
  673. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/ui/app.py +0 -0
  674. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/ui/server.py +0 -0
  675. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/update_check.py +0 -0
  676. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/winsec.py +0 -0
  677. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/worker/codec.py +0 -0
  678. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/worker/daemon.py +0 -0
  679. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/src/gflow_cli/worker/queue.py +0 -0
  680. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tasks/lessons.md +0 -0
  681. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/test_assets/sample_batch.json +0 -0
  682. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/test_assets/sample_batch.tsv +0 -0
  683. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/test_assets/sample_batch_invalid.tsv +0 -0
  684. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/__init__.py +0 -0
  685. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/__init__.py +0 -0
  686. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/fixtures/character_gen_response.json +0 -0
  687. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/fixtures/patch_entity_response.json +0 -0
  688. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/fixtures/project_initial_data_extend_models.json +0 -0
  689. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_aisandbox_auth_error.py +0 -0
  690. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_aisandbox_auth_headers.py +0 -0
  691. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_bearer_redaction.py +0 -0
  692. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_bootstrap_chooser.py +0 -0
  693. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_character.py +0 -0
  694. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_character_readback_fallback.py +0 -0
  695. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client.py +0 -0
  696. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_character.py +0 -0
  697. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_delete_characters.py +0 -0
  698. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_errors.py +0 -0
  699. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_extend.py +0 -0
  700. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_generate_character.py +0 -0
  701. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_image.py +0 -0
  702. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_incidents.py +0 -0
  703. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_launch_kwargs.py +0 -0
  704. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_locale_cache.py +0 -0
  705. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_migrated_mint.py +0 -0
  706. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_patch_entity.py +0 -0
  707. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_scene.py +0 -0
  708. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_client_upscale.py +0 -0
  709. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_concurrency.py +0 -0
  710. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_credits.py +0 -0
  711. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_dto.py +0 -0
  712. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_engine.py +0 -0
  713. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_extend_chain.py +0 -0
  714. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_image.py +0 -0
  715. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_image_dto.py +0 -0
  716. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_image_upscale.py +0 -0
  717. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_post_json_aisandbox_auth.py +0 -0
  718. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_recaptcha.py +0 -0
  719. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_retry.py +0 -0
  720. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_routes.py +0 -0
  721. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_routes_character.py +0 -0
  722. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_routes_locale.py +0 -0
  723. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_routes_scene.py +0 -0
  724. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_sapisidhash_helper.py +0 -0
  725. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_scene_models.py +0 -0
  726. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_video.py +0 -0
  727. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_video_extend.py +0 -0
  728. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_video_request.py +0 -0
  729. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/test_video_status_poll.py +0 -0
  730. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/__init__.py +0 -0
  731. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/conftest.py +0 -0
  732. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/drivers/__init__.py +0 -0
  733. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/drivers/test_agentic.py +0 -0
  734. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/drivers/test_classic.py +0 -0
  735. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/drivers/test_factory.py +0 -0
  736. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/drivers/test_ui_mode.py +0 -0
  737. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_agentic_cohort_detection.py +0 -0
  738. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_base.py +0 -0
  739. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_batchexecute.py +0 -0
  740. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_bearer.py +0 -0
  741. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_character_model_picker.py +0 -0
  742. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_click_attribution.py +0 -0
  743. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_common.py +0 -0
  744. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_evaluate_fetch.py +0 -0
  745. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_factory.py +0 -0
  746. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_fingerprint.py +0 -0
  747. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_ligature_carrier.py +0 -0
  748. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_locale_navigation.py +0 -0
  749. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_migrated_composer.py +0 -0
  750. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_migrated_host_gate.py +0 -0
  751. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_migrated_r2v.py +0 -0
  752. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_migrated_route.py +0 -0
  753. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_mode_control.py +0 -0
  754. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_model_selection_loud.py +0 -0
  755. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_new_project_cta_migrated.py +0 -0
  756. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_overlay_precondition.py +0 -0
  757. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_policy_400.py +0 -0
  758. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_sapisidhash.py +0 -0
  759. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_selector_symmetry.py +0 -0
  760. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_transport_timeout.py +0 -0
  761. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_ui_automation.py +0 -0
  762. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_ui_automation_batch.py +0 -0
  763. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_ui_automation_image_mode.py +0 -0
  764. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_ui_automation_video.py +0 -0
  765. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_ui_character_editor.py +0 -0
  766. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/api/transports/test_video_model_selection_loud.py +0 -0
  767. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/auth/strategies/test_factory.py +0 -0
  768. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/auth/strategies/test_strategies.py +0 -0
  769. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/auth/test_account_autoselect.py +0 -0
  770. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/auth/test_cookies.py +0 -0
  771. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/auth/test_real_chrome.py +0 -0
  772. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/auth/test_windows_acl.py +0 -0
  773. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/__init__.py +0 -0
  774. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_auth_status.py +0 -0
  775. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_auth_list.py +0 -0
  776. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_character.py +0 -0
  777. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_character_create.py +0 -0
  778. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_credits.py +0 -0
  779. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_data.py +0 -0
  780. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_data_errors.py +0 -0
  781. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_data_errors_retention.py +0 -0
  782. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_data_sync.py +0 -0
  783. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_doctor.py +0 -0
  784. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_image.py +0 -0
  785. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_image_seed_removed.py +0 -0
  786. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_image_selector_drift.py +0 -0
  787. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_image_upscale.py +0 -0
  788. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_image_uuid_ref_enrichment.py +0 -0
  789. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_instructions.py +0 -0
  790. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_models.py +0 -0
  791. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_movie.py +0 -0
  792. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_run.py +0 -0
  793. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_scene.py +0 -0
  794. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_tools.py +0 -0
  795. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_video.py +0 -0
  796. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_video_chain.py +0 -0
  797. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_cli_video_extend.py +0 -0
  798. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_error_handling.py +0 -0
  799. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_failure_funnel.py +0 -0
  800. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_helpers.py +0 -0
  801. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_incident_output.py +0 -0
  802. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_movie_manifest.py +0 -0
  803. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_movie_manifest_style_variants.py +0 -0
  804. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_predictable_output.py +0 -0
  805. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_run_with_handlers_context_leak.py +0 -0
  806. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_run_with_handlers_interrupt.py +0 -0
  807. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_settings_validation.py +0 -0
  808. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/cli/test_t2i_multi_prompt.py +0 -0
  809. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/composition/test_character.py +0 -0
  810. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/composition/test_compose_prompt.py +0 -0
  811. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/composition/test_handoff.py +0 -0
  812. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/composition/test_style_variants.py +0 -0
  813. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/composition/test_style_variants_e2e.py +0 -0
  814. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/conftest.py +0 -0
  815. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/__init__.py +0 -0
  816. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_chain_repo.py +0 -0
  817. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_failure_recording.py +0 -0
  818. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_find_incomplete_character.py +0 -0
  819. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_models.py +0 -0
  820. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_null_columns_stay_null.py +0 -0
  821. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_packaging.py +0 -0
  822. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_recorder.py +0 -0
  823. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_recorder_character.py +0 -0
  824. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_redaction.py +0 -0
  825. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_repository.py +0 -0
  826. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_scene_persistence.py +0 -0
  827. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_settings_and_errors.py +0 -0
  828. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_store.py +0 -0
  829. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/data/test_store_migrations.py +0 -0
  830. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/dev/test_recording_client.py +0 -0
  831. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/__init__.py +0 -0
  832. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/conftest.py +0 -0
  833. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_account_chooser_e2e.py +0 -0
  834. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_agentic_count_enforcement_e2e.py +0 -0
  835. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_aisandbox_auth_live.py +0 -0
  836. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_asset_tagging_e2e.py +0 -0
  837. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_auth_verification_e2e.py +0 -0
  838. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_cancellation_e2e.py +0 -0
  839. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_chain_e2e.py +0 -0
  840. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_character_create_e2e.py +0 -0
  841. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_character_mcp_parity_e2e.py +0 -0
  842. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_classic_count_setter_e2e.py +0 -0
  843. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_click_attribution_bdd.py +0 -0
  844. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_crash_recovery_e2e.py +0 -0
  845. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_credits_e2e.py +0 -0
  846. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_credits_mcp_e2e.py +0 -0
  847. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_daemon_e2e.py +0 -0
  848. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_data_layer_e2e.py +0 -0
  849. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_data_sync_names_e2e.py +0 -0
  850. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_e2e_env_isolation.py +0 -0
  851. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_entity_provenance_e2e.py +0 -0
  852. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_entity_smuggling_e2e.py +0 -0
  853. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_i2v_flags_e2e.py +0 -0
  854. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_image_batch_e2e.py +0 -0
  855. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_image_i2i_ref_cap_e2e.py +0 -0
  856. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_image_uuid_ref_e2e.py +0 -0
  857. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_insufficient_credits_e2e.py +0 -0
  858. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_json_output_e2e.py +0 -0
  859. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_landing_state_diagnosis_bdd.py +0 -0
  860. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_live_agentic_instructions.py +0 -0
  861. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_locale_selectors_e2e.py +0 -0
  862. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_migrated_host_e2e.py +0 -0
  863. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_migrated_i2v_e2e.py +0 -0
  864. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_project_naming_e2e.py +0 -0
  865. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_refresh_on_miss_e2e.py +0 -0
  866. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_scene_compose_live.py +0 -0
  867. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_sidebar_recovery_e2e.py +0 -0
  868. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_tools_e2e.py +0 -0
  869. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_transports_e2e.py +0 -0
  870. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_video_r2v_ref_cap_e2e.py +0 -0
  871. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_video_r2v_uuid_name_e2e.py +0 -0
  872. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/e2e/test_video_t2v_e2e.py +0 -0
  873. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/__init__.py +0 -0
  874. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/asset_tagging.feature +0 -0
  875. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/auth.feature +0 -0
  876. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/auth_login.feature +0 -0
  877. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/character_create.feature +0 -0
  878. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/character_read.feature +0 -0
  879. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/click_attribution.feature +0 -0
  880. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/conftest.py +0 -0
  881. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/credits.feature +0 -0
  882. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/duration_tab_drift.feature +0 -0
  883. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/entity_provenance.feature +0 -0
  884. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/image.feature +0 -0
  885. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/image_batch_references.feature +0 -0
  886. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/image_upscale.feature +0 -0
  887. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/incident_diagnostics.feature +0 -0
  888. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/instructions.feature +0 -0
  889. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/landing_state_diagnosis.feature +0 -0
  890. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/latched_locale_recovery.feature +0 -0
  891. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/locale_picker_include.feature +0 -0
  892. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/mcp_tasks.feature +0 -0
  893. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/media_picker_tiers.feature +0 -0
  894. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/migrated_driver.feature +0 -0
  895. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/migrated_host_gate.feature +0 -0
  896. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/migrated_host_images.feature +0 -0
  897. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/migrated_i2v.feature +0 -0
  898. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/output_hardening.feature +0 -0
  899. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_asset_tagging_steps.py +0 -0
  900. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_auth_login_steps.py +0 -0
  901. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_character_create_steps.py +0 -0
  902. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_character_read_steps.py +0 -0
  903. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_credits_steps.py +0 -0
  904. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_e2e_binding_guard.py +0 -0
  905. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_image_steps.py +0 -0
  906. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_image_upscale_steps.py +0 -0
  907. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_incident_diagnostics_steps.py +0 -0
  908. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_instructions_steps.py +0 -0
  909. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_locale_picker_include_steps.py +0 -0
  910. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_mcp_tasks_steps.py +0 -0
  911. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_media_picker_tiers_steps.py +0 -0
  912. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_migrated_driver_steps.py +0 -0
  913. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_migrated_host_gate_steps.py +0 -0
  914. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_migrated_host_images_steps.py +0 -0
  915. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_migrated_i2v_steps.py +0 -0
  916. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_output_hardening_steps.py +0 -0
  917. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_step_collision_guard.py +0 -0
  918. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_video_agent_ui_steps.py +0 -0
  919. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/test_video_chain_steps.py +0 -0
  920. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/video_agent_ui.feature +0 -0
  921. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/features/video_chain.feature +0 -0
  922. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/fixtures/__init__.py +0 -0
  923. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/fixtures/changelog_modal_page.html +0 -0
  924. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/fixtures/doctor_env.py +0 -0
  925. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/fixtures/flow_model_inventory.json +0 -0
  926. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/fixtures/flow_project_listing_media.json +0 -0
  927. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/fixtures/listing_payload.py +0 -0
  928. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/fixtures/seeded_catalog.py +0 -0
  929. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/flow_selectors/__init__.py +0 -0
  930. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/flow_selectors/test_grading.py +0 -0
  931. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/flow_selectors/test_model.py +0 -0
  932. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/flow_selectors/test_model_governance.py +0 -0
  933. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/flow_selectors/test_registry.py +0 -0
  934. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/flow_selectors/test_report.py +0 -0
  935. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/image_batch/__init__.py +0 -0
  936. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/image_batch/test_image_manifest.py +0 -0
  937. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/image_batch/test_jitter_config.py +0 -0
  938. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/image_batch/test_observability_events.py +0 -0
  939. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/integration/__init__.py +0 -0
  940. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/integration/conftest.py +0 -0
  941. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/integration/constants.py +0 -0
  942. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/integration/test_expander_gateway.py +0 -0
  943. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/integration/test_storage_gcs.py +0 -0
  944. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/integration/test_storage_s3.py +0 -0
  945. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/__init__.py +0 -0
  946. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/conftest.py +0 -0
  947. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_character_tools.py +0 -0
  948. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_cli_parity.py +0 -0
  949. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_credits_tool.py +0 -0
  950. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_error_funnel.py +0 -0
  951. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_http_transport.py +0 -0
  952. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_known_issues_resource.py +0 -0
  953. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_migrated_i2v_parity.py +0 -0
  954. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_no_spend.py +0 -0
  955. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_rate_limit_envelope.py +0 -0
  956. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_reference_entity_round_trip.py +0 -0
  957. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_resources.py +0 -0
  958. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_server.py +0 -0
  959. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_setup.py +0 -0
  960. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_stdio_transport.py +0 -0
  961. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_tasks_extension.py +0 -0
  962. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_tools_helpers.py +0 -0
  963. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_tools_instructions.py +0 -0
  964. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/mcp/test_tools_wired.py +0 -0
  965. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_analyze_agent_ui_capture.py +0 -0
  966. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_canary_classify.py +0 -0
  967. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_canary_reexec.py +0 -0
  968. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_capture_locale_invariants.py +0 -0
  969. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_capture_video_model_capability_matrix.py +0 -0
  970. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_check_council_memory.py +0 -0
  971. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_check_materiality.py +0 -0
  972. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_check_release_artifacts.py +0 -0
  973. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_check_repo_hygiene.py +0 -0
  974. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_check_test_count.py +0 -0
  975. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_check_website_docs_pii.py +0 -0
  976. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_codex_plugin.py +0 -0
  977. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_extract_har_summary.py +0 -0
  978. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_frame_acceptance.py +0 -0
  979. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_generate_website_docs.py +0 -0
  980. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_incident_bundle_quality.py +0 -0
  981. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_materiality_backtest.py +0 -0
  982. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_skillopt_scoring.py +0 -0
  983. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_spike_page_pool.py +0 -0
  984. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_spike_profile_lease.py +0 -0
  985. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/scripts/test_workflow_hardening.py +0 -0
  986. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/__init__.py +0 -0
  987. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_catalog_sync.py +0 -0
  988. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_character_create_redaction.py +0 -0
  989. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_character_create_saga.py +0 -0
  990. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_character_gen_no_direct_post.py +0 -0
  991. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_credits.py +0 -0
  992. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_doctor.py +0 -0
  993. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_media_attribution.py +0 -0
  994. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_mentions_observability.py +0 -0
  995. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_mentions_parse.py +0 -0
  996. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_mentions_resolve.py +0 -0
  997. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/services/test_resolve_and_apply.py +0 -0
  998. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/smoke/__init__.py +0 -0
  999. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/smoke/test_profile_account_smoke.py +0 -0
  1000. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/smoke/test_real_flow.py +0 -0
  1001. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_auth.py +0 -0
  1002. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_browser_manager.py +0 -0
  1003. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_chain.py +0 -0
  1004. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_chain_manifest.py +0 -0
  1005. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_cli_data.py +0 -0
  1006. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_cli_project.py +0 -0
  1007. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_cli_update.py +0 -0
  1008. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_config.py +0 -0
  1009. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_conftest_isolation.py +0 -0
  1010. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_data_queries.py +0 -0
  1011. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_diagnostics_bundle.py +0 -0
  1012. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_diagnostics_events.py +0 -0
  1013. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_diagnostics_journal.py +0 -0
  1014. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_diagnostics_recorder.py +0 -0
  1015. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_diagnostics_retention.py +0 -0
  1016. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_diagnostics_sanitize.py +0 -0
  1017. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_documentation_gate.py +0 -0
  1018. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_duration_tab_drift.py +0 -0
  1019. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_entity_provenance.py +0 -0
  1020. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_errors.py +0 -0
  1021. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_errors_classification.py +0 -0
  1022. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_image_batch_references.py +0 -0
  1023. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_incident_generation_requests.py +0 -0
  1024. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_json_output.py +0 -0
  1025. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_marker_registry.py +0 -0
  1026. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_media.py +0 -0
  1027. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_observability.py +0 -0
  1028. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_overlay_banner_dismissal.py +0 -0
  1029. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_paths.py +0 -0
  1030. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_playwright_pin.py +0 -0
  1031. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_profile_lease.py +0 -0
  1032. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_profile_lease_subprocess.py +0 -0
  1033. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_profile_store.py +0 -0
  1034. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_profile_store_locale.py +0 -0
  1035. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_project_list_urls.py +0 -0
  1036. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_self_documenting_errors.py +0 -0
  1037. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_smoke.py +0 -0
  1038. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/test_update_check.py +0 -0
  1039. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/tools/__init__.py +0 -0
  1040. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/tools/test_banned.py +0 -0
  1041. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/tools/test_expander.py +0 -0
  1042. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/tools/test_invocation.py +0 -0
  1043. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/tools/test_loader.py +0 -0
  1044. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/tools/test_registry.py +0 -0
  1045. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/tools/test_runtime.py +0 -0
  1046. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/tools/test_spec.py +0 -0
  1047. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/ui/test_app.py +0 -0
  1048. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/worker/test_codec.py +0 -0
  1049. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/worker/test_daemon.py +0 -0
  1050. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/worker/test_mcp_daemon_race.py +0 -0
  1051. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/worker/test_queue.py +0 -0
  1052. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/worker/test_queue_multiprocess.py +0 -0
  1053. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/tests/worker/test_queue_reconciliation.py +0 -0
  1054. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/ACCOUNT_SAFETY.md +0 -0
  1055. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/CHARACTER.md +0 -0
  1056. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/CONFIGURATION.md +0 -0
  1057. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/DATA_LAYER.md +0 -0
  1058. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/DEVELOPMENT.md +0 -0
  1059. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/E2E_TESTING.md +0 -0
  1060. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/EXTERNAL_STORAGE.md +0 -0
  1061. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/INSTRUCTIONS.md +0 -0
  1062. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/MEDIA_LIBRARY.md +0 -0
  1063. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/MOVIE.md +0 -0
  1064. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/PROMPT_EXPANSION.md +0 -0
  1065. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/SECURITY.md +0 -0
  1066. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/TOOLS.md +0 -0
  1067. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/agents.md +0 -0
  1068. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/index.md +0 -0
  1069. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/installation.md +0 -0
  1070. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/onboarding-mockup.html +0 -0
  1071. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/onboarding.md +0 -0
  1072. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/docs/stylesheets/extra.css +0 -0
  1073. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/mkdocs.yml +0 -0
  1074. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/requirements.in +0 -0
  1075. {gflow_cli-0.73.1 → gflow_cli-0.73.2}/website/requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gflow",
3
- "version": "0.73.1",
3
+ "version": "0.73.2",
4
4
  "description": "Reusable development and operations workflows for gflow-cli",
5
5
  "author": {
6
6
  "name": "Flavio Oliva",
@@ -7,6 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.73.2] — 2026-09-12
11
+
12
+ ### Fixed
13
+
14
+ - **A missing browser-strategy marker no longer reports as a network problem (#796).**
15
+ The Playwright cookie reader refuses a profile whose `.gflow_browser_strategy` marker
16
+ is absent, and that `SecurityError` was flattened into `VERIFICATION_ERROR` — whose
17
+ guidance is "check network connectivity", for a file on the user's own disk. It is
18
+ also precisely the state a failed first login leaves behind, since that rolls the
19
+ marker back. A new `PROFILE_MARKER_MISSING` outcome carries its own message and the
20
+ remediation that actually works (`gflow auth login --browser chrome`), on the CLI and
21
+ on the MCP twin (HTTP 409, `retryable: false` — it is neither a network blip nor an
22
+ expired session).
23
+ - **`gflow credits` no longer blames SAPISID for a host it never contacted (#795).** When
24
+ labs.google answers 200 with no `access_token` — the normal shape for an account Google
25
+ has migrated to `flow.google.com` — the failure was raised as "aisandbox-pa
26
+ authentication failed" with the remediation "SAPISID cookie missing, expired, or
27
+ unreadable". aisandbox-pa had not been contacted, and SAPISID was present and fine, so
28
+ the advice sent users into a re-login loop that cannot terminate on that cohort. The
29
+ remediation now names the real cause. `credits` itself remains labs-only on migrated
30
+ accounts — tracked in #795.
31
+ - **Incident bundles from a `flow.google.com` failure are no longer blank (#792).** The
32
+ migrated composer parked its pooled page on `about:blank` in a bare `finally`, so on
33
+ the FAILURE path it navigated away *before* `FlowApiClient._capture_incident` read the
34
+ page — whose own contract is to stage the bundle "while the page is still alive".
35
+ Every migrated video and image failure therefore shipped `tag_counts.div = 0`, a white
36
+ screenshot and `host_category = "other"` beside a network journal that proved the app
37
+ was alive, which reads exactly like a lost browser tab and is unusable as evidence.
38
+ The park is deferred past the capture and drained at the **top of the next run**, before
39
+ the route decision reads `page.url` — which is where the invariant it protects (a stale
40
+ project URL must not route the next request) is actually consumed, and the only place
41
+ that also covers the `post_with_retry` path, where a retryable 5xx re-enters the
42
+ transport without passing the client's failure boundary at all. Cancellation still
43
+ attempts the park inline and latches, since no bundle is staged for it.
44
+ Note a failure bundle's `sensitive/screenshot.png` is now a real capture of the
45
+ logged-in page rather than a blank frame — the review-before-sharing posture in
46
+ SECURITY.md applies to it as it already did to every other screenshot.
47
+
48
+ - **The `/about` landing's `retryable=False` is now a measurement, not a preserved
49
+ default.** A live occurrence was caught on a second account and the #756 stability
50
+ probe re-run unmodified: **5/5** attempts landed on `/about` over ~3 minutes, on the
51
+ account's own project, with a healthy session — so a retry is doomed and costs ~35 s
52
+ each. Four places that said the measurement *could not* be made are corrected — two
53
+ code comments, the exit-31 row in [USAGE](docs/USAGE.md) and the `retryable` note in
54
+ [MCP](docs/MCP.md); behaviour is unchanged. Still unmeasured: the cause, and whether
55
+ it ever clears.
56
+ - **An auth-status test no longer depends on how wide the terminal is.** Several steps
57
+ assert a substring of Rich's output, which hard-wraps — so a temp path landing near
58
+ the wrap column split `experiments` into `profile_e` + `xperiments` and failed on
59
+ formatting rather than behaviour. Pinned at the shared `CliRunner` fixture, which is
60
+ the one chokepoint for every invoke in that file.
61
+
10
62
  ## [0.73.1] — 2026-09-11
11
63
 
12
64
  ### Fixed
@@ -4867,7 +4919,8 @@ shell-script template that branches on these codes.
4867
4919
 
4868
4920
  First skeleton. Not functional end-to-end yet.
4869
4921
 
4870
- [Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.73.1...HEAD
4922
+ [Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.73.2...HEAD
4923
+ [0.73.2]: https://github.com/ffroliva/gflow-cli/compare/v0.73.1...v0.73.2
4871
4924
  [0.73.1]: https://github.com/ffroliva/gflow-cli/compare/v0.73.0...v0.73.1
4872
4925
  [0.73.0]: https://github.com/ffroliva/gflow-cli/compare/v0.72.0...v0.73.0
4873
4926
  [0.72.0]: https://github.com/ffroliva/gflow-cli/compare/v0.71.1...v0.72.0
@@ -98,7 +98,7 @@ is a per-account setting the labs.google app applies on every load (measured
98
98
  once the account is flagged, re-running will not land the old frontend. Earlier text here said the rollout
99
99
  "flaps" and told you to retry; that observation straddled the account's one-time
100
100
  switch and is withdrawn. The REST surface (`gflow project list`, `gflow data …`)
101
- is unaffected. Automated callers now receive `retryable: false` so retry loops
101
+ is unaffected; `gflow credits` is **not** — its token comes from `labs.google`, which mints none for a moved account ([#795](https://github.com/ffroliva/gflow-cli/issues/795), open; see the quota entry below). Automated callers now receive `retryable: false` so retry loops
102
102
  stop instead of burning a doomed attempt each time.
103
103
 
104
104
  **What gflow does today for the rest of the matrix:** recognises the migrated
@@ -220,11 +220,19 @@ at `z-index: 1000`, and Flow's composer is bottom-anchored in the same band. The
220
220
  therefore lands **on** the settings trigger *and* on the image submit button.
221
221
  Measured 2026-09-11 on the `ci-probe` profile: `elementFromPoint` over each returned
222
222
  the bar's label span in 5/5 rendered samples, on the same profile and project where
223
- the click had landed 3/3 the day before. **How widely it fires is unmeasured** — one
224
- account observed blocked, one observed already-consented — so treat the recurrence
225
- pattern as unknown rather than as once-per-profile. The labs driver survives it by
226
- accident; `_bypass_onboarding` carries a text match on "Agree". The migrated driver
227
- had no equivalent.
223
+ the click had landed 3/3 the day before.
224
+
225
+ **Who gets it:** anyone who has not yet dismissed it on that origin. The gate is a
226
+ single key, `localStorage["glue.CookieNotificationBar"]` on `flow.google.com` — not a
227
+ cookie, which is why no profile here carries `SOCS`. A clean browser profile reads the
228
+ bar visible 4/4, and removing that key on a consented profile brings it straight back
229
+ with both controls covered again. So it is the **default state**, and a stored
230
+ dismissal is what removes it: every new gflow profile meets it on its first Flow load,
231
+ and any profile whose stored dismissal Google resets meets it again — as `ci-probe` did
232
+ within seventeen hours.
233
+
234
+ The labs driver survives it by accident; `_bypass_onboarding` carries a text match on
235
+ "Agree". The migrated driver had no equivalent.
228
236
 
229
237
  Through 0.73.0 the run fails at exit 23 with `it is covered by span` — the element on
230
238
  top is the bar's label, whose identity lives in an `id` the occluder allowlist drops,
@@ -800,9 +808,9 @@ A block that survives dismissal now aborts pre-submit with exit 23 (probe `overl
800
808
 
801
809
  ---
802
810
 
803
- ### No in-CLI quota visibility — resolved
811
+ ### No in-CLI quota visibility — resolved on labs, still open on the migrated host
804
812
 
805
- - **Status:** Resolved 2026-09-05
813
+ - **Status:** Resolved 2026-09-05 for `labs.google` accounts · **Open** on accounts Google has migrated to `flow.google.com` · **Tracked:** [#795](https://github.com/ffroliva/gflow-cli/issues/795)
806
814
 
807
815
  Use `gflow credits user` for the selected profile or `gflow credits list` for all saved
808
816
  profiles. Both commands query Flow's current read-only credits endpoint with the saved browser
@@ -810,6 +818,17 @@ session; `--json` provides a stable automation contract. The equivalent MCP surf
810
818
  `gflow_get_credits`. The reported balance funds Veo video generation; image generation consumes
811
819
  separate per-model daily quotas.
812
820
 
821
+ **On a migrated account there is still no in-CLI quota visibility.** The credits endpoint is
822
+ reached with a token minted by `labs.google`, and for an account Google has moved to
823
+ `flow.google.com` that session answers `200` with no `access_token` — it never mints one. So
824
+ `gflow credits user` / `list` and `gflow_get_credits` fail on that cohort with "the labs.google
825
+ session returned no access token". Through 0.73.1 this was reported as "aisandbox-pa
826
+ authentication failed … SAPISID cookie missing, expired, or unreadable", which sent migrated
827
+ users into a re-login loop that cannot terminate: aisandbox-pa had not been contacted and
828
+ SAPISID was present and fine. 0.73.2 fixes the *message* only — the remediation now names the
829
+ real cause. Reading a balance on the migrated host is **not** implemented
830
+ ([#795](https://github.com/ffroliva/gflow-cli/issues/795), open). Generation is unaffected.
831
+
813
832
  ---
814
833
 
815
834
  ### `gflow serve` / MCP worker queue: interrupted post-submit tasks need manual reconciliation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: gflow-cli
3
- Version: 0.73.1
3
+ Version: 0.73.2
4
4
  Summary: Unofficial CLI for Google Flow — drive Veo image-to-video generations from the terminal.
5
5
  Project-URL: Homepage, https://github.com/ffroliva/gflow-cli
6
6
  Project-URL: Issues, https://github.com/ffroliva/gflow-cli/issues
@@ -113,14 +113,15 @@ When the project converges on the hexagonal target above, modules graduate to la
113
113
  > **Note: this document describes the TARGET architecture, not the current
114
114
  > package layout.** The current shape (per [PLAN.md § 2](../PLAN.md#2-architecture-steady-state)
115
115
  > and [ADR #2](../PLAN.md#5-decision-log-adrs-in-miniature)) is the simpler
116
- > `src/gflow_cli/{api/, auth/, data/, mcp/, services/, tools/, ui/, worker/}`
117
- > packages plus flat modules — the `cli*.py` adapters, `browser_manager.py`,
118
- > `chain*.py`, `composition.py`, `config.py`, `diagnostics.py`, `errors.py`,
119
- > `image_batch.py`, `json_output.py`, `media.py`, `movie_manifest.py`,
120
- > `observability.py`, `paths.py`, `profile_lease.py`, `profile_store.py`,
121
- > `storage.py`, `update_check.py` (the once-a-day notice and `gflow update`'s
122
- > `run_update`; its Click surface is `cli_update.py`), and `winsec.py` (inventory refreshed for
123
- > v0.56.0, #507 — it had drifted a dozen modules behind).
116
+ > `src/gflow_cli/{api/, auth/, data/, flow_selectors/, mcp/, services/, tools/, ui/,
117
+ > worker/}` packages plus flat modules — the `cli*.py` adapters, `_cli_helpers.py`,
118
+ > `browser_manager.py`, `chain*.py`, `composition.py`, `config.py`, `diagnostics.py`,
119
+ > `errors.py`, `exceptions.py`, `file_integrity.py`, `image_batch.py`, `json_output.py`,
120
+ > `media.py`, `movie_manifest.py`, `observability.py`, `paths.py`, `profile_lease.py`,
121
+ > `profile_store.py`, `redaction.py`, `storage.py`, `update_check.py` (the once-a-day
122
+ > notice and `gflow update`'s `run_update`; its Click surface is `cli_update.py`), and
123
+ > `winsec.py` (inventory refreshed for v0.73.2 — it had drifted again since the v0.56.0
124
+ > refresh in #507; `AGENTS.md` carries the same list and is the one to diff against).
124
125
  > The DDD layout below was deferred indefinitely; converge toward it incrementally
125
126
  > if/when a second `Provider` justifies the split (`gflow serve` shipped as a
126
127
  > thin adapter over the same core rather than forcing it).
@@ -242,7 +242,7 @@ Probing Flow session (may take up to ~45s on a slow network)...
242
242
  Flow session verified as you@example.com.
243
243
  ```
244
244
 
245
- > Note: `cookies_present: True` only confirms the file exists. The final verdict line is the live probe result: a dead session prints a `gflow auth login` remediation hint and exits 1; a probe that cannot reach the endpoint (offline, 5xx) also exits 1 but suggests checking connectivity instead of re-logging in.
245
+ > Note: `cookies_present: True` only confirms the file exists. The final verdict line is the live probe result, and it has three failing shapes — all exit 1, each with a different hint. A **dead session** prints a `gflow auth login` remediation hint. A probe that **cannot reach the endpoint** (offline, 5xx) suggests checking connectivity instead of re-logging in. And a profile **missing its `.gflow_browser_strategy` marker** — the state a failed *first* login leaves behind, since that rolls the marker back — says so and points at `gflow auth login --browser chrome --profile <name>`; it is local profile state, not a network fault, and "check connectivity" would send you to the wrong place ([#796](https://github.com/ffroliva/gflow-cli/issues/796), 0.73.2). The MCP twin `gflow_auth_status` reports the same three as HTTP 401, 503 (`retryable: true`) and 409 (`retryable: false`) — see [MCP.md](MCP.md).
246
246
 
247
247
  ### `gflow auth list`
248
248
 
@@ -157,7 +157,14 @@ bundle a user emails you:
157
157
  It prints a scorecard (grade, per-question YES/NO/N/A, privacy verdict). The
158
158
  live e2e benchmark (`tests/e2e/test_incident_quality_e2e.py`, credit-free)
159
159
  enforces quality floors on real bundles so a regression that hollows out the
160
- evidence fails CI even though the artifacts still exist.
160
+ evidence is caught even though the artifacts still exist.
161
+
162
+ **It is an opt-in gate, not a CI one** — it needs `-m e2e` and
163
+ `GFLOW_CLI_E2E_PROFILE`, so nothing runs it on a pull request. And until #792 it
164
+ graded only bundles captured deliberately on a *healthy* page, which is how a bug
165
+ that hollowed out every **failure** bundle on the migrated host survived it. The
166
+ file now also drives a real failed generation and asserts the DOM capture is not
167
+ blank; run it before shipping anything that touches capture or page lifecycle.
161
168
 
162
169
  ### Worker / daemon correlation
163
170
 
@@ -160,7 +160,7 @@ Slash commands for Claude Code, stored in `.claude/commands/gflow/`. All prefixe
160
160
  **"A command failed — where is the incident bundle and what's in it?"** → [DEBUGGING § Automatic incident bundles](DEBUGGING.md#automatic-incident-bundles) (layout, triggers, review-before-sharing); privacy boundaries: [SECURITY § Automatic incident bundles](SECURITY.md#automatic-incident-bundles-gflow_cli_incident_capture-default-on); disable via [CONFIGURATION § GFLOW_CLI_INCIDENT_CAPTURE](CONFIGURATION.md#gflow_cli_incident_capture)
161
161
  **"Flow's UI broke a selector — how do I diagnose it?"** → [DEBUGGING § Inspecting Flow's live UI](DEBUGGING.md#inspecting-flows-live-ui)
162
162
  **"What does each `ui_automation.*` log event mean?"** → [DEBUGGING § Listener & HTTP-layer debugging](DEBUGGING.md#listener--http-layer-debugging)
163
- **What was actually live-verified for the latest release?** → latest: [LIVE_VERIFICATION_v0.73.1](LIVE_VERIFICATION_v0.73.1.md) (**Google's `glue` consent bar covering the migrated composer, measured and then cured, 2026-09-11 on `ci-probe` for one image generation and no Veo credits.** The premise was nearly rejected: both prior sightings of that selector in this repo are labs.google, and the 2026-09-10 spike had read 159 DOM samples on this exact host and project and watched the click land 3/3 — it simply never looked for a cookie bar. Seventeen hours later the bar was up: `position: fixed`, `z-index: 1000`, spanning y 547-655 of a 655 px viewport, with `elementFromPoint` over the settings trigger AND over the image submit both returning `span#glue-cookie-notification-bar-1-label` in **0 of 5** rendered samples hit-testable. **The control arm is what makes it a cure rather than a coincidence**: the same probe re-run through the driver's own `_dismiss_cookie_bar` restored both controls to **4/4**, one attempt, no error. A full `gflow image t2i` then ran end to end on the merged code — `status: ok`, a 807,761-byte `ffd8ffe0` JPEG that Pillow reads as 1376x768 RGB, matching the requested 16:9 and the reply's own dimensions, with `migrated.editor_ready` at 2.0 s and **no** `cookie_bar_not_dismissed`. A side finding the control arm produced by accident: the bar's buttons are `__accept` then `__reject` in DOM order, so anything taking "the first button" accepts cookies for the operator — the shipped fix anchors on reject. **Three items recorded as NOT verified rather than omitted:** the cure against a live bar outside the browser, because this release's own control arm consumed the consent on the only profile that had it; **prevalence**, because the second profile never reached an editor (both arms redirected to `/about`) so it is one account blocked and one already-consented, and KNOWN_ISSUES says so rather than generalising from n=1; and the video path live, which shares the identical function on the identical control but spends Veo credits.) · previous: [LIVE_VERIFICATION_v0.73.0](LIVE_VERIFICATION_v0.73.0.md) (**four error paths that stopped lying about what went wrong, verified 2026-09-10 on `ci-probe` and `denon82` at $0 — no run below reaches a Veo submit.** The decisive arm is an **A/B**, not an inspection: the pre-fix run printed an `accounts.google.com` challenge URL together with the OAuth `state` and `client_id`, and the identical command after the fix gave the same exit 38 and the same landing named with **five secret matches down to zero** — reading the post-fix output alone would only have shown that *these* secrets were absent. A second arm **falsified a claim already written into PR #775's body**: it said the change fixed the RED canary, and the live run showed `denon82` had moved to `accounts.google.com` mid-run, a landing the classifier excluded **by design**, with a unit test encoding the wrong reason — the offline suite was green throughout and could not have caught it. #776's happy path is verified by a real `gflow image t2i` (exit 0, 367 135-byte JPEG, `image_settings_applied` and `prompt_typed` both present, so **three of the four converted click sites** clicked successfully through the new helper); its **failure** path is real Chromium driving a page we wrote, which proves the mechanism and explicitly **not** that Flow still produces that state. **Three items recorded as NOT verified rather than omitted:** the `/about` redirect stopped reproducing (**0/5**, reported as *unmeasured* rather than argued into a retry flag), the `/fx/api/auth/*` landing moved before the run reached it, and #764's *success* path — an external contribution whose error boundary this release verifies but whose auto-selection needs an account currently behind a Google password challenge. The fourth converted click site is the **video** submit, unrun because it spends Veo credits, named rather than implied.) · previous: [LIVE_VERIFICATION_v0.72.0](LIVE_VERIFICATION_v0.72.0.md) (**auto-closing `gflow auth login`, verified 2026-09-09 on a migrated account at $0 across six runs.** Four paths: auto-close fires (`probe=in_context` at `elapsed_s` **84.8**, reproduced 3x), a manual close still verifies from disk (exit 0, never exit 12), `--browser auto` selects and completes, and a window closed **mid-2FA** is noticed in **2 s** (exit 8) where it previously ran the full 600 s deadline with the session endpoint touched **zero** times. **Two runs were discarded rather than counted**, and that is the useful part: the first returned exit 0 at `elapsed_s: 0.2` because a throwaway profile had survived the previous session and nobody signed in — a cached session reading as a clean pass — and three attempts at the manual-close path all returned exit 0 while being the *auto-close* path in disguise, separable only by an **absent** `probe=in_context`. The manual path was obtained by widening the poll interval for one run so the competing branch could not fire; the 2FA path by killing the profile's own Chrome, because hand-timing lost every race on a host that completes passkey sign-in in ~15 s. **Recorded as NOT verified rather than omitted:** the migrated-host image slice (#692) was **re-run this cycle** — CLI `t2i` PASSED first-hand on a moved account, while the queued-MCP `i2i` twin failed with a typed non-retryable exit 27 whose **cause is unknown** — some dialog opened after the file was chosen and no `maseQ` left the page, on an account that has ALREADY consented, so the message's "most likely the one-time upload-terms dialog" does not fit; no incident bundle was written, so nothing names the dialog, and it is filed for a spike rather than guessed; the subprocess fallback is unit-tested only; and the OAuth-callback *mechanism* behind the poll fix is **inferred, not proven** — a host-only gate does not exclude NextAuth's callback, since it runs on the app's own origin, yet all four sign-ins passed under it, so #769 carries the spike that would settle it.) · previous: [LIVE_VERIFICATION_v0.71.1](LIVE_VERIFICATION_v0.71.1.md) (**two migrated-host error paths stopped blaming the wrong thing, 2026-09-08, $0 across three profiles.** The agent-mode recovery landed earlier in this same release (#749) and worked, but its first cut collapsed three outcomes into one message — chip clicked / chip found but click blocked / chip clicked and mode still on — so a modal eating the click sent users to toggle a chip that was never the problem, and genuine selector drift *after* the mode was left was filed under an account setting the driver had already changed. Verified by an e2e that drives the account INTO agent mode and carries its own neutered-selector control; run **twice**, because review fixes landed after the first run and it no longer covered the code. **The larger find:** an account's FIRST upload on this host is blocked by Flow's one-time *"Rights to use this image"* dialog, which renders *after* the file chooser hands the file over — so `_dismiss_dialog` never sees it and the driver spent 60 s waiting for a request the page had already declined to make, then advised re-encoding the image. Six runs on `ci-probe` close the chain: guard fires while the dialog is up → owner-authorised accept → uploads (`media_id 8914400f`) → fresh session uploads clean with `dialog: None`. The order was forced, because the dialog is one-off and accepting it destroys the failing state — so the guard was written and verified BEFORE anything was clicked, and its firing branch is now unrepeatable here. `maseQ` is confirmed **not** renamed (six uploads, three profiles), killing #719's top hypothesis. Also: Flow's queue listing is on **`Zzl0ze`**, not the `jwpduf`/`as29s` progress polls, and two `abra_r2v_8s` records sat at status 6 for ~20 h unseen by any CLI command (#741). Three documents are corrected rather than patched — a KNOWN_ISSUES entry that told #719's reader this dialog did not affect gflow-cli, and a v0.71.0 host label calling `ci-probe` *labs* when it is migrated, which helped a credit-based theory survive four runs. Recorded as NOT verified: #719's second failure shape — an upload request that leaves the page and is never answered, ~1 run in 4 — which is unfixed and keeps #719 open.) · previous: [LIVE_VERIFICATION_v0.71.0](LIVE_VERIFICATION_v0.71.0.md) (**`gflow character create --voice` verified end to end for the first time, 2026-09-07 on profile `ffroliva`.** Before this release a repo-wide grep for `--voice` across `tests/e2e/` matched **nothing** — every voice test was a unit test of the hardcoded `VOICES` constant and the one that looked live parsed a fixture, so a voice that silently failed to attach was invisible to the whole suite while the command exited 0. A live create + `character show` read-back settles a contradiction between two of our own documents: `sent='Charon' stored='Charon' identical=True`, so the Capitalized canonical form round-trips and `CHARACTER_RECON.md`'s "preset id is the lowercased name" does not describe today's wire. Both docs also now record that `personalityNotes` is **Agent-scoped** per Flow's own editor copy, not a control on the audio engine. **A claim that was in the code is overturned:** the `_unported_form` entity guard said the submit "never produces a reply" and that the backend refuses — in fact `MZZa6b` replies with a null payload and the generation is **accepted and queued** (Flow types it `abra_r2v_8s` and renders it); the failure is the *observer*, which waits out `SUBMIT_REPLY_BUDGET_S` (60 s, calibrated on 4.0–4.6 s replies against an idle queue) and exits 9 while the video is still rendering. The guard stays until the observer is fixed, because a timeout reported on a healthy generation is worse than an explicit refusal. Also verified: credit shortfall reports exit **37** with `_raise_if_out_of_credits` called from **both** give-up paths — and it is *short for the selected model*, not empty (the measured account held **50** and asked for `veo-quality`, which costs **100**); the "+ New project" CTA anchored structurally on `add` (Tier-1 matches **1** where every previous entry matched **0**, control 47 ligature nodes) after this same release first asserted the control did not exist and a $0 run disproved it in one click; and the incident-bundle DOM dump de-blinded — it queried `i.google-symbols` only, so **every bundle a migrated user sent carried an empty ligature list**, which is why #727 and #731 stayed invisible. One item recorded as NOT verified rather than omitted: whether a bound character's **voice reaches rendered audio** (#738) — attachment is proven, application is not, because no entity-bound generation has yet returned a file to measure. The blocker is no longer credits or account access but retrieval, and the measurement is pre-calibrated: plate-bound takes of one character gave **88 / 103 / 118 Hz** against a **4.3 Hz** engine noise floor, so an applied Algenib should sit near its sample's **163.3 Hz**.) · previous: [LIVE_VERIFICATION_v0.70.0](LIVE_VERIFICATION_v0.70.0.md) (**reference-to-video on the migrated `flow.google.com` host, verified 2026-09-06 on profile `denon82`.** Three r2v runs bound their references every time; the decisive one is semantic rather than structural — two hand-drawn reference images went in and the clip came back carrying the same marker strokes, face and paper texture, which is what separates "Flow bound the reference" from "Flow accepted and ignored it". A four-beat, two-character piece was then produced end to end and joined with the concat filter: 19.000s, 1280x576, `clip_qa` **ok**, A/V **+0.000s**, both actors recognisable across every cut from one face plate plus the canon repeated verbatim. Also verified as exit-code corrections on the real CLI: `-o <existing directory>` now exits **2 in 0.8s** instead of exit 1 after ~2 min **and a billed, orphaned clip**; `character create` on a moved account exits **36 immediately** instead of a bare `RuntimeError` exit 1 after a 20s wait. Four items recorded as NOT verified rather than omitted: #692's original failure could not be reproduced [the reporter's own re-run was on a build without the fix, so it shows the failure is intermittent, not that the fix works]; Flow CHARACTER entities were never exercised because `character create` cannot run on any account available here; `image`/`scene`/`movie`/`extend` all exit 36 on the migrated host and no unmoved account exists here; and the sign-in-interstitial fidelity question from #699 has no bundle evidence either way.) · previous: [LIVE_VERIFICATION_v0.68.0](LIVE_VERIFICATION_v0.68.0.md) (`gflow update` self-upgrading a real `uv tool` and a real `pipx` install from their own running `gflow.exe` to the PyPI release, Windows 11, zero credits — see its own row below) · previous: [LIVE_VERIFICATION_v0.67.0](LIVE_VERIFICATION_v0.67.0.md) (the migrated `flow.google.com` driver — see its own row below) · previous: [LIVE_VERIFICATION_v0.64.0](LIVE_VERIFICATION_v0.64.0.md) (**#626 `--model omni-flash --end-frame` — first+last interpolation on Omni 1.1 Flash, verified 2026-09-02.** The guard this release removes was evidence-gated, so it was retired on evidence: a route-aborted submit capture on **two distinct Google accounts** (`ffroliva`, `denon82`) fired `video:batchAsyncGenerateVideoStartAndEndImage` with `startImage` AND `endImage` non-null at **zero credits**, ruling out a single-account artifact. The decisive layer is semantic, not structural: the paid 4s generation's **last frame IS the supplied end image** and its first frame is the start image — two visibly different subjects — which is the only check that distinguishes "Flow bound the end frame" from "Flow accepted and ignored it", and which layers 1–4 would pass either way. Render: 4.01s / 720×1280 / h264+aac / 2.4 MB, `MEDIA_GENERATION_STATUS_SUCCESSFUL`. The static capability table is **deleted**, not corrected — it went stale silently once and would again; a post-submit route check (`_assert_i2v_route`) now fails a run whose end frame Flow dropped back to the `StartImage` route, catching a rollback on any account without anyone re-reading a support page. One item is recorded as NOT verified rather than omitted: `--duration 10` + end frame is **submit-verified only** (`duration_set seconds=10` on the correct route with both images bound), because the status poll returned HTTP 401 mid-run and a retry 401'd at `project.create` before submitting — [#561](https://github.com/ffroliva/gflow-cli/issues/561), pre-existing, so verification was stopped rather than spending further credits on an environmental fault.) · previous: [LIVE_VERIFICATION_v0.63.0](LIVE_VERIFICATION_v0.63.0.md) (**`gflow video extend` — continuing a clip past Flow's 8s ceiling, verified 2026-09-01 on profile `ffroliva`, 20 Veo credits.** The decisive observation is that segment 2's `source_media_id` **is** segment 1's `media_id` (`0c9364f3…` seeded from `b9458021…`, then `648f9291…` seeded from `0c9364f3…`) — tail-only chaining, which no mock can establish; had it re-seeded from the source, the output would have been two divergent continuations of the same moment instead of one continuous shot. `extend_model_resolved` logged `candidate_count=99` against `SERVICE_TIER_INTERMEDIATE`, proving the key came from the live capability listing rather than a constant, and plan cost matched actual spend (`20 credits total, balance 875` → `Extended — 2/2 segment(s), 20 credits`). Render: 23.02s / 1280×720 / 24fps / h264+aac. **The run found a defect the offline suite is structurally incapable of seeing:** an extend segment carries **7.000000s** of content, not the 8 Flow advertises and bills, so server-side concat pads every internal seam with a frozen frame and digital silence (15s at −75.1 dB against −29 neighbours, reproduced on a second independent render) — filed in KNOWN_ISSUES with the three questions that must be answered before any clamp, and the reason `--extend N` on t2v/i2v was deliberately NOT shipped. Seven items are recorded as NOT verified rather than omitted: portrait `9:16`, `--aspect` against a mismatched source, chains longer than 2 segments, `--resume-from` against a live partial scene, the insufficient-credits refusal, a live Ctrl+C, and `OperationKind.EXTEND` rows.) · previous: [LIVE_VERIFICATION_v0.62.1](LIVE_VERIFICATION_v0.62.1.md) (**#604 `--model omni-flash` selects again after Flow's `Omni Flash` → `Omni 1.1 Flash` rename, verified 2026-08-30 on profile `ffroliva` at ZERO Veo credits.** The production `_select_video_model` was driven against the real picker: the shipped selector resolves verbatim — `model_selected model=omni_flash via="[role='menuitem']:has-text('Omni'):has-text('Flash'):not(:has-text('[Lower Priority]'))"` — and all six cases came back as expected: the four offered tiers SELECT, a tier Flow does not offer REFUSES, and a deliberately ambiguous selector REFUSES rather than resolving `.first`. Selection happens before submit, so the whole matrix is free. The transport's own refusal diagnostic read the live menu back as `Omni 1.1 Flash / Veo 3.1 - Lite / Fast / Quality`, independently corroborating the fixture. Four items are recorded as NOT verified rather than omitted: the rename *direction* [the `Omni Flash` baseline is a different account, locale and date], an actual `Omni ... [Lower Priority]` entry [Flow has never offered one], a full credit-spending generation on omni-flash, and #539's absence question, which stays open.) · previous: [LIVE_VERIFICATION_v0.62.0](LIVE_VERIFICATION_v0.62.0.md) (**#595 `auto` ≡ `classic` for images, verified 2026-08-28 on profile `ci-probe` — an account Flow had moved to the agentic cohort the day before — at ZERO Veo credits.** With no flags and no env vars the run logged `ui_driver.ui_mode.attempt_exit_agent` → `ui_driver.bound mode=classic ui_mode=classic` and generated a real 768x1376 JPEG (exit 0); the day before, the identical command on the same account bound `auto`→`agentic` and failed. The same log independently closed **#183**: `mode_switch_trigger` and `image_mode_tab`, the selectors it reported as unfindable, both matched. #591 was proven against the real 500-row catalog — **0** occurrences of the string `"None"`, 31 proper JSON `null`s, over a catalog holding 119 NULL-bearing rows. #592 shows exactly one `client.account_locale_cached` per command. Three items are recorded as NOT verified rather than omitted: the exit-28 abort on a *pinned* agentic account, the #597 batch inter-prompt guard, and any fresh announcement modal — the last two because all three accounts have already acked the current changelog, so no modal can be raised until Google ships the next one.) · previous: [LIVE_VERIFICATION_v0.61.0](LIVE_VERIFICATION_v0.61.0.md) (**#539 video-model refusal + #586 image-model refusal and server-side attribution, verified 2026-08-26/27 on profile `denon82`, ONE Veo generation total** — the video fix was proven by a **zero-credit A/B against the stashed pre-fix source running on live Flow**: the old code returned SELECTED for `veo-lite-lp`, a model Flow does not offer to this account, and for a deliberately ambiguous selector matching 3 entries; the new code refuses both with exit 18 naming what Flow offered. Model selection happens before submit, so refusals cost nothing and the A/B was free. The happy path still generates: `--model omni-flash` → exit 0, a real 2.2 MB `ftypisom` mp4, catalog recording `omni_flash`. Two items are recorded as NOT verified rather than omitted: three of #584's four navigation-settle sites were never exercised [no bearer refresh occurred in these runs], and #582's canary self-re-exec has its first real exercise tonight. Also falsified: #539's recorded note that the video picker uses a different trigger — the two constants are byte-identical strings, and the repeated empty menu captures were the capture's own fault.) · previous: [LIVE_VERIFICATION_v0.60.0](LIVE_VERIFICATION_v0.60.0.md)
163
+ **What was actually live-verified for the latest release?** → latest: [LIVE_VERIFICATION_v0.73.2](LIVE_VERIFICATION_v0.73.2.md) (**the blank incident bundle, reproduced and then cured by a committed e2e test, 2026-09-12 on `ffroliva` at ZERO cost — every arm fails before submit.** The decisive layer is an **A/B run through the same instrument**, not an inspection: on `develop` the new test FAILS in 46.3 s and prints the bundle it got — `tag_counts.div = 0`, `title.length = 0`, `host_category = "other"`, a 4,254-byte screenshot — which is field-for-field the signature [#792](https://github.com/ffroliva/gflow-cli/issues/792) reported from a different account, a different OS and a different command; on the fix it PASSES in 37.8 s with `div` **25**, `title.length` **81**, `host_category` **`flow_app`**, `route` `/404` and a 38.4 KB screenshot. Both arms exit **23** on the same `.settings-trigger-button` drift at `flow.google.com/404?reason=project`, so the arms differ only in what was *captured*, never in what failed. **The reporter's own bundle contained the refutation of their diagnosis**: viewport 1280x720 is `client.py`'s client-owned page, not the 1920x1080 a stray transport tab would have — it was always the driven page, photographed one navigation too late, and the portrait correlation had no mechanism behind it. The existing quality benchmark could not have caught this: it captures deliberately on a **healthy** page, so it graded only bundles that were never at risk. **Recorded as NOT verified rather than omitted:** #796's `PROFILE_MARKER_MISSING` is offline-only because its live trigger is a cookie-store **decryption** failure, which does not occur on Windows/DPAPI — it is the macOS Keychain path of [#768](https://github.com/ffroliva/gflow-cli/issues/768), a **named external blocker**, and the issue stays open; a synthetic attempt to force it failed informatively, since a corrupt store raises `sqlite3.DatabaseError`, bypasses the marker gate and still prints "check network connectivity" — the same misdirection from a different trigger, untouched here. #795's remediation string is unit-asserted only, and the *other* half of #795 — `credits` being labs-only on migrated accounts — is **not fixed**.) · previous: [LIVE_VERIFICATION_v0.73.1](LIVE_VERIFICATION_v0.73.1.md) (**Google's `glue` consent bar covering the migrated composer, measured and then cured, 2026-09-11 on `ci-probe` for one image generation and no Veo credits.** The premise was nearly rejected: both prior sightings of that selector in this repo are labs.google, and the 2026-09-10 spike had read 159 DOM samples on this exact host and project and watched the click land 3/3 — it simply never looked for a cookie bar. Seventeen hours later the bar was up: `position: fixed`, `z-index: 1000`, spanning y 547-655 of a 655 px viewport, with `elementFromPoint` over the settings trigger AND over the image submit both returning `span#glue-cookie-notification-bar-1-label` in **0 of 5** rendered samples hit-testable. **The control arm is what makes it a cure rather than a coincidence**: the same probe re-run through the driver's own `_dismiss_cookie_bar` restored both controls to **4/4**, one attempt, no error. A full `gflow image t2i` then ran end to end on the merged code — `status: ok`, a 807,761-byte `ffd8ffe0` JPEG that Pillow reads as 1376x768 RGB, matching the requested 16:9 and the reply's own dimensions, with `migrated.editor_ready` at 2.0 s and **no** `cookie_bar_not_dismissed`. A side finding the control arm produced by accident: the bar's buttons are `__accept` then `__reject` in DOM order, so anything taking "the first button" accepts cookies for the operator — the shipped fix anchors on reject. **Three items recorded as NOT verified rather than omitted:** the cure against a live bar outside the browser, because this release's own control arm consumed the consent on the only profile that had it; **prevalence**, because the second profile never reached an editor (both arms redirected to `/about`) so it is one account blocked and one already-consented, and KNOWN_ISSUES says so rather than generalising from n=1; and the video path live, which shares the identical function on the identical control but spends Veo credits.) · previous: [LIVE_VERIFICATION_v0.73.0](LIVE_VERIFICATION_v0.73.0.md) (**four error paths that stopped lying about what went wrong, verified 2026-09-10 on `ci-probe` and `denon82` at $0 — no run below reaches a Veo submit.** The decisive arm is an **A/B**, not an inspection: the pre-fix run printed an `accounts.google.com` challenge URL together with the OAuth `state` and `client_id`, and the identical command after the fix gave the same exit 38 and the same landing named with **five secret matches down to zero** — reading the post-fix output alone would only have shown that *these* secrets were absent. A second arm **falsified a claim already written into PR #775's body**: it said the change fixed the RED canary, and the live run showed `denon82` had moved to `accounts.google.com` mid-run, a landing the classifier excluded **by design**, with a unit test encoding the wrong reason — the offline suite was green throughout and could not have caught it. #776's happy path is verified by a real `gflow image t2i` (exit 0, 367 135-byte JPEG, `image_settings_applied` and `prompt_typed` both present, so **three of the four converted click sites** clicked successfully through the new helper); its **failure** path is real Chromium driving a page we wrote, which proves the mechanism and explicitly **not** that Flow still produces that state. **Three items recorded as NOT verified rather than omitted:** the `/about` redirect stopped reproducing (**0/5**, reported as *unmeasured* rather than argued into a retry flag), the `/fx/api/auth/*` landing moved before the run reached it, and #764's *success* path — an external contribution whose error boundary this release verifies but whose auto-selection needs an account currently behind a Google password challenge. The fourth converted click site is the **video** submit, unrun because it spends Veo credits, named rather than implied.) · previous: [LIVE_VERIFICATION_v0.72.0](LIVE_VERIFICATION_v0.72.0.md) (**auto-closing `gflow auth login`, verified 2026-09-09 on a migrated account at $0 across six runs.** Four paths: auto-close fires (`probe=in_context` at `elapsed_s` **84.8**, reproduced 3x), a manual close still verifies from disk (exit 0, never exit 12), `--browser auto` selects and completes, and a window closed **mid-2FA** is noticed in **2 s** (exit 8) where it previously ran the full 600 s deadline with the session endpoint touched **zero** times. **Two runs were discarded rather than counted**, and that is the useful part: the first returned exit 0 at `elapsed_s: 0.2` because a throwaway profile had survived the previous session and nobody signed in — a cached session reading as a clean pass — and three attempts at the manual-close path all returned exit 0 while being the *auto-close* path in disguise, separable only by an **absent** `probe=in_context`. The manual path was obtained by widening the poll interval for one run so the competing branch could not fire; the 2FA path by killing the profile's own Chrome, because hand-timing lost every race on a host that completes passkey sign-in in ~15 s. **Recorded as NOT verified rather than omitted:** the migrated-host image slice (#692) was **re-run this cycle** — CLI `t2i` PASSED first-hand on a moved account, while the queued-MCP `i2i` twin failed with a typed non-retryable exit 27 whose **cause is unknown** — some dialog opened after the file was chosen and no `maseQ` left the page, on an account that has ALREADY consented, so the message's "most likely the one-time upload-terms dialog" does not fit; no incident bundle was written, so nothing names the dialog, and it is filed for a spike rather than guessed; the subprocess fallback is unit-tested only; and the OAuth-callback *mechanism* behind the poll fix is **inferred, not proven** — a host-only gate does not exclude NextAuth's callback, since it runs on the app's own origin, yet all four sign-ins passed under it, so #769 carries the spike that would settle it.) · previous: [LIVE_VERIFICATION_v0.71.1](LIVE_VERIFICATION_v0.71.1.md) (**two migrated-host error paths stopped blaming the wrong thing, 2026-09-08, $0 across three profiles.** The agent-mode recovery landed earlier in this same release (#749) and worked, but its first cut collapsed three outcomes into one message — chip clicked / chip found but click blocked / chip clicked and mode still on — so a modal eating the click sent users to toggle a chip that was never the problem, and genuine selector drift *after* the mode was left was filed under an account setting the driver had already changed. Verified by an e2e that drives the account INTO agent mode and carries its own neutered-selector control; run **twice**, because review fixes landed after the first run and it no longer covered the code. **The larger find:** an account's FIRST upload on this host is blocked by Flow's one-time *"Rights to use this image"* dialog, which renders *after* the file chooser hands the file over — so `_dismiss_dialog` never sees it and the driver spent 60 s waiting for a request the page had already declined to make, then advised re-encoding the image. Six runs on `ci-probe` close the chain: guard fires while the dialog is up → owner-authorised accept → uploads (`media_id 8914400f`) → fresh session uploads clean with `dialog: None`. The order was forced, because the dialog is one-off and accepting it destroys the failing state — so the guard was written and verified BEFORE anything was clicked, and its firing branch is now unrepeatable here. `maseQ` is confirmed **not** renamed (six uploads, three profiles), killing #719's top hypothesis. Also: Flow's queue listing is on **`Zzl0ze`**, not the `jwpduf`/`as29s` progress polls, and two `abra_r2v_8s` records sat at status 6 for ~20 h unseen by any CLI command (#741). Three documents are corrected rather than patched — a KNOWN_ISSUES entry that told #719's reader this dialog did not affect gflow-cli, and a v0.71.0 host label calling `ci-probe` *labs* when it is migrated, which helped a credit-based theory survive four runs. Recorded as NOT verified: #719's second failure shape — an upload request that leaves the page and is never answered, ~1 run in 4 — which is unfixed and keeps #719 open.) · previous: [LIVE_VERIFICATION_v0.71.0](LIVE_VERIFICATION_v0.71.0.md) (**`gflow character create --voice` verified end to end for the first time, 2026-09-07 on profile `ffroliva`.** Before this release a repo-wide grep for `--voice` across `tests/e2e/` matched **nothing** — every voice test was a unit test of the hardcoded `VOICES` constant and the one that looked live parsed a fixture, so a voice that silently failed to attach was invisible to the whole suite while the command exited 0. A live create + `character show` read-back settles a contradiction between two of our own documents: `sent='Charon' stored='Charon' identical=True`, so the Capitalized canonical form round-trips and `CHARACTER_RECON.md`'s "preset id is the lowercased name" does not describe today's wire. Both docs also now record that `personalityNotes` is **Agent-scoped** per Flow's own editor copy, not a control on the audio engine. **A claim that was in the code is overturned:** the `_unported_form` entity guard said the submit "never produces a reply" and that the backend refuses — in fact `MZZa6b` replies with a null payload and the generation is **accepted and queued** (Flow types it `abra_r2v_8s` and renders it); the failure is the *observer*, which waits out `SUBMIT_REPLY_BUDGET_S` (60 s, calibrated on 4.0–4.6 s replies against an idle queue) and exits 9 while the video is still rendering. The guard stays until the observer is fixed, because a timeout reported on a healthy generation is worse than an explicit refusal. Also verified: credit shortfall reports exit **37** with `_raise_if_out_of_credits` called from **both** give-up paths — and it is *short for the selected model*, not empty (the measured account held **50** and asked for `veo-quality`, which costs **100**); the "+ New project" CTA anchored structurally on `add` (Tier-1 matches **1** where every previous entry matched **0**, control 47 ligature nodes) after this same release first asserted the control did not exist and a $0 run disproved it in one click; and the incident-bundle DOM dump de-blinded — it queried `i.google-symbols` only, so **every bundle a migrated user sent carried an empty ligature list**, which is why #727 and #731 stayed invisible. One item recorded as NOT verified rather than omitted: whether a bound character's **voice reaches rendered audio** (#738) — attachment is proven, application is not, because no entity-bound generation has yet returned a file to measure. The blocker is no longer credits or account access but retrieval, and the measurement is pre-calibrated: plate-bound takes of one character gave **88 / 103 / 118 Hz** against a **4.3 Hz** engine noise floor, so an applied Algenib should sit near its sample's **163.3 Hz**.) · previous: [LIVE_VERIFICATION_v0.70.0](LIVE_VERIFICATION_v0.70.0.md) (**reference-to-video on the migrated `flow.google.com` host, verified 2026-09-06 on profile `denon82`.** Three r2v runs bound their references every time; the decisive one is semantic rather than structural — two hand-drawn reference images went in and the clip came back carrying the same marker strokes, face and paper texture, which is what separates "Flow bound the reference" from "Flow accepted and ignored it". A four-beat, two-character piece was then produced end to end and joined with the concat filter: 19.000s, 1280x576, `clip_qa` **ok**, A/V **+0.000s**, both actors recognisable across every cut from one face plate plus the canon repeated verbatim. Also verified as exit-code corrections on the real CLI: `-o <existing directory>` now exits **2 in 0.8s** instead of exit 1 after ~2 min **and a billed, orphaned clip**; `character create` on a moved account exits **36 immediately** instead of a bare `RuntimeError` exit 1 after a 20s wait. Four items recorded as NOT verified rather than omitted: #692's original failure could not be reproduced [the reporter's own re-run was on a build without the fix, so it shows the failure is intermittent, not that the fix works]; Flow CHARACTER entities were never exercised because `character create` cannot run on any account available here; `image`/`scene`/`movie`/`extend` all exit 36 on the migrated host and no unmoved account exists here; and the sign-in-interstitial fidelity question from #699 has no bundle evidence either way.) · previous: [LIVE_VERIFICATION_v0.68.0](LIVE_VERIFICATION_v0.68.0.md) (`gflow update` self-upgrading a real `uv tool` and a real `pipx` install from their own running `gflow.exe` to the PyPI release, Windows 11, zero credits — see its own row below) · previous: [LIVE_VERIFICATION_v0.67.0](LIVE_VERIFICATION_v0.67.0.md) (the migrated `flow.google.com` driver — see its own row below) · previous: [LIVE_VERIFICATION_v0.64.0](LIVE_VERIFICATION_v0.64.0.md) (**#626 `--model omni-flash --end-frame` — first+last interpolation on Omni 1.1 Flash, verified 2026-09-02.** The guard this release removes was evidence-gated, so it was retired on evidence: a route-aborted submit capture on **two distinct Google accounts** (`ffroliva`, `denon82`) fired `video:batchAsyncGenerateVideoStartAndEndImage` with `startImage` AND `endImage` non-null at **zero credits**, ruling out a single-account artifact. The decisive layer is semantic, not structural: the paid 4s generation's **last frame IS the supplied end image** and its first frame is the start image — two visibly different subjects — which is the only check that distinguishes "Flow bound the end frame" from "Flow accepted and ignored it", and which layers 1–4 would pass either way. Render: 4.01s / 720×1280 / h264+aac / 2.4 MB, `MEDIA_GENERATION_STATUS_SUCCESSFUL`. The static capability table is **deleted**, not corrected — it went stale silently once and would again; a post-submit route check (`_assert_i2v_route`) now fails a run whose end frame Flow dropped back to the `StartImage` route, catching a rollback on any account without anyone re-reading a support page. One item is recorded as NOT verified rather than omitted: `--duration 10` + end frame is **submit-verified only** (`duration_set seconds=10` on the correct route with both images bound), because the status poll returned HTTP 401 mid-run and a retry 401'd at `project.create` before submitting — [#561](https://github.com/ffroliva/gflow-cli/issues/561), pre-existing, so verification was stopped rather than spending further credits on an environmental fault.) · previous: [LIVE_VERIFICATION_v0.63.0](LIVE_VERIFICATION_v0.63.0.md) (**`gflow video extend` — continuing a clip past Flow's 8s ceiling, verified 2026-09-01 on profile `ffroliva`, 20 Veo credits.** The decisive observation is that segment 2's `source_media_id` **is** segment 1's `media_id` (`0c9364f3…` seeded from `b9458021…`, then `648f9291…` seeded from `0c9364f3…`) — tail-only chaining, which no mock can establish; had it re-seeded from the source, the output would have been two divergent continuations of the same moment instead of one continuous shot. `extend_model_resolved` logged `candidate_count=99` against `SERVICE_TIER_INTERMEDIATE`, proving the key came from the live capability listing rather than a constant, and plan cost matched actual spend (`20 credits total, balance 875` → `Extended — 2/2 segment(s), 20 credits`). Render: 23.02s / 1280×720 / 24fps / h264+aac. **The run found a defect the offline suite is structurally incapable of seeing:** an extend segment carries **7.000000s** of content, not the 8 Flow advertises and bills, so server-side concat pads every internal seam with a frozen frame and digital silence (15s at −75.1 dB against −29 neighbours, reproduced on a second independent render) — filed in KNOWN_ISSUES with the three questions that must be answered before any clamp, and the reason `--extend N` on t2v/i2v was deliberately NOT shipped. Seven items are recorded as NOT verified rather than omitted: portrait `9:16`, `--aspect` against a mismatched source, chains longer than 2 segments, `--resume-from` against a live partial scene, the insufficient-credits refusal, a live Ctrl+C, and `OperationKind.EXTEND` rows.) · previous: [LIVE_VERIFICATION_v0.62.1](LIVE_VERIFICATION_v0.62.1.md) (**#604 `--model omni-flash` selects again after Flow's `Omni Flash` → `Omni 1.1 Flash` rename, verified 2026-08-30 on profile `ffroliva` at ZERO Veo credits.** The production `_select_video_model` was driven against the real picker: the shipped selector resolves verbatim — `model_selected model=omni_flash via="[role='menuitem']:has-text('Omni'):has-text('Flash'):not(:has-text('[Lower Priority]'))"` — and all six cases came back as expected: the four offered tiers SELECT, a tier Flow does not offer REFUSES, and a deliberately ambiguous selector REFUSES rather than resolving `.first`. Selection happens before submit, so the whole matrix is free. The transport's own refusal diagnostic read the live menu back as `Omni 1.1 Flash / Veo 3.1 - Lite / Fast / Quality`, independently corroborating the fixture. Four items are recorded as NOT verified rather than omitted: the rename *direction* [the `Omni Flash` baseline is a different account, locale and date], an actual `Omni ... [Lower Priority]` entry [Flow has never offered one], a full credit-spending generation on omni-flash, and #539's absence question, which stays open.) · previous: [LIVE_VERIFICATION_v0.62.0](LIVE_VERIFICATION_v0.62.0.md) (**#595 `auto` ≡ `classic` for images, verified 2026-08-28 on profile `ci-probe` — an account Flow had moved to the agentic cohort the day before — at ZERO Veo credits.** With no flags and no env vars the run logged `ui_driver.ui_mode.attempt_exit_agent` → `ui_driver.bound mode=classic ui_mode=classic` and generated a real 768x1376 JPEG (exit 0); the day before, the identical command on the same account bound `auto`→`agentic` and failed. The same log independently closed **#183**: `mode_switch_trigger` and `image_mode_tab`, the selectors it reported as unfindable, both matched. #591 was proven against the real 500-row catalog — **0** occurrences of the string `"None"`, 31 proper JSON `null`s, over a catalog holding 119 NULL-bearing rows. #592 shows exactly one `client.account_locale_cached` per command. Three items are recorded as NOT verified rather than omitted: the exit-28 abort on a *pinned* agentic account, the #597 batch inter-prompt guard, and any fresh announcement modal — the last two because all three accounts have already acked the current changelog, so no modal can be raised until Google ships the next one.) · previous: [LIVE_VERIFICATION_v0.61.0](LIVE_VERIFICATION_v0.61.0.md) (**#539 video-model refusal + #586 image-model refusal and server-side attribution, verified 2026-08-26/27 on profile `denon82`, ONE Veo generation total** — the video fix was proven by a **zero-credit A/B against the stashed pre-fix source running on live Flow**: the old code returned SELECTED for `veo-lite-lp`, a model Flow does not offer to this account, and for a deliberately ambiguous selector matching 3 entries; the new code refuses both with exit 18 naming what Flow offered. Model selection happens before submit, so refusals cost nothing and the A/B was free. The happy path still generates: `--model omni-flash` → exit 0, a real 2.2 MB `ftypisom` mp4, catalog recording `omni_flash`. Two items are recorded as NOT verified rather than omitted: three of #584's four navigation-settle sites were never exercised [no bearer refresh occurred in these runs], and #582's canary self-re-exec has its first real exercise tonight. Also falsified: #539's recorded note that the video picker uses a different trigger — the two constants are byte-identical strings, and the repeated empty menu captures were the capture's own fault.) · previous: [LIVE_VERIFICATION_v0.60.0](LIVE_VERIFICATION_v0.60.0.md)
164
164
  **"Was the playwright upper bound raised, and on what evidence?"** → [LIVE_VERIFICATION_playwright_1.61](LIVE_VERIFICATION_playwright_1.61.md) (**`>=1.59.0,<1.60.0` → `>=1.61.0,<1.62.0` verified 2026-08-05, 1 Imagen + 1 Veo credit** — the 2026-08-03 regression that motivated the bound does NOT reproduce on 1.61.0: a live `i2v` drove the full chain with `image_uploaded status=200` → `frame_attached` → `generate_captured status=200` with `startImage` parsed, where **1.62.0 hung silently at exactly that upload step**; live `i2i` local-ref attach passed outright [96.7s]. **1.62.0 stays excluded** — never root-caused. Also found, A/B-proven pre-existing on BOTH 1.59.0 and 1.61.0: Flow dropped the duration-tab UI, so **`--duration` is currently broken for i2v** — `UiSelectorDriftError` fires correctly [refusing rather than silently accepting Flow's default, #288] but the selector needs re-deriving; that is why the i2v proof was driven via the CLI without `--duration`, and Flow's own server-side `PUBLIC_ERROR_VIDEO_GENERATION_TIMED_OUT` means no finished mp4 is claimed).
165
165
  **"Where is the reverse-engineered wire protocol for a feature?"** → the `*_RECON.md` design docs: [CHARACTER_RECON](CHARACTER_RECON.md) (Flow character entity protocol), [IMAGE_UPSCALE_RECON](IMAGE_UPSCALE_RECON.md) (`/v1/flow/upsampleImage` wire). Naming convention: one `<FEATURE>_RECON.md` per reverse-engineered surface, kept as the durable spec after the feature ships. Pre-capture research recons: [ASSET_TAGGING_RECON](ASSET_TAGGING_RECON.md) (`@`-mention asset tagging — shipped in v0.40.0, see [LIVE_VERIFICATION_v0.40.0](LIVE_VERIFICATION_v0.40.0.md)).
166
166
  **"What was live-verified for v0.66.1?"** → [LIVE_VERIFICATION_v0.66.1](LIVE_VERIFICATION_v0.66.1.md) — **the two migrated-origin fixes, verified 2026-09-03 on profile `ffroliva` at ZERO credits, on BOTH sides of what was then read as a flapping rollout** (superseded 2026-09-04: the handoff is a one-way per-account flag and exit 36 is non-retryable since). On a real `flow.google.com` load `get_ui_driver` raised `FlowHostMigratedError` in **0 ms** (was ~36 s: ~8 s detect window + ~24 s crop cascade + 4 s URL settle), exit 36, `retryable: true` (then; `false` since 2026-09-04), `ui_driver.migrated_host_bail` logged; `await_url_settled` returned `null` in **0 ms** (measured 4018 ms before); and the locale was recovered as `en` from `html lang=en-GB` where the URL gave `null`. The no-regression half is the stronger evidence: minutes later the same command landed on the OLD host and completed **exit 0** with a real 768x1376 JPEG in 42.2 s, proving the host guard is scoped and does not short-circuit the working path. Three items recorded as NOT verified rather than omitted: driving the migrated frontend (still impossible, #639 stays open), the pt-BR recovery live (measured `html lang=pt` on `denon82` but exercised live only on `en-GB`), and the `en-GB`→`en` region reduction against a locale where region is load-bearing (`zh-Hans`/`zh-Hant`) — only two locales observed.
@@ -76,7 +76,36 @@ without spending quota a second time.
76
76
 
77
77
  ---
78
78
 
79
- ## What was NOT verified, and why
79
+ ## Addendum, same day — the two open items closed
80
+
81
+ Both were recorded below as *not verified* at tag time. Both were then measured, and this
82
+ section is the record rather than a rewrite of what shipped.
83
+
84
+ **Prevalence — answered by mechanism.** A count of users is not obtainable here (no
85
+ telemetry), but the gate is: `localStorage["glue.CookieNotificationBar"]` on the
86
+ `flow.google.com` origin. Not a cookie, which is why no profile carried `SOCS`. A clean
87
+ browser profile reads the bar visible **4/4**; a second untouched authenticated profile
88
+ (`pr389fresh2`) read **5/5**. Removing that one key on `ci-probe` — touching no cookie,
89
+ so no auth — flipped the editor from *both controls hit-testable* to **both covered by
90
+ `span#glue-cookie-notification-bar-1-label`**. So the bar is the origin's default state
91
+ and a stored dismissal is what removes it: every fresh profile meets it, and any profile
92
+ whose dismissal Google resets meets it again.
93
+
94
+ **The cure, against a live bar, on the released build.** With the bar restored by that
95
+ intervention, the ordinary CLI command ran on `cli_version: 0.73.1`:
96
+ `migrated.editor_ready` → **`migrated.cookie_bar_dismissed`** 86 ms later →
97
+ `image_settings_applied` → `prompt_typed` → `status: ok`, media `257d8f79-…`, a
98
+ 651,576-byte `ffd8ffe0` JPEG that Pillow reads as 1024×1024 RGB.
99
+
100
+ Still not measured: the *covering* geometry on a second account's editor. `denon82` and
101
+ `pr389fresh2` both redirect to `/about`, so origin-level presence is measured on three
102
+ profiles and the occlusion on one.
103
+
104
+ ---
105
+
106
+ ## What was NOT verified at tag time, and why
107
+
108
+ *(The first two are closed by the addendum above; kept as written for the record.)*
80
109
 
81
110
  **The cure against a live bar, outside the browser.** The consent state is not summonable
82
111
  on demand, and this release's own control arm consumed it on the only profile that had it.
@@ -0,0 +1,187 @@
1
+ # Live verification — v0.73.2
2
+
3
+ **Date:** 2026-09-12 · **Profile:** `ffroliva` (migrated host, `flow.google.com`) ·
4
+ **Cost:** **zero** — every arm fails before submit, so no image and no Veo credits were
5
+ spent.
6
+
7
+ v0.73.2 is a diagnostics and error-clarity patch. It does **not** fix migrated login
8
+ (#791) or the i2v dispatch failure reported in #792 — both remain open. What it fixes is
9
+ the layer underneath those: the evidence a failure produces, and the advice a failure
10
+ prints.
11
+
12
+ One consequence worth stating plainly, because it decides whether this release is worth
13
+ cutting at all: until now every failure on `flow.google.com` shipped an **unreadable**
14
+ incident bundle. The reporter of #792 filed a wrong root cause *because* of it. This
15
+ release is what makes the next report actionable.
16
+
17
+ ---
18
+
19
+ ## 1. The defect, measured before the fix (control arm)
20
+
21
+ The claim under test: the migrated composer parks its own page on `about:blank` inside a
22
+ bare `finally`, which runs on the **failure** path too — so `_capture_incident`
23
+ photographs a blank page instead of the page that failed.
24
+
25
+ Control: `develop` source, with only the new e2e test file checked out on top, driving a
26
+ real failure (a syntactically valid but nonexistent `--project` UUID lands on Flow's 404
27
+ and fails the `.settings-trigger-button` probe with exit 23).
28
+
29
+ ```
30
+ tests/e2e/test_incident_quality_e2e.py::test_a_failed_generation_bundle_is_not_hollow
31
+ FAILED in 46.27s
32
+ ```
33
+
34
+ The bundle it produced, verbatim from the assertion:
35
+
36
+ ```json
37
+ {"ligatures": [], "ligature_count": 0,
38
+ "signals": {"crop_present": false, "textboxes": 0},
39
+ "url": {"host_category": "other", "route": "other"},
40
+ "title": {"category": "other", "length": 0},
41
+ "tag_counts": {"div": 0, "button": 0, "input": 0, "textarea": 0,
42
+ "dialog": 0, "iframe": 0, "video": 0, "img": 0},
43
+ "viewport": {"width": 1280, "height": 720}}
44
+ ```
45
+
46
+ That is field-for-field the signature [#792](https://github.com/ffroliva/gflow-cli/issues/792)
47
+ reported from a different account, on a different OS, on a different command. The bug
48
+ reproduces.
49
+
50
+ ## 2. The cure, measured with the same instrument
51
+
52
+ Same test, same profile, same command shape, on the release branch:
53
+
54
+ ```
55
+ tests/e2e/test_incident_quality_e2e.py::test_a_failed_generation_bundle_is_not_hollow
56
+ 1 passed in 37.80s
57
+ ```
58
+
59
+ | Reading | Control (`develop`) | v0.73.2 |
60
+ |---|---|---|
61
+ | `tag_counts.div` | **0** | **25** |
62
+ | `title.length` | **0** | **81** |
63
+ | `url.host_category` | **`other`** | **`flow_app`** |
64
+ | `url.route` | `other` | `/404` |
65
+ | `ligature_count` | 0 | 1 (`arrow_back`) |
66
+ | `signals.textboxes` | 0 | 1 |
67
+ | `sensitive/screenshot.png` | **4,254 B** (blank frame) | **38.4 KB** (real page) |
68
+
69
+ An earlier manual A/B on the same host, taken before the design was revised, produced the
70
+ same two columns — so the result is not an artifact of the final implementation.
71
+
72
+ ## 3. Five-layer ledger — #792
73
+
74
+ | Layer | Evidence |
75
+ |---|---|
76
+ | Artifact exists | Both arms wrote an incident bundle under `$GFLOW_CLI_HOME/incidents/2026-09-12/`; the CLI printed its path and a `report.md` |
77
+ | Magic bytes / size | `screenshot.png` 4,254 B (control) vs 38,4xx B (fixed) — a blank 1280×720 PNG compresses to ~4 KB, a rendered Flow page ~10× that |
78
+ | Shape | `ui.json` `tag_counts.div` 0 → 25, `title.length` 0 → 81, `host_category` `other` → `flow_app` |
79
+ | Log invariants | Exit **23** in both arms with the same `UiSelectorDriftError` on `.settings-trigger-button` at `https://flow.google.com/404?reason=project` — i.e. the arms differ only in what was *captured*, not in what failed |
80
+ | User-confirmable | The bundle directory is openable; the screenshot now shows the Flow 404 page rather than white |
81
+
82
+ The test is committed, so this is a re-runnable regression, not a one-off observation:
83
+ `pytest -m e2e tests/e2e/test_incident_quality_e2e.py` with `GFLOW_CLI_E2E_PROFILE` set.
84
+
85
+ ## 4. NOT live-verified this cycle — and why
86
+
87
+ **#796 — `PROFILE_MARKER_MISSING`.** Offline only (unit + MCP-twin tests). Its live
88
+ trigger is a cookie-store **decryption failure**, which does not occur on Windows/DPAPI —
89
+ it is the macOS Keychain path tracked in #768. **Named external blocker: no macOS host
90
+ available.** This is recorded, not omitted, and the issue stays open with `Refs`.
91
+
92
+ A synthetic attempt to force the path is worth recording because it *failed informatively*:
93
+ a deliberately corrupted cookie store raises `sqlite3.DatabaseError`, which is not
94
+ normalized to `PermissionError`, so it bypasses the marker gate entirely and still prints
95
+ "check network connectivity". Same misdirection class, different trigger — untouched by
96
+ this release.
97
+
98
+ To close it, on macOS: fail a login once on a fresh profile, then
99
+ `GFLOW_CLI_LOG_LEVEL=DEBUG gflow auth status`, and confirm the outcome reads
100
+ `profile_marker_missing` rather than `verification_error`.
101
+
102
+ **#795 — the `credits` remediation string.** Offline only. The raise path is reachable
103
+ live on this account (labs answers `200 {}` for migrated accounts), but the change is a
104
+ message, and its correctness is a text assertion the unit test already makes. The *other*
105
+ half of #795 — `credits` being labs-only on migrated accounts — is **not fixed** and stays
106
+ open.
107
+
108
+ **The two pre-existing `[Unreleased]` entries** (#756's `/about` retry measurement and the
109
+ terminal-width test pin) were verified in their own PRs; the second touches no Flow
110
+ surface at all.
111
+
112
+ ---
113
+
114
+ ## 5. Doc-review gate (`/gflow:doc-review`)
115
+
116
+ Mechanical sections 0-7 **PASS**: repo hygiene (1073 files), doc links (29 files),
117
+ website PII (25 files), `generate_website_docs.py --check` (20 files, nav complete),
118
+ `check_release_artifacts.py`, council memory (49 files) — all green, re-run after every
119
+ fix below. CHANGELOG footer correct (`[Unreleased]` empty, `compare/v0.73.1...v0.73.2`).
120
+ `EXIT_CODE_MAP` is unchanged at 37 entries, range 3-38 — #796 adds a session *outcome*,
121
+ not an error class, and `gflow auth status` still exits 1.
122
+
123
+ Council: **GREEN** (cross-reference) / **YELLOW** (completeness) / **YELLOW** (drift).
124
+ No RED. Eight findings fixed in this release-prep commit:
125
+
126
+ | # | Finding | Fixed in |
127
+ |---|---|---|
128
+ | 1 | `docs/MCP.md` said the `/about` retry flag "was measured and could not be settled" — this release settles it 5/5 | `docs/MCP.md` |
129
+ | 2 | `docs/USAGE.md` exit-31 row said the retry "is not measured" and linked the superseded 2026-09-10 spike | `docs/USAGE.md` |
130
+ | 3 | `gflow_auth_status`'s new `profile_marker_missing` outcome (409, `retryable: false`) was undocumented | `docs/MCP.md` |
131
+ | 4 | The same outcome was undocumented on the **CLI** surface | `docs/AUTHENTICATION.md` |
132
+ | 5 | `gflow credits` being labs-only on migrated accounts (#795, open) appeared in no user doc | `docs/USAGE.md`, `docs/MCP.md`, `KNOWN_ISSUES.md` (x2) |
133
+ | 6 | CHANGELOG undercounted the corrected `/about` sites ("two comments" — it is four) | `CHANGELOG.md` |
134
+ | 7 | `docs/ARCHITECTURE.md`'s current-layout inventory had drifted again: no `flow_selectors/`, `_cli_helpers.py`, `exceptions.py`, `file_integrity.py`, `redaction.py` | `docs/ARCHITECTURE.md` |
135
+ | 8 | `docs/USER_GUIDE.md` 1.3 told first-time users bare `gflow auth login`, contradicting README/AGENTS.md | `docs/USER_GUIDE.md` |
136
+
137
+ Carried forward rather than fixed here, each with its reason:
138
+
139
+ - **`src/gflow_cli/auth/verification.py:87`** — the `FlowSessionStatus` docstring still says
140
+ `detail` is "one of the **four** fixed strings"; `_DETAIL_BY_OUTCOME` has **five** since
141
+ #796. Found independently by the drift auditor and the mechanical pass. Left to the
142
+ implementer: this gate does not edit `src/`.
143
+ - **`KNOWN_ISSUES.md` has no entry for #791, #792's dispatch half, or #768** — all open and
144
+ user-facing (titles confirmed via `gh issue view`). Not written here, because #791's
145
+ premise ("verification never passes for migrated accounts") is contradicted by this
146
+ repo's own [v0.72.0 ledger](LIVE_VERIFICATION_v0.72.0.md), which signed in six times on a
147
+ migrated account; an entry asserting it is universal would be exactly the n=1
148
+ generalisation the project forbids. Route through `/gflow:issue-assessment` first.
149
+
150
+ ---
151
+
152
+ ## Verdict
153
+
154
+ The release's headline change is verified live on the affected surface, with a control
155
+ arm, by a committed test. The two auth-message changes are verified offline with one
156
+ named external blocker recorded above. Nothing in this release is claimed as verified
157
+ that was not run.
158
+
159
+ ---
160
+
161
+ ## Gates
162
+
163
+ Run on `chore/release-v0.73.2` (cut from `develop@15c58af0`), 2026-09-12.
164
+
165
+ | Gate | Result |
166
+ |---|---|
167
+ | `check_repo_hygiene.py` | PASS |
168
+ | `check_doc_links.py` | PASS |
169
+ | `check_website_docs_pii.py` | PASS |
170
+ | `generate_website_docs.py --check` | PASS (mirror in sync) |
171
+ | `check_council_memory.py` | PASS |
172
+ | `check_release_artifacts.py` | PASS — it caught the missing `docs/INDEX.md` ledger reference before the tag |
173
+ | `ruff check src tests` | PASS |
174
+ | `ruff format --check src tests` | PASS (467 files) |
175
+ | `uv run pyright src` | PASS — **0 errors** |
176
+ | `pytest` (offline, full) | **4241 passed, 24 skipped** on `develop@15c58af0` |
177
+ | `pytest tests/auth tests/mcp tests/cli` | **884 passed** on the release branch |
178
+ | `uv lock --check` | PASS (lockfile carries the 0.73.2 bump) |
179
+ | `uv build` + ZIP-duplicate scan | PASS — wheel reports `__version__ = "0.73.2"`, 138 entries, no duplicates |
180
+ | `/gflow:doc-review` | **PASS** — 8 fixes applied, two of them false claims this release contradicts |
181
+
182
+ **One gate caveat worth recording.** `pyright` must be invoked as `uv run pyright src`
183
+ (what CI runs). Invoked as `.venv/Scripts/python.exe -m pyright src` on this machine it
184
+ reports **86 phantom errors** in `mcp/` and `ui/` — stable across re-runs, convincing
185
+ (`"MCPServer" is unknown import symbol`), and entirely an artifact of how that invocation
186
+ resolves the environment. The packages are correctly installed and the suite passes
187
+ against them. It nearly blocked this release.
@@ -94,8 +94,8 @@ The server registers three protocol surfaces:
94
94
  > different axis entirely: it buys a *look*, not an identity. Use
95
95
  > `gflow_character_list` to discover ids. See [REFERENCE_STRATEGIES](REFERENCE_STRATEGIES.md).
96
96
 
97
- * `gflow_auth_status(profile)`: Credit-free, non-interactive Flow session probe (#497) — wraps the same fail-closed `verify_flow_profile` check as `gflow auth status`. Returns `{"status": "authenticated", "profile", "user_email"}` or a problem-details error with a `remediation_hint`; a `verification_error` outcome means a network/endpoint problem, which re-login does not fix. Call it before a generation tool to fail fast on dead auth (the queue is async — without it, an auth failure surfaces only later from the daemon). Login/logout remain CLI-only (genuinely interactive).
98
- * `gflow_get_credits(profile, all_profiles)`: Read-only current Flow balance query. With `all_profiles=true`, inspects every saved profile sequentially and preserves successful balances plus `total_credits` when another profile fails. This tool spends no credits and returns no cookies, bearer tokens, or browser API keys. The balance funds Veo video generation; image generation uses separate per-model daily quotas.
97
+ * `gflow_auth_status(profile)`: Credit-free, non-interactive Flow session probe (#497) — wraps the same fail-closed `verify_flow_profile` check as `gflow auth status`. Returns `{"status": "authenticated", "profile", "user_email"}` or a problem-details error with a `remediation_hint`; a `verification_error` outcome (HTTP 503, `retryable: true`) means a network/endpoint problem, which re-login does not fix, and a `profile_marker_missing` outcome (HTTP 409, `retryable: false`, #796) means the profile lost its `.gflow_browser_strategy` marker so its cookies cannot be read — neither a retry nor a re-login helps; re-run `gflow auth login --browser chrome` for that profile. Any other unauthenticated outcome is a dead session (HTTP 401). Call it before a generation tool to fail fast on dead auth (the queue is async — without it, an auth failure surfaces only later from the daemon). Login/logout remain CLI-only (genuinely interactive).
98
+ * `gflow_get_credits(profile, all_profiles)`: Read-only current Flow balance query. With `all_profiles=true`, inspects every saved profile sequentially and preserves successful balances plus `total_credits` when another profile fails. This tool spends no credits and returns no cookies, bearer tokens, or browser API keys. The balance funds Veo video generation; image generation uses separate per-model daily quotas. **Labs-only:** on an account Google has migrated to `flow.google.com`, Flow's labs.google session mints no API token, so no balance can be read there — the tool reports that the labs session returned no access token, which is expected on that cohort and is not an auth fault. Open, tracked in #795.
99
99
  * `gflow_character_list(project, profile)`: Lists a project's saved Flow CHARACTER entities with their **entity ids** — read-only, spends no credits, drives a browser session. This is how an agent discovers what it can attach: an `entity_id` goes to `reference_entities`, a `display_name` can be used as an `@Name` mention. An empty list means the project genuinely has none.
100
100
  * `gflow_character_show(project, entity_id, name, profile)`: Shows one character by id or exact display name (exactly one selector required). An ambiguous name is refused rather than resolved arbitrarily — which is the reason to prefer the id. Read-only; drives a browser session.
101
101
  * `gflow_character_voices()`: Lists the preset voices available for Character TTS (name, description, sample URL). A static in-process lookup — no network, no browser, no profile, no cost. Call it to pick a valid voice name.
@@ -146,8 +146,11 @@ UI arm (`UiModeUnavailableError`), and a partially-completed sync
146
146
  (`SyncPartialError`). That list is `errors.RETRYABLE_ERRORS`, but it is no longer
147
147
  the whole answer: `errors.is_retryable` consults the **instance** first, so a raise
148
148
  site can override its class. One does today — Flow's `/about` redirect raises
149
- `FlowAppError` with `retryable: false`, because whether a retry helps there was
150
- measured and could not be settled ([#756](https://github.com/ffroliva/gflow-cli/issues/756)).
149
+ `FlowAppError` with `retryable: false`, and since 2026-09-11 that is a **measurement**, not a
150
+ preserved default: caught during a live occurrence, 5/5 consecutive attempts over ~3 minutes
151
+ landed on `/about` again, on the account's own project with a healthy session — so a retry is
152
+ doomed and costs ~35 s each ([#756](https://github.com/ffroliva/gflow-cli/issues/756)). The
153
+ *cause*, and whether it ever clears, remain unmeasured.
151
154
  Read the flag off the envelope; never re-derive it from the class list.
152
155
  Everything
153
156
  else (auth, content-policy, configuration, security) is terminal