gflow-cli 0.73.2__tar.gz → 0.75.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.agents/plugins/marketplace.json +1 -1
- gflow_cli-0.75.0/.claude-plugin/marketplace.json +17 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.codex-plugin/plugin.json +2 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.env.template +4 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/ci.yml +8 -5
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/deps-watch.yml +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/governance-advisory.yml +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/governance-benchmark.yml +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/release.yml +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/scorecard.yml +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/selector-probe.yml +1 -1
- gflow_cli-0.75.0/.github/workflows/sponsors.yml +85 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/AGENTS.md +38 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/CHANGELOG.md +185 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/CLAUDE.md +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/DISCLAIMER.md +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/KNOWN_ISSUES.md +89 -10
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/PKG-INFO +64 -6
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/README.md +45 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/RELEASE.md +3 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/ROADMAP.md +2 -2
- {gflow_cli-0.73.2/website → gflow_cli-0.75.0}/docs/ARCHITECTURE.md +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/CONFIGURATION.md +8 -8
- gflow_cli-0.75.0/docs/DISTRIBUTION.md +371 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/INDEX.md +8 -2
- gflow_cli-0.75.0/docs/LIVE_VERIFICATION_v0.74.0.md +206 -0
- gflow_cli-0.75.0/docs/LIVE_VERIFICATION_v0.75.0.md +166 -0
- {gflow_cli-0.73.2/website → gflow_cli-0.75.0}/docs/MCP.md +169 -5
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/PROJECT_STATUS.md +104 -3
- gflow_cli-0.75.0/docs/SPONSORS.md +55 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/USAGE.md +22 -9
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/medium_tutorial.md +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/flow-capabilities-are-cohort-dependent.md +8 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/flow-locale-leak-icon-ligatures.md +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +30 -0
- gflow_cli-0.75.0/docs/superpowers/plans/2026-09-14-community-feedback-uplift/PLAN.md +380 -0
- gflow_cli-0.75.0/docs/superpowers/spikes/2026-09-13-frames-picker-confirm.md +103 -0
- gflow_cli-0.75.0/docs/superpowers/spikes/2026-09-14-credits-on-migrated-host.md +107 -0
- gflow_cli-0.75.0/docs/superpowers/spikes/2026-09-14-generation-wire-no-push-channel.md +110 -0
- gflow_cli-0.75.0/docs/superpowers/spikes/2026-09-14-two-domain-protocol-survey.md +169 -0
- gflow_cli-0.75.0/docs/superpowers/spikes/2026-09-14-video-poll-is-a-fixed-client-timer.md +309 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/index.html +5 -5
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/llms.txt +1 -1
- gflow_cli-0.75.0/mempalace.yaml +110 -0
- gflow_cli-0.75.0/plugins/README.md +44 -0
- gflow_cli-0.75.0/plugins/gflow/.claude-plugin/plugin.json +30 -0
- gflow_cli-0.75.0/plugins/gflow/.mcp.json +8 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0/plugins/gflow}/skills/gflow-cli/SKILL.md +3 -2
- gflow_cli-0.75.0/plugins/gflow/skills/video-production/SKILL.md +392 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/pyproject.toml +57 -6
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/canary/run_canary.py +95 -3
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/ci/check_doc_links.py +21 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/ci/check_repo_hygiene.py +16 -2
- gflow_cli-0.75.0/scripts/ci/generate_plugin_skills.py +164 -0
- gflow_cli-0.75.0/scripts/ci/update_sponsors.py +223 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/skillopt/harness.py +1 -1
- gflow_cli-0.75.0/scripts/dev/spike_credits_migrated_surface.py +338 -0
- gflow_cli-0.75.0/scripts/dev/spike_frames_picker_confirm.py +127 -0
- gflow_cli-0.75.0/scripts/dev/spike_generation_wire_survey.py +529 -0
- gflow_cli-0.75.0/scripts/dev/spike_two_domain_protocol_survey.py +312 -0
- gflow_cli-0.75.0/server.json +42 -0
- gflow_cli-0.75.0/skills/gflow-cli/SKILL.md +288 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/release/SKILL.md +7 -4
- gflow_cli-0.75.0/skills/video-production/clip_qa.py +321 -0
- gflow_cli-0.75.0/skills/video-production/composition.md +171 -0
- gflow_cli-0.75.0/skills/video-production/consistency.md +167 -0
- gflow_cli-0.75.0/skills/video-production/failure-modes.md +76 -0
- gflow_cli-0.75.0/skills/video-production/tasks.json +498 -0
- gflow_cli-0.75.0/src/gflow_cli/__init__.py +3 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/_cli_helpers.py +10 -4
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/credits.py +20 -3
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/_common.py +18 -7
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/migrated_composer.py +218 -36
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli.py +27 -15
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_movie.py +3 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_run.py +2 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_scene.py +4 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_video.py +18 -6
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/config.py +7 -6
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/errors.py +47 -23
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/mcp/server.py +131 -3
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/mcp/tools.py +8 -4
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/media.py +26 -23
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/services/credits.py +56 -17
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/ui/app.py +11 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_credits_http.py +25 -0
- gflow_cli-0.75.0/tests/api/transports/conftest.py +59 -0
- gflow_cli-0.75.0/tests/api/transports/test_agent_only_composer.py +122 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_ligature_carrier.py +0 -21
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_composer.py +255 -20
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_dispatch.py +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_r2v.py +2 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_overlay_precondition.py +0 -23
- gflow_cli-0.75.0/tests/cli/test_cli_auth_error_paths.py +141 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_scene.py +54 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_video_chain.py +242 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_error_handling.py +45 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_helpers.py +43 -0
- gflow_cli-0.75.0/tests/e2e/test_credits_e2e.py +82 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_credits_mcp_e2e.py +42 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_migrated_i2v_e2e.py +58 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/migrated_i2v.feature +19 -3
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_migrated_i2v_steps.py +52 -9
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_http_transport.py +12 -2
- gflow_cli-0.75.0/tests/mcp/test_serve_auth.py +504 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_server.py +24 -12
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_setup.py +45 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_canary_classify.py +85 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_check_repo_hygiene.py +24 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_codex_plugin.py +10 -3
- gflow_cli-0.75.0/tests/scripts/test_update_sponsors.py +297 -0
- gflow_cli-0.75.0/tests/services/test_credits.py +340 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_errors.py +6 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_errors_classification.py +63 -17
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_media.py +28 -34
- gflow_cli-0.75.0/tests/test_plugin_manifests.py +263 -0
- gflow_cli-0.75.0/tests/test_rich_markup_safety.py +199 -0
- gflow_cli-0.75.0/tests/test_server_json.py +148 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/uv.lock +42 -40
- {gflow_cli-0.73.2 → gflow_cli-0.75.0/website}/docs/ARCHITECTURE.md +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/CONFIGURATION.md +8 -8
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/KNOWN_ISSUES.md +89 -10
- {gflow_cli-0.73.2 → gflow_cli-0.75.0/website}/docs/MCP.md +169 -5
- gflow_cli-0.75.0/website/docs/SPONSORS.md +55 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/USAGE.md +22 -9
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/index.md +2 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/onboarding-mockup.html +2 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/onboarding.md +1 -1
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/mkdocs.yml +3 -2
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/requirements.txt +3 -3
- gflow_cli-0.73.2/src/gflow_cli/__init__.py +0 -3
- gflow_cli-0.73.2/tests/api/transports/conftest.py +0 -22
- gflow_cli-0.73.2/tests/e2e/test_credits_e2e.py +0 -31
- gflow_cli-0.73.2/tests/services/test_credits.py +0 -183
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/README.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/active.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/branch-review.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/changelog.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/check.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/doc-review.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/issue-assessment.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/issue-resolve.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/known-issues.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/live-verify.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/llm-council.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/next.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/plan.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/pr-council-review.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/predict.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/release.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/scenario.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/sonar.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/spike.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.claude/commands/gflow/status.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.gitattributes +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/CODEOWNERS +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/FUNDING.yml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/copilot-instructions.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/dependabot.yml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/external-pr-triage.yml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/labels.yml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/main-base-guard.yml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/pages.yml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.github/workflows/star-history-watch.yml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.gitignore +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.gitleaks.toml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.pre-commit-config.yaml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/.secrets.baseline +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/CONFIGURATION.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/CONTRIBUTING.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/LICENSE +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/conftest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/deploy/logrotate-pr-triage +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docker-compose.yml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/AGENT_GUIDE.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/AGENT_UI_E2E.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/AGENT_UI_RECON.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/ASSET_TAGGING_RECON.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/AUTHENTICATION.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/CHARACTER.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/CHARACTER_RECON.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/DEMOS.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/E2E_TESTING.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/GITHUB.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/GOVERNANCE_BENCHMARK.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/IMAGE_UPSCALE_RECON.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_data_layer.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_image_batch.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_playwright_1.61.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_reference_entity_guard.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.10.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.11.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.12.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.13.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.16.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.17.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.18.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.19.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.20.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.20.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.21.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.22.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.23.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.24.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.25.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.26.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.27.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.27.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.28.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.29.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.30.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.31.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.32.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.32.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.33.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.34.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.35.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.36.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.37.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.38.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.38.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.39.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.40.0-production-readiness.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.40.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.41.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.42.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.43.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.44.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.45.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.46.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.46.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.47.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.48.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.49.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.50.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.51.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.52.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.54.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.55.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.56.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.57.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.57.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.58.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.59.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.60.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.61.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.62.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.62.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.63.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.64.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.65.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.66.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.66.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.66.2.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.66.3.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.67.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.68.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.69.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.7.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.70.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.71.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.71.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.72.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.73.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.73.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.73.2.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.8.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.9.0.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_v0.9.1.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/LIVE_VERIFICATION_video_download.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/MOVIE.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/REFERENCE_STRATEGIES.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/SECURITY.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/TOOLS.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/USER_GUIDE.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/assets/demo-split-pf.gif +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/assets/example-run.gif +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/assets/examples.webp +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/schemas/movie-handoff.schema.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/sonar-cleanup-tracker.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/README.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/agents-md-vs-llms-txt.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/background-e2e-pytest-pattern.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/bdd-stubs-mirror-runtime-signatures.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/credit-free-route-abort-verification.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/data-layer-overview.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/data-layer-test-pollution-trap.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/doc-examples-are-untested-fixtures.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/draft-pr-merge-trap.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/e2e-evidence-is-a-contributor-deliverable.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/exit-code-16-data-store.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/flow-credits-videos-only.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/force-color-breaks-cli-tests.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/full-test-suite-ooms.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/git-add-all-sweeps-scratch-files.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/image-video-mode-switch-symmetry.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/ligature-carrier-differs-by-host.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/mcp-is-first-class-across-skill-chain.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/memory-is-working-dir-keyed.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/on-started-callback-recorder-safety.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/playwright-click-no-downstream-event-signature.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/pr-council-review-stale-tree-reads.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/pr-hygiene-revert-and-multi-commit.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/pr-must-verify-on-affected-surface.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/prose-conflicts-hide-in-disjoint-files.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/pypi-readme-staleness-fix.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/pypi-rejected-filename-reusable.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/readme-hybrid-router-pattern.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/real-browser-auth-mandatory.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/release-back-merge-gap-recovery.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/release-signing.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/release-spec-plan-memory-consolidation.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/rest-transports-drop-ui-fields.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/ruff-format-scope-is-src-tests.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/sonarcloud-hotspot-review-workflow.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/sonarcloud-new-code-gotchas.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/sonarcloud-pr-issues-scope-s7497.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/sonarcloud-setup.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/stale-test-discovery.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/structlog-cache-logger-off-for-tests.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/ui-selector-drift-error-exit-23.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/verification-ledger-5-layer.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/video-model-capability-matrix.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/wheel-build-sanity-gate.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/windows-dev-quirks.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/memory/windows-running-launcher-blocks-uv-upgrade.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-12-issue-174-library-ui-attach/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-mcp-server/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-mcp-server/PREDICT.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-mcp-server/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PREDICT.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-24-gflow-studio-scaffold/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-24-rest-api-layer/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-06-26-mcp-e2e-test/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-08-pr-triage-autopilot/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-09-camoufox-adoption/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-14-storyboarding-and-visual-curation/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-18-asset-tagging/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-live-verify/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-production-readiness-browser-lifecycle.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-production-readiness-driver-cdp-verification.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-production-readiness-public-truth.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-19-production-readiness-queue-safety.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-26-character-prompt-polishing/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-26-project-name-management/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-26-self-documenting-errors/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-27-overlay-banner-dismissal/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-04-mcp-tasks/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-04-output-hardening/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-21-selector-registry.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-08-25-workflow-hardening-gaps.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-09-01-video-extend/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/plans/2026-09-06-spike-tooling-reorg/PLAN.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/research/2026-06-27-tool-abstraction-evaluation.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-06-29-issue-assessment-workflow-design.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-07-04-pr-triage-autopilot-design.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-07-18-asset-tagging-design.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-07-19-live-verify-design.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-07-19-production-readiness-hardening-design.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-08-21-selector-registry-design.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-08-26-model-attribution-provenance.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-08-26-model-cost-quota-catalog.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/specs/2026-08-27-changelog-modal-precondition-design.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-07-09-camoufox-waf-403.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-07-12-ui-cohort-backend-config.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-07-17-production-readiness-assessment.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-08-01-mcp-2026-07-28-spec-impact.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-08-14-video-model-capability-matrix.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-08-15-picker-tile-alt-text.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-08-31-veo-extend-route-recon.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-04-migrated-host-handoff-mechanism.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-05-migrated-frames-attach.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-05-migrated-host-wire-protocol.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-05-migrated-model-menu-lower-priority.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-05-migrated-r2v-attach-surface.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-06-labs-vs-migrated-session-credential.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-06-migrated-character-surface-and-recaptcha.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-character-format-button-anchor.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-credit-shortfall-looks-like-selector-drift.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-format-click-is-not-a-format.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-ligature-carrier-and-name-drift.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-07-migrated-composer-has-an-image-mode.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-g12-blocks-webdriver-not-playwright.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-migrated-composer-agent-mode-hides-settings.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-migrated-image-submit-wire.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-migrated-queue-is-readable-on-zzl0ze.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-08-migrated-upload-fails-two-ways.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-10-about-redirect-stability.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-10-migrated-click-blocked.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-decided-client-side.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-stable-for-an-account.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-11-migrated-cookie-bar-blocks-the-composer.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/docs/superpowers/spikes/2026-09-11-nano2-lite-capability.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/examples/README.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/examples/batch_from_config.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/examples/multi_prompt_t2i.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/examples/sample_config.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/examples/sample_prompts.txt +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/examples/single_image_t2i.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/examples/workflow_chain.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/clip_qa.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/composition.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/consistency.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/failure-modes.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0/plugins/gflow}/skills/video-production/tasks.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/README.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/01_upload_image.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/02_batchAsyncGenerateVideoText.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/03_batchCheckAsyncVideoGenerationStatus.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/04_archive_workflow.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/05_createProject.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/06_batchGenerateImages.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/07_batchGenerateImages_seeded.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/08_batchAsyncGenerateVideoStartAndEndImage.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/09_batchAsyncGenerateVideoReferenceImages.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/10_batchCheckAsyncVideoGenerationStatus_successful.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/11_batchCheckAsyncVideoGenerationStatus_failed.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/12_create_scene.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/13_sceneWorkflows_update.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/14_get_scene_workflows.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/samples/captured/15_commit_flowWorkflow.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/canary/register_task.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/ci/check_council_memory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/ci/check_materiality.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/ci/check_release_artifacts.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/ci/check_test_count.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/ci/check_website_docs_pii.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/ci/generate_website_docs.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/debug_editor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/debug_gen_settings.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/debug_settings.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/_recording_client.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/_spike_common.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/acceptance/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/acceptance/bench.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/acceptance/domain.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/acceptance/judge.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/acceptance/settings.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/active_plan.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_frames_mode_trigger_ligature.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_i2v_frame_slots_dom.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_i2v_intercept_submit.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_i2v_model_select_repro.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_i2v_post_bind_state.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_image_add_media_dom.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_locale_invariants.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_lower_priority_model_cost.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_attach_rpcs.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_mention_gestures.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_model_menu.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_r2v_production_submit.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_r2v_submit_payload.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_r2v_surface.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_migrated_upload_flow.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_project_listing.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_r2v_ingredient_lifecycle.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_sidebar_state_dom.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/cdp_drive_and_probe.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/character_create_spike.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/character_create_spike_v2.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/dump_character_selectors.js +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/README.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/capture-agent-ui.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/capture-media-scrape.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/extract_har_summary.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/launch-flow-chrome.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/probe-agent-mode.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/probe_agent_mode.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/run-cdp-smoke.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/start-background-capture.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/start-har-capture.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/stop-background-capture.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/har-spike/stop-har-capture.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/incident_bundle_quality.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/live_verify_mcp_tasks.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/live_verify_policy_400_v060.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/live_verify_video_model_select.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/make_project.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/materiality_backtest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/measure_html_lang_settle.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/measure_locale_probe.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/measure_migrated_host_flip.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/patch_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/skillopt/README.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/skillopt/tasks.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/sonar-local-scan.sh +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/sonar-pre-push-gate.sh +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_about_redirect_cause.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_about_redirect_stability.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_cdp_har_without_node.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_changelog_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_char_editor_dom.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_char_gen_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_character_editor_ready_gate.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_character_prompt_format.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_entity_submit_rpcs.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_extend_model_recon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_extend_ourstack_verify.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_extend_route_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_extend_submit_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_extend_ui_recon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_format_prompt_effect.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_host_lane.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_image_model_attribution.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_image_upscale_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_image_upscale_drive.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_image_upscale_recaptcha_action.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_image_upscale_rest_probe.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_incident_live.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_issue170_picker_locale_recon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_issue174_library_ui_recon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_issue313_agent_mode_controls.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_issue314_picker_filename_search.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_issue404_count_tabs_recon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_ligature_carrier_sweep.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_locale_poison.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_body_reference_chip.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_body_controls.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_editor_anchor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_ogiz0b_schema.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_submit_wire.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_character_surface.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_click_blocked.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_composer_arms.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_composer_mode_axis.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_cookie_bar.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_duration_by_model.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_editor_dom_inventory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_entity_submit.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_frames_attach.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_host_trigger.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_image_capability.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_image_submit.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_picker_option_kind.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_queue_read.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_recaptcha_mint.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_submit_anchor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_submit_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_upload_wire.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migrated_vs_labs_provenance.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_migration_flag_bootstrap.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_mode_roundtrip.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_mode_switch_agentic_to_classic.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_model_inventory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_movie_attach_payload.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_movie_entity_recon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_movie_gen_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_movie_picker_select.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_movie_voice_list.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_nano2_lite_capability.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_omni_flash_i2v_ui_recon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_patch_entity.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_patchright.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_playwright_chrome_login.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_project_media_status.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_trpc_origin_referer_401.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/spike_video_tab_dom.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/verify_lang_settle_fix.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/verify_language_agnostic.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/verify_locale_navigation_race.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/dev/verify_model_attribution.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/diag/README.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/diag/capture_flow_traffic.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/diag/diag_aisandbox_bearer.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/diag/memory_profile.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/diag/recaptcha_mint.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/diag/spike_387_openai_compat.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/e2e/agentic_image_e2e.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/e2e/capture_agent_toggle.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/probe/run_probe.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/probe/spike_auth_matrix.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/record_demo.ps1 +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/smoke_image.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/smoke_video_editor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/smoke_worker_style.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/spike_waf_camoufox.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/scripts/verify_chrome_auth_viability.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/README.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/changelog/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/check/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/doc-review/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/issue-assessment/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/issue-resolve/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/known-issues/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/live-verify/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/llm-council/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/plan/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/pr-council-review/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/predict/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/scenario/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/sonar/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/spike/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/status/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/skills/video-production/SKILL.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/sonar-project.properties +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/__main__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/_engine.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/_retry.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/_sapisidhash.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/client.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/dto.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/extend_chain.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/image.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/image_upscale.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/recaptcha.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/routes.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/scene.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/_fingerprint.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/base.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/batchexecute.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/agentic.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/base.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/classic.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/drivers/factory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/experimental/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/experimental/bearer.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/experimental/evaluate_fetch.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/experimental/sapisidhash.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/mode_control.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/ui_automation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/transports/ui_automation_video.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/video.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/api/video_extend.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/auth/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/auth/base.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/auth/cookies.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/auth/factory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/auth/internal_chromium.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/auth/real_chrome.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/auth/strategies.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/auth/verification.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/browser_manager.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/chain.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/chain_manifest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_credits.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_data.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_doctor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_image.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_instructions.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_models.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_project.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_tools.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/cli_update.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/composition.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/chain_repo.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0001_initial.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0002_add_cloud_storage.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0003_add_scene_tables.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0004_add_scene_output_path.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0005_add_chain_links.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0006_add_operations_metadata.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0007_queue.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0008_add_operation_expanded_prompt.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/0009_queue_claims.sql +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/migrations/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/models.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/queries.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/recorder.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/redaction.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/repository.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/data/store.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/diagnostics.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/exceptions.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/file_integrity.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/flow_selectors/grading.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/flow_selectors/model.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/flow_selectors/registry.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/image_batch.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/json_output.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/mcp/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/mcp/prompts.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/mcp/resources.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/mcp/setup.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/mcp/tasks_extension.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/movie_manifest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/observability.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/paths.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/profile_lease.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/profile_store.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/redaction.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/services/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/services/catalog_sync.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/services/character_create.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/services/doctor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/services/mentions.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/storage.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/banned.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/builtin/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/builtin/creative-director.toml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/builtin/reverse-engineer.toml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/builtin/storyboard.toml +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/expander.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/invocation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/loader.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/registry.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/runtime.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/tools/spec.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/ui/server.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/update_check.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/winsec.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/worker/codec.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/worker/daemon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/src/gflow_cli/worker/queue.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tasks/lessons.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/test_assets/sample_batch.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/test_assets/sample_batch.tsv +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/test_assets/sample_batch_invalid.tsv +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/fixtures/character_gen_response.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/fixtures/patch_entity_response.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/fixtures/project_initial_data_extend_models.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_aisandbox_auth_error.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_aisandbox_auth_headers.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_bearer_redaction.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_bootstrap_chooser.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_character_readback_fallback.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_delete_characters.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_errors.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_extend.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_generate_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_image.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_incidents.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_launch_kwargs.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_locale_cache.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_migrated_mint.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_patch_entity.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_scene.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_client_upscale.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_concurrency.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_credits.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_dto.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_engine.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_extend_chain.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_image.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_image_dto.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_image_upscale.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_post_json_aisandbox_auth.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_recaptcha.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_retry.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_routes.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_routes_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_routes_locale.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_routes_scene.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_sapisidhash_helper.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_scene_models.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_video.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_video_extend.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_video_request.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/test_video_status_poll.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/drivers/test_agentic.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/drivers/test_classic.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/drivers/test_factory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/drivers/test_ui_mode.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_agentic_cohort_detection.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_base.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_batchexecute.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_bearer.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_character_model_picker.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_click_attribution.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_common.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_evaluate_fetch.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_factory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_fingerprint.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_locale_navigation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_host_gate.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_images.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_migrated_route.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_mode_control.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_model_selection_loud.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_navigation_settled.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_new_project_cta_migrated.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_policy_400.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_sapisidhash.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_selector_symmetry.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_transport_timeout.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_ui_automation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_ui_automation_batch.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_ui_automation_image_mode.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_ui_automation_video.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_ui_character_editor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/api/transports/test_video_model_selection_loud.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/auth/strategies/test_factory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/auth/strategies/test_strategies.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/auth/test_account_autoselect.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/auth/test_cookies.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/auth/test_real_chrome.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/auth/test_verification.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/auth/test_windows_acl.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_auth_status.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_auth_list.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_character_create.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_credits.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_data.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_data_errors.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_data_errors_retention.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_data_sync.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_doctor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_image.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_image_seed_removed.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_image_selector_drift.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_image_upscale.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_image_uuid_ref_enrichment.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_instructions.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_models.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_movie.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_run.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_tools.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_video.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_cli_video_extend.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_failure_funnel.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_incident_output.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_movie_manifest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_movie_manifest_style_variants.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_predictable_output.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_run_with_handlers_context_leak.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_run_with_handlers_interrupt.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_settings_validation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/cli/test_t2i_multi_prompt.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/composition/test_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/composition/test_compose_prompt.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/composition/test_handoff.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/composition/test_style_variants.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/composition/test_style_variants_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/conftest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_chain_repo.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_failure_recording.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_find_incomplete_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_models.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_null_columns_stay_null.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_packaging.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_recorder.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_recorder_character.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_redaction.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_repository.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_scene_persistence.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_settings_and_errors.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_store.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/data/test_store_migrations.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/dev/test_recording_client.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/conftest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_account_chooser_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_agentic_count_enforcement_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_aisandbox_auth_live.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_asset_tagging_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_auth_verification_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_cancellation_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_chain_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_character_create_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_character_mcp_parity_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_classic_count_setter_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_click_attribution_bdd.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_crash_recovery_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_daemon_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_data_layer_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_data_sync_names_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_e2e_env_isolation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_entity_provenance_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_entity_smuggling_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_i2v_flags_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_image_batch_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_image_i2i_ref_cap_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_image_uuid_ref_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_incident_quality_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_insufficient_credits_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_json_output_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_landing_state_diagnosis_bdd.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_live_agentic_instructions.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_locale_selectors_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_migrated_host_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_project_naming_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_refresh_on_miss_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_scene_compose_live.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_sidebar_recovery_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_tools_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_transports_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_video_r2v_ref_cap_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_video_r2v_uuid_name_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/e2e/test_video_t2v_e2e.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/asset_tagging.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/auth.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/auth_login.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/character_create.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/character_read.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/click_attribution.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/conftest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/credits.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/duration_tab_drift.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/entity_provenance.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/image.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/image_batch_references.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/image_upscale.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/incident_diagnostics.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/instructions.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/landing_state_diagnosis.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/latched_locale_recovery.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/locale_picker_include.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/mcp_tasks.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/media_picker_tiers.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/migrated_driver.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/migrated_host_gate.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/migrated_host_images.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/output_hardening.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_asset_tagging_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_auth_login_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_auth_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_character_create_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_character_read_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_credits_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_e2e_binding_guard.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_image_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_image_upscale_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_incident_diagnostics_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_instructions_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_locale_picker_include_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_mcp_tasks_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_media_picker_tiers_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_migrated_driver_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_migrated_host_gate_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_migrated_host_images_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_output_hardening_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_step_collision_guard.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_video_agent_ui_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/test_video_chain_steps.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/video_agent_ui.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/features/video_chain.feature +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/fixtures/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/fixtures/changelog_modal_page.html +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/fixtures/doctor_env.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/fixtures/flow_model_inventory.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/fixtures/flow_project_listing_media.json +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/fixtures/listing_payload.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/fixtures/seeded_catalog.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/flow_selectors/test_grading.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/flow_selectors/test_model.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/flow_selectors/test_model_governance.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/flow_selectors/test_registry.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/flow_selectors/test_report.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/image_batch/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/image_batch/test_image_manifest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/image_batch/test_jitter_config.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/image_batch/test_observability_events.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/integration/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/integration/conftest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/integration/constants.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/integration/test_expander_gateway.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/integration/test_storage_gcs.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/integration/test_storage_s3.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/conftest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_auth_status_tool.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_character_tools.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_cli_parity.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_credits_tool.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_error_funnel.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_known_issues_resource.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_migrated_i2v_parity.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_no_spend.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_rate_limit_envelope.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_reference_entity_round_trip.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_resources.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_stdio_transport.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_tasks_extension.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_tools_helpers.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_tools_instructions.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/mcp/test_tools_wired.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_canary_reexec.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_capture_locale_invariants.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_check_council_memory.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_check_materiality.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_check_release_artifacts.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_check_test_count.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_check_website_docs_pii.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_extract_har_summary.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_frame_acceptance.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_generate_website_docs.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_incident_bundle_quality.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_materiality_backtest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_skillopt_scoring.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_spike_page_pool.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_spike_profile_lease.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/scripts/test_workflow_hardening.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_catalog_sync.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_character_create_redaction.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_character_create_saga.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_character_gen_no_direct_post.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_doctor.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_media_attribution.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_mentions_observability.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_mentions_parse.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_mentions_resolve.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/services/test_resolve_and_apply.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/smoke/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/smoke/test_profile_account_smoke.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/smoke/test_real_flow.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_auth.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_browser_manager.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_chain.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_chain_manifest.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_cli_data.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_cli_project.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_cli_update.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_config.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_conftest_isolation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_data_queries.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_diagnostics_bundle.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_diagnostics_events.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_diagnostics_journal.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_diagnostics_recorder.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_diagnostics_retention.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_diagnostics_sanitize.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_documentation_gate.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_duration_tab_drift.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_entity_provenance.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_image_batch_references.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_incident_generation_requests.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_json_output.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_marker_registry.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_observability.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_overlay_banner_dismissal.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_paths.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_playwright_pin.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_profile_lease.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_profile_lease_subprocess.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_profile_store.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_profile_store_locale.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_project_list_urls.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_self_documenting_errors.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_smoke.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/test_update_check.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/tools/__init__.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/tools/test_banned.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/tools/test_expander.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/tools/test_invocation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/tools/test_loader.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/tools/test_registry.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/tools/test_runtime.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/tools/test_spec.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/ui/test_app.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/worker/test_codec.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/worker/test_daemon.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/worker/test_mcp_daemon_race.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/worker/test_queue.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/worker/test_queue_multiprocess.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/tests/worker/test_queue_reconciliation.py +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/AUTHENTICATION.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/CHARACTER.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/E2E_TESTING.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/MOVIE.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/SECURITY.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/TOOLS.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/USER_GUIDE.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/agents.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/installation.md +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/docs/stylesheets/extra.css +0 -0
- {gflow_cli-0.73.2 → gflow_cli-0.75.0}/website/requirements.in +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gflow-cli",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "Flavio Oliva",
|
|
5
|
+
"url": "https://github.com/ffroliva"
|
|
6
|
+
},
|
|
7
|
+
"description": "Drive Google Flow (Veo video, Imagen images) from Claude Code.",
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "gflow",
|
|
11
|
+
"source": "./plugins/gflow",
|
|
12
|
+
"category": "Developer Tools",
|
|
13
|
+
"tags": ["video", "image", "google-flow", "veo", "imagen", "mcp"],
|
|
14
|
+
"defaultEnabled": false
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gflow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.75.0",
|
|
4
4
|
"description": "Reusable development and operations workflows for gflow-cli",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Flavio Oliva",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"codex",
|
|
15
15
|
"google-flow"
|
|
16
16
|
],
|
|
17
|
-
"skills": "./skills/",
|
|
17
|
+
"skills": "./plugins/gflow/skills/",
|
|
18
18
|
"interface": {
|
|
19
19
|
"displayName": "gflow-cli",
|
|
20
20
|
"shortDescription": "Develop, validate, review, and operate gflow-cli.",
|
|
@@ -187,9 +187,11 @@
|
|
|
187
187
|
# --initial-frame; video r2v from local --ref files; image t2i; and image i2i from
|
|
188
188
|
# local files — all with --project) on every
|
|
189
189
|
# account; requests it cannot serve yet keep the labs driver on an unmoved
|
|
190
|
-
# account
|
|
190
|
+
# account; where Flow serves flow.google.com you get the migrated composer for
|
|
191
|
+
# everything ported to it.
|
|
191
192
|
# flow.google.com: force the migrated composer for everything.
|
|
192
|
-
# labs.google: never use it —
|
|
193
|
+
# labs.google: never use it — where Flow serves flow.google.com, requests fail
|
|
194
|
+
# with exit 36 (kill switch).
|
|
193
195
|
# GFLOW_CLI_FLOW_HOST=auto
|
|
194
196
|
|
|
195
197
|
# DEPRECATED — use GFLOW_CLI_UI_MODE=classic. true maps to ui_mode=classic, but the
|
|
@@ -43,7 +43,7 @@ jobs:
|
|
|
43
43
|
with:
|
|
44
44
|
persist-credentials: false
|
|
45
45
|
- name: Install uv
|
|
46
|
-
uses: astral-sh/setup-uv@
|
|
46
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
47
47
|
- name: Audit locked dependencies for known CVEs
|
|
48
48
|
# Fails the build on any known advisory. Accept later via: pip-audit --ignore-vuln <GHSA-id>
|
|
49
49
|
#
|
|
@@ -80,7 +80,7 @@ jobs:
|
|
|
80
80
|
persist-credentials: false
|
|
81
81
|
|
|
82
82
|
- name: Install uv
|
|
83
|
-
uses: astral-sh/setup-uv@
|
|
83
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
84
84
|
|
|
85
85
|
- name: Audit workflows (zizmor)
|
|
86
86
|
# --offline: the online audits need a GH token and reach the network, so
|
|
@@ -116,7 +116,7 @@ jobs:
|
|
|
116
116
|
persist-credentials: false
|
|
117
117
|
|
|
118
118
|
- name: Install uv
|
|
119
|
-
uses: astral-sh/setup-uv@
|
|
119
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
120
120
|
|
|
121
121
|
- name: Set up Python
|
|
122
122
|
run: uv python install 3.13
|
|
@@ -172,7 +172,7 @@ jobs:
|
|
|
172
172
|
persist-credentials: false
|
|
173
173
|
|
|
174
174
|
- name: Install uv
|
|
175
|
-
uses: astral-sh/setup-uv@
|
|
175
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
176
176
|
|
|
177
177
|
- name: Set up Python
|
|
178
178
|
run: uv python install ${{ matrix.python-version }}
|
|
@@ -199,6 +199,9 @@ jobs:
|
|
|
199
199
|
- name: Council memory (every cited slug resolves, every file is cited)
|
|
200
200
|
run: uv run python scripts/ci/check_council_memory.py
|
|
201
201
|
|
|
202
|
+
- name: Plugin skills in sync (curated payload, no maintainer-only skill shipped)
|
|
203
|
+
run: uv run python scripts/ci/generate_plugin_skills.py --check
|
|
204
|
+
|
|
202
205
|
- name: Lint
|
|
203
206
|
run: uv run ruff check src tests
|
|
204
207
|
|
|
@@ -260,7 +263,7 @@ jobs:
|
|
|
260
263
|
persist-credentials: false
|
|
261
264
|
|
|
262
265
|
- name: Install uv
|
|
263
|
-
uses: astral-sh/setup-uv@
|
|
266
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
264
267
|
|
|
265
268
|
- name: Set up Python
|
|
266
269
|
run: uv python install 3.13
|
|
@@ -33,7 +33,7 @@ jobs:
|
|
|
33
33
|
persist-credentials: false
|
|
34
34
|
|
|
35
35
|
- name: Install uv
|
|
36
|
-
uses: astral-sh/setup-uv@
|
|
36
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
37
37
|
|
|
38
38
|
- name: Set up Python
|
|
39
39
|
run: uv python install 3.13
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
fetch-depth: 0 # full history so `git diff origin/<base>..HEAD` resolves
|
|
26
26
|
|
|
27
27
|
- name: Install uv
|
|
28
|
-
uses: astral-sh/setup-uv@
|
|
28
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
29
29
|
|
|
30
30
|
- name: Classify touched paths (advisory, never blocks)
|
|
31
31
|
# BASE_REF arrives through `env:`, never interpolated into the script
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
fetch-depth: 0 # full history — the backtest replays every commit
|
|
25
25
|
|
|
26
26
|
- name: Install uv
|
|
27
|
-
uses: astral-sh/setup-uv@
|
|
27
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
28
28
|
|
|
29
29
|
- name: Run backtest (advisory; writes to job summary)
|
|
30
30
|
run: uv run python scripts/dev/materiality_backtest.py >> "$GITHUB_STEP_SUMMARY"
|
|
@@ -29,7 +29,7 @@ jobs:
|
|
|
29
29
|
fetch-depth: 0
|
|
30
30
|
|
|
31
31
|
- name: Install uv
|
|
32
|
-
uses: astral-sh/setup-uv@
|
|
32
|
+
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
33
33
|
with:
|
|
34
34
|
# This is the one workflow that publishes artefacts (PyPI + GitHub
|
|
35
35
|
# Release), so it must not restore a cache any other workflow can
|
|
@@ -47,6 +47,6 @@ jobs:
|
|
|
47
47
|
retention-days: 5
|
|
48
48
|
|
|
49
49
|
- name: Upload to code-scanning
|
|
50
|
-
uses: github/codeql-action/upload-sarif@
|
|
50
|
+
uses: github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4
|
|
51
51
|
with:
|
|
52
52
|
sarif_file: results.sarif
|
|
@@ -16,7 +16,7 @@ jobs:
|
|
|
16
16
|
steps:
|
|
17
17
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
18
18
|
with: { persist-credentials: false }
|
|
19
|
-
- uses: astral-sh/setup-uv@
|
|
19
|
+
- uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
|
|
20
20
|
- run: uv sync --frozen
|
|
21
21
|
- run: uv run playwright install chromium --with-deps
|
|
22
22
|
- name: Probe
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
name: Sponsors hall of fame
|
|
2
|
+
|
|
3
|
+
# ── Why this exists ──────────────────────────────────────────────────────────
|
|
4
|
+
# The sponsor tiers promise a place in the hall of fame (README.md and docs/SPONSORS.md). A list
|
|
5
|
+
# kept by hand drifts the day someone sponsors, stops, or goes private — and "goes private" is the
|
|
6
|
+
# one that must never lag. This regenerates the block daily from GitHub Sponsors.
|
|
7
|
+
#
|
|
8
|
+
# Commits straight to develop instead of opening a PR: this repository does not let Actions create
|
|
9
|
+
# pull requests, and loosening that setting for a generated list is the wrong trade. The guard
|
|
10
|
+
# below refuses to commit if anything other than the generated pages changed.
|
|
11
|
+
#
|
|
12
|
+
# Needs a SPONSORS_READ_TOKEN secret: a classic PAT with only the `read:user` scope (the default
|
|
13
|
+
# GITHUB_TOKEN cannot read sponsorships). Without it the job skips with a notice.
|
|
14
|
+
|
|
15
|
+
on:
|
|
16
|
+
schedule:
|
|
17
|
+
# Daily 06:30 UTC — clear of the 05:00 selector probe and the 06:00 star-history watch.
|
|
18
|
+
- cron: "30 6 * * *"
|
|
19
|
+
workflow_dispatch:
|
|
20
|
+
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
|
|
24
|
+
concurrency:
|
|
25
|
+
group: sponsors-hall-of-fame
|
|
26
|
+
cancel-in-progress: false
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
refresh:
|
|
30
|
+
name: Refresh the sponsor hall of fame
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
timeout-minutes: 5
|
|
33
|
+
if: github.repository == 'ffroliva/gflow-cli'
|
|
34
|
+
permissions:
|
|
35
|
+
contents: write
|
|
36
|
+
env:
|
|
37
|
+
HAS_TOKEN: ${{ secrets.SPONSORS_READ_TOKEN != '' }}
|
|
38
|
+
steps:
|
|
39
|
+
- name: Skip without a sponsors token
|
|
40
|
+
if: env.HAS_TOKEN != 'true'
|
|
41
|
+
run: echo "::notice::SPONSORS_READ_TOKEN is not set; the hall of fame was not refreshed."
|
|
42
|
+
|
|
43
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
44
|
+
if: env.HAS_TOKEN == 'true'
|
|
45
|
+
with:
|
|
46
|
+
ref: develop
|
|
47
|
+
persist-credentials: false
|
|
48
|
+
|
|
49
|
+
- name: Regenerate the hall of fame
|
|
50
|
+
if: env.HAS_TOKEN == 'true'
|
|
51
|
+
env:
|
|
52
|
+
GH_TOKEN: ${{ secrets.SPONSORS_READ_TOKEN }}
|
|
53
|
+
run: python3 scripts/ci/update_sponsors.py
|
|
54
|
+
|
|
55
|
+
- name: Regenerate the website mirror
|
|
56
|
+
# Its own step so the sponsors token never reaches a script that does not need it.
|
|
57
|
+
if: env.HAS_TOKEN == 'true'
|
|
58
|
+
run: python3 scripts/ci/generate_website_docs.py
|
|
59
|
+
|
|
60
|
+
- name: Commit when the list changed
|
|
61
|
+
if: env.HAS_TOKEN == 'true'
|
|
62
|
+
env:
|
|
63
|
+
# Scoped to this step: checkout keeps no credentials (persist-credentials: false).
|
|
64
|
+
PUSH_TOKEN: ${{ github.token }}
|
|
65
|
+
run: |
|
|
66
|
+
set -euo pipefail
|
|
67
|
+
changed=$(git status --porcelain | awk '{print $2}')
|
|
68
|
+
if [ -z "$changed" ]; then
|
|
69
|
+
echo "Hall of fame unchanged."
|
|
70
|
+
exit 0
|
|
71
|
+
fi
|
|
72
|
+
allowed='^(README\.md|docs/SPONSORS\.md|website/docs/SPONSORS\.md)$'
|
|
73
|
+
# Not `grep -q`: an early exit could SIGPIPE printf and, under pipefail, skip the guard.
|
|
74
|
+
if printf '%s\n' "$changed" | grep -vE "$allowed" >/dev/null; then
|
|
75
|
+
echo "::error::Refusing to commit: files outside the hall of fame changed:"
|
|
76
|
+
printf '%s\n' "$changed" | grep -vE "$allowed"
|
|
77
|
+
exit 1
|
|
78
|
+
fi
|
|
79
|
+
git config user.name "github-actions[bot]"
|
|
80
|
+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
81
|
+
git commit -am "docs(sponsors): refresh hall of fame"
|
|
82
|
+
auth=$(printf 'x-access-token:%s' "$PUSH_TOKEN" | base64 -w0)
|
|
83
|
+
echo "::add-mask::$auth"
|
|
84
|
+
header="http.https://github.com/.extraheader=AUTHORIZATION: basic $auth"
|
|
85
|
+
git -c "$header" push origin HEAD:develop
|
|
@@ -44,7 +44,7 @@ by construction, so Codex / Cursor / Aider / `agy` read exactly what Claude Code
|
|
|
44
44
|
|
|
45
45
|
## Project at a glance
|
|
46
46
|
|
|
47
|
-
-
|
|
47
|
+
- Python CLI and MCP server for [Google Flow](https://labs.google/fx/tools/flow) — drives Veo (image-to-video, text-to-video) and Imagen (text-to-image) generations from the terminal by reverse-engineering Flow's private REST API at `aisandbox-pa.googleapis.com` — and, for accounts Google has moved to `flow.google.com`, that frontend's `batchexecute` wire (text-to-video, image-to-video from a local `--initial-frame`, reference-to-video from local `--ref` files, and text-to-image/local-file image-to-image, today; `GFLOW_CLI_FLOW_HOST`).
|
|
48
48
|
- Python 3.11+ · `uv`-managed · `hatchling` builds · Playwright Chromium transport · `pyright` strict · `ruff` · `pytest`.
|
|
49
49
|
- Single-package modular monolith. Top-level modules under `src/gflow_cli/`: `api/`, `auth/`, `data/`, `mcp/`, `services/`, `tools/`, `ui/`, `worker/`, `browser_manager.py`, `cli.py`, `_cli_helpers.py`, `diagnostics.py`, `json_output.py`, `media.py`, `profile_lease.py`, `redaction.py`, `storage.py`, `winsec.py`, `cli_project.py`, `cli_character.py`, `cli_credits.py`, `cli_data.py`, `cli_image.py`, `cli_instructions.py`, `cli_models.py`, `cli_movie.py`, `cli_run.py`, `cli_scene.py`, `cli_tools.py`, `cli_video.py`, `chain.py`, `chain_manifest.py`, `cli_doctor.py`, `cli_update.py`, `composition.py`, `config.py`, `errors.py`, `file_integrity.py`, `flow_selectors/`, `update_check.py`, `exceptions.py`, `image_batch.py`, `movie_manifest.py`, `observability.py`, `paths.py`, `profile_store.py`.
|
|
50
50
|
- Command surface: `gflow auth`, `gflow credits` (user/list — read-only Veo balance), `gflow image` (t2i/i2i/batch/upload/upscale), `gflow video` (t2v/i2v/r2v/chain/extend — `extend` continues an existing clip past Flow's 8s ceiling, server-seeded from the source so the join is continuous; no `batch` subcommand; the nonfunctional stub was removed, loop `gflow video t2v`/`i2v` from the shell for multi-clip runs), `gflow character` (create/list/show/rm/voices — reusable project-scoped Flow Character entities), `gflow scene` (create/show — Add Clip / Scenes, with `create --output` for credit-free server-side extended video), `gflow instructions` (persistent Agent-Mode brief cards — add/list/enable/disable/rm/apply/toggle-mode, credits-free, `--project` required), `gflow movie` (run/template — multi-scene manifest pipeline), `gflow tools` (list/show/run — prompt-rewriting tools, also `--tool` on generation commands), `gflow data` (catalog queries), `gflow doctor` (read-only pre-flight diagnostic, exit 33 = findings present), `gflow update` (self-update through the installer that put it here — uv tool / pipx / pip; `--check` only reports; source installs refused, exit 11; deliberately no MCP twin), `gflow project`, `gflow models`, `gflow run`, `gflow mcp` (run/setup — stdio MCP server), and `gflow serve` (Streamable HTTP at `/mcp`; `--transport sse` is deprecated).
|
|
@@ -135,6 +135,43 @@ the five other mirror axes), which no command here can check and no CI gate can
|
|
|
135
135
|
drifts, which is the exact failure this row exists to prevent.
|
|
136
136
|
- **Locale-Invariance Discipline for UI Automation**: **Never** write text-label string selectors (`has-text(...)` or multi-locale text lists) for DOM elements, overlays, announcements, menus, tabs, or buttons. All DOM selectors in `src/gflow_cli/api/transports/` must be 100% language-agnostic, anchoring exclusively on structural properties: **Tier 1 Anchors** — e.g. hyperlinks (`a[href*='changelog']`), icon ligatures (`button:has(i.google-symbols:text('close'))`), ARIA roles (`[role='banner']`, `button[data-dismiss]`), and hierarchical DOM relationships (`[role='dialog']:has(a[href*='changelog']) button`). Relying on translated display labels or maintaining multi-locale text cascades is strictly forbidden as an anti-pattern hack.
|
|
137
137
|
|
|
138
|
+
- **Host-Membership Discipline**: say which host Flow **served**; never use host
|
|
139
|
+
membership to assert a **capability**. "This account is migrated, therefore X is
|
|
140
|
+
unavailable" is an inference the evidence does not support, and **"X is labs-only" is
|
|
141
|
+
not merely unproven — it is unfalsifiable here.** A 2026-09-14 survey (3 accounts x 2
|
|
142
|
+
entry points x 2 runs, [spike](docs/superpowers/spikes/2026-09-14-two-domain-protocol-survey.md))
|
|
143
|
+
found `labs.google/fx/tools/flow` answering **HTTP 308 Permanent Redirect** to
|
|
144
|
+
flow.google.com on all three profiles here that still hold a live Flow session (6/6
|
|
145
|
+
visits) — so none of those can reach labs to test such a claim, while those same three
|
|
146
|
+
differ in which capabilities work. Host membership is uniform where capability is not;
|
|
147
|
+
it does not predict capability. An account served labs *has* been driven before
|
|
148
|
+
(v0.67.0, a pt-locale profile), so this is about what we can test today, not about labs
|
|
149
|
+
being gone.
|
|
150
|
+
|
|
151
|
+
The same survey found the graduated app's Angular root is **`aisandbox-root`** — the
|
|
152
|
+
same name as `aisandbox-pa.googleapis.com`. One product lineage, two frontends. So a
|
|
153
|
+
feature gflow cannot drive on flow.google.com is **not ported yet** (a fact about our
|
|
154
|
+
selectors) rather than "labs-only" (a claim about Flow's service).
|
|
155
|
+
|
|
156
|
+
| Do not write | Write |
|
|
157
|
+
|---|---|
|
|
158
|
+
| "X is labs-only" | "X is not ported to the migrated composer yet" |
|
|
159
|
+
| "on a migrated account, X fails" | "on an account served flow.google.com, gflow cannot drive X yet" |
|
|
160
|
+
| "moved / unmoved account" | "the host Flow served" — and if you have not observed the labs arm, say so |
|
|
161
|
+
| "the migrated cohort cannot X" | name the surface and the observation that showed it |
|
|
162
|
+
|
|
163
|
+
Naming the host is fine — `flow.google.com` really is where Google moved the app.
|
|
164
|
+
Identifiers stay put: `FlowHostMigratedError`, `GFLOW_CLI_FLOW_HOST` and
|
|
165
|
+
`migrated_composer.py` are public contracts, and renaming them is churn, not accuracy.
|
|
166
|
+
|
|
167
|
+
**This governs CLAIMS, not routing.** `migrated_route()` and `migrated_can_serve()`
|
|
168
|
+
branch on the host Flow actually **served**, which is an observation, not a membership —
|
|
169
|
+
keep them. "Host membership predicts nothing" is about what you may *assert* to a user or
|
|
170
|
+
write into a doc, never a licence to delete a branch. In particular the labs arm of
|
|
171
|
+
`migrated_route()` has never been observed taken on our accounts, and it stays: we hold
|
|
172
|
+
no account that could disprove it, which is a reason to keep code and never a reason to
|
|
173
|
+
make a claim.
|
|
174
|
+
|
|
138
175
|
## PR instructions
|
|
139
176
|
|
|
140
177
|
- Branch naming: `feature/`, `bugfix/`, `hotfix/`, `chore/`, `docs/`, `test/`, `release/` — never `claude/` or unprefixed.
|
|
@@ -7,6 +7,188 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.75.0] — 2026-09-15
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Installable as a Claude Code plugin.** `/plugin marketplace add ffroliva/gflow-cli` then
|
|
15
|
+
`/plugin install gflow@gflow-cli` installs the `gflow-cli` and `video-production` skills and
|
|
16
|
+
registers the MCP server in one step. The plugin ships **disabled**: Claude Code starts a
|
|
17
|
+
plugin's MCP servers automatically on enable with no prompt of its own, and this one drives your
|
|
18
|
+
own Google account where video generation bills your credits, so enabling it is a deliberate act.
|
|
19
|
+
For a hard guarantee, register the server yourself with `gflow mcp run --no-spend`.
|
|
20
|
+
- **`docs/DISTRIBUTION.md`** — an operational catalog of every channel people install or discover
|
|
21
|
+
gflow-cli through: audience, how to submit, requirements, status and a last-verified date per
|
|
22
|
+
row. Every row was checked live. It also records the channels that listed us without being asked
|
|
23
|
+
(MCP Market, skills.sh with 21 installs, two auto-generated catalogs) and the ones we are not
|
|
24
|
+
eligible for, with the reason.
|
|
25
|
+
- **Listed on [cursor.directory](https://cursor.directory/plugins/gflow-cli)**, and submitted to
|
|
26
|
+
seven more channels: Glama, mcpservers.org, and PRs or issues on `punkpeye/awesome-mcp-servers`,
|
|
27
|
+
`ComposioHQ/awesome-claude-skills`, `hesreallyhim/awesome-claude-code`,
|
|
28
|
+
`travisvn/awesome-claude-skills` and `Arnon-hs/open-source`. `DISTRIBUTION.md` carries the
|
|
29
|
+
status and reference for each, and — equally deliberately — why four channels are closed to a
|
|
30
|
+
local-stdio server that spends the user's own credits, including a section on why there is no
|
|
31
|
+
hosted "connector" and what one would actually cost.
|
|
32
|
+
- **`server.json`** — metadata for the official MCP Registry, with `tests/test_server_json.py`
|
|
33
|
+
pinning version lockstep, the schema's 100-character description cap, the name pattern, the
|
|
34
|
+
`mcp-name:` ownership token in the README, and that the command it advertises really exists.
|
|
35
|
+
- **A `gflow-cli` console script.** `uvx gflow-cli mcp run` previously failed with uv's own
|
|
36
|
+
*"Use `uvx --from gflow-cli <EXECUTABLE-NAME>` instead"*, because the console scripts were named
|
|
37
|
+
`gflow` and `flow`. The MCP Registry builds exactly that `uvx <identifier>` command from the
|
|
38
|
+
PyPI identifier and has no field for a differing executable name, so a listing would have been
|
|
39
|
+
broken on arrival.
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
- **PyPI metadata.** The summary described only image-to-video and never mentioned MCP; it now
|
|
44
|
+
says what the package is. Added `Documentation`, `Repository` and `Changelog` sidebar links,
|
|
45
|
+
ten trove classifiers (all checked against the official list) and MCP-related keywords.
|
|
46
|
+
- **Dropped "unofficial" as a label** from the PyPI summary, `README.md`, `index.html`, the docs
|
|
47
|
+
site, `llms.txt`, `ROADMAP.md`, `DISCLAIMER.md`, `AGENTS.md`, `CLAUDE.md`,
|
|
48
|
+
`skills/gflow-cli/SKILL.md` and `src/gflow_cli/__init__.py`. The substance is unchanged and
|
|
49
|
+
still prominent: the README warning block reads "alpha and reverse-engineered — not affiliated
|
|
50
|
+
with Google", and `DISCLAIMER.md` still opens "not affiliated with, endorsed by, sponsored by,
|
|
51
|
+
or otherwise connected to Google LLC" — only the word "unofficial" left its first sentence.
|
|
52
|
+
It was leading with a negative in the one line PyPI shows in search results.
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
|
|
56
|
+
- **The Codex and ChatGPT-desktop plugin manifests shipped every skill in `skills/`**, including
|
|
57
|
+
maintainer-only ones (`release`, `check`, `pr-council-review`, `sonar`, `doc-review`). All three
|
|
58
|
+
channels now point at the same curated two-skill payload under `plugins/gflow/`, generated from
|
|
59
|
+
`skills/` by `scripts/ci/generate_plugin_skills.py` with a `--check` drift gate in CI.
|
|
60
|
+
|
|
61
|
+
- **Remediation hints naming an extra rendered without the extra.** Rich reads `[chain]` in an
|
|
62
|
+
interpolated value as a style tag and silently drops it, so `pip install 'gflow-cli[chain]'`
|
|
63
|
+
printed as `pip install 'gflow-cli'` — advice that reinstalls what you already have. The same
|
|
64
|
+
applied to `gflow-cli[patchright]`. Only brackets whose first character is `[a-z#/@]` are
|
|
65
|
+
affected, which is exactly the shape of a package extra. Every site that renders error text
|
|
66
|
+
through Rich now escapes it, and `tests/test_rich_markup_safety.py` fails the build if a new one
|
|
67
|
+
appears. `--json` was never affected.
|
|
68
|
+
|
|
69
|
+
- **`gflow video chain` was unusable on a clean `gflow-cli[chain]` install (#813).** The extra
|
|
70
|
+
installed `av` but not Pillow, while `media.py` imports `PIL` at module level — so
|
|
71
|
+
`uvx --from 'gflow-cli[chain]==0.74.0' gflow video chain one.jsonl --dry-run` died on
|
|
72
|
+
`No module named 'PIL'`, surfaced as a generic exit `1` *"Unexpected error… file a bug"*,
|
|
73
|
+
immediately after the user installed the documented extra. `pillow>=12.3.0` now ships in the
|
|
74
|
+
`chain` extra alongside `av`.
|
|
75
|
+
- **A missing `av` used to fail only AFTER a paid clip.** `import av` sat inside
|
|
76
|
+
`media._decode_frame`, which runs between links — so the missing extra surfaced once link 0
|
|
77
|
+
had already been generated and billed. It is now a module-level import beside `PIL`, and the
|
|
78
|
+
import block at the top of `video chain` is guarded: either missing package is a typed
|
|
79
|
+
`FrameExtractionError` (exit `20`) raised *before* the manifest is read, before `--dry-run`
|
|
80
|
+
prints a plan, and before the cost prompt. Nothing is submitted and no browser is launched.
|
|
81
|
+
`FrameExtractionError`'s remediation now names the extra **and both** packages (`av`,
|
|
82
|
+
`pillow`); it previously said only "PyAV", which left a missing Pillow undiagnosable.
|
|
83
|
+
- **Error text containing `[...]` was silently truncated on the console.** `detail` and
|
|
84
|
+
`remediation_hint` were interpolated into Rich markup unescaped, so Rich read `[chain]` as an
|
|
85
|
+
unknown style tag and dropped it — turning every `install gflow-cli[chain]` hint into
|
|
86
|
+
`install gflow-cli`, advice that reinstalls what the user already has. Both error render
|
|
87
|
+
paths now escape. `--json` was never affected.
|
|
88
|
+
### Security
|
|
89
|
+
|
|
90
|
+
- **`gflow serve` now requires the configured daemon token on every HTTP request.**
|
|
91
|
+
`GFLOW_CLI_DAEMON_TOKEN` / `GFLOW_DAEMON_TOKEN` previously gated startup only. It is now verified
|
|
92
|
+
on every request, on both the Streamable HTTP and the deprecated SSE transport, with a
|
|
93
|
+
constant-time comparison; a missing, malformed or wrong token gets `401` plus a
|
|
94
|
+
`WWW-Authenticate: Bearer` header and never reaches a tool. Set a token and upgrade if you run
|
|
95
|
+
`gflow serve` on anything other than the default loopback bind.
|
|
96
|
+
|
|
97
|
+
## [0.74.0] — 2026-09-14
|
|
98
|
+
|
|
99
|
+
### Added
|
|
100
|
+
|
|
101
|
+
- **Sponsorship: a Support section, a sponsor hall of fame, and a Funding link on PyPI.** The
|
|
102
|
+
README gains one-click sponsor links; [docs/SPONSORS.md](docs/SPONSORS.md) lists the tiers and
|
|
103
|
+
what each one gets. `.github/workflows/sponsors.yml` refreshes the hall of fame daily from GitHub
|
|
104
|
+
Sponsors, plus a Gold row at the top of both pages, and only ever lists sponsors who chose to
|
|
105
|
+
sponsor publicly. No CLI or MCP behaviour
|
|
106
|
+
changes.
|
|
107
|
+
|
|
108
|
+
### Changed
|
|
109
|
+
|
|
110
|
+
- **On `flow.google.com`, an agent-only composer now exits `25` (`FlowAgentUiError`) where
|
|
111
|
+
it previously exited `23` (`UiSelectorDriftError`)** — and reports `retryable: false`
|
|
112
|
+
rather than inheriting that class's retryable default. Scripts branching on `23` for
|
|
113
|
+
this failure must add `25`. Nothing else moved: a trigger missing from the DOM is still
|
|
114
|
+
exit 23. See the `### Fixed` entry below for why
|
|
115
|
+
([#799](https://github.com/ffroliva/gflow-cli/issues/799)).
|
|
116
|
+
|
|
117
|
+
### Fixed
|
|
118
|
+
|
|
119
|
+
- **Migrated-host i2v: the Frames picker is confirmed when it does not commit on the
|
|
120
|
+
pick (#792).** On some cohorts Flow's Frames picker no longer closes when an asset is
|
|
121
|
+
clicked — it waits for its own "Add to prompt" confirm. gflow sat out
|
|
122
|
+
`FRAME_COMMIT_HIDDEN_S` waiting for an auto-close that never came and raised
|
|
123
|
+
`UiSelectorDriftError` with the asset already picked, so i2v dispatch failed before
|
|
124
|
+
submit (no credits spent). The picker is now given a short grace period and, if it is
|
|
125
|
+
still up, its confirm is clicked. Anchored on `button.detail-add-to-prompt-btn`, a
|
|
126
|
+
class measured on this exact surface — never on the translated label. Where the pick
|
|
127
|
+
already commits, nothing changes: a closing picker no longer carries the button.
|
|
128
|
+
- **A re-run of the same start frame no longer binds a stale look-alike (#792).** The
|
|
129
|
+
Frames picker is searched by display name and an upload is listed under its file name,
|
|
130
|
+
so attaching the same keyframe twice left two identical library entries; the search
|
|
131
|
+
could bind the older one and the submit-body check then failed with `eb1hJf does not
|
|
132
|
+
carry the uploaded start frame`. What is uploaded is now a run-unique copy
|
|
133
|
+
(`<stem>-<8 hex>.<ext>`), so the search has exactly one match by construction and the
|
|
134
|
+
library's sort order is no longer trusted. **This applies to every local file this
|
|
135
|
+
driver uploads on the migrated host** — `video i2v --initial-frame`, `video r2v --ref`
|
|
136
|
+
and `image i2i --ref` alike, since all three find their upload again by display name.
|
|
137
|
+
Expect the tagged names when you browse the project's library on flow.google.com.
|
|
138
|
+
|
|
139
|
+
Reported, root-caused and verified end-to-end on the affected cohort by **@ai4U23**.
|
|
140
|
+
|
|
141
|
+
- **`gflow credits` stopped sending migrated accounts to re-login, on the raise site they
|
|
142
|
+
actually hit (#795).** v0.73.2 fixed the message for a labs session that mints no token.
|
|
143
|
+
It did not help the cohort that gets a token and has aisandbox-pa reject it, and it could
|
|
144
|
+
not: the service caught its own accurate verdict and re-derived it through a browser,
|
|
145
|
+
which fails inside the shared, route-blind aisandbox retry helper and so reported
|
|
146
|
+
*"aisandbox-pa returned 401 after token refresh — SAPISID cookie missing, expired, or
|
|
147
|
+
unreadable. Re-run `gflow auth login`"*. Every word of that is wrong here: aisandbox-pa
|
|
148
|
+
answered, SAPISID is what let labs mint the token, and on a migrated account re-login can
|
|
149
|
+
roll the profile's strategy marker back and start #791.
|
|
150
|
+
|
|
151
|
+
The browser is no longer consulted once aisandbox-pa has **answered**: it asks the same
|
|
152
|
+
endpoint for the same Bearer and gets the same refusal. The other raise site — labs
|
|
153
|
+
answering with no token — keeps its browser rescue, because that one is not proven
|
|
154
|
+
unreachable: httpx sends labs.google cookies only, while the browser carries the full jar
|
|
155
|
+
and bootstraps a real navigation, which can renew a session httpx cannot. If that rescue
|
|
156
|
+
fails too, the fast path's diagnosis is what survives, not the route-blind default.
|
|
157
|
+
|
|
158
|
+
`gflow credits list` also reports the remediation per profile now. It rendered only the
|
|
159
|
+
class title, so the multi-profile surface — and `gflow_get_credits(all_profiles=true)`
|
|
160
|
+
with it — was the one place that still could not say why, or that re-login would not help.
|
|
161
|
+
|
|
162
|
+
Measured on a migrated profile: `gflow credits user` went from ~7 s to ~2 s with no
|
|
163
|
+
browser launch, and across 9 saved profiles `credits list` dropped from 9 Chrome launches
|
|
164
|
+
to 6 — the 3 on the aisandbox-401 cohort skip it, the rest keep their rescue. Applies to
|
|
165
|
+
the MCP twin `gflow_get_credits` identically: both doors share the service and the
|
|
166
|
+
envelope.
|
|
167
|
+
|
|
168
|
+
`credits` itself is still unavailable on migrated accounts; the balance surface for that
|
|
169
|
+
cohort has not been located. #795 stays open for it.
|
|
170
|
+
|
|
171
|
+
- **The migrated agent-only composer is named before submit instead of reported as
|
|
172
|
+
selector drift (#799).** Google has put some accounts on a `flow.google.com` composer
|
|
173
|
+
that has **no classic arm at all** — the prompt box is the agent panel, and aspect,
|
|
174
|
+
model and count live in Agent settings as defaults rather than per-request controls.
|
|
175
|
+
gflow waited 30 s for a control that is structurally absent and raised
|
|
176
|
+
`UiSelectorDriftError` (exit 23), which reads as *our* frontend bug and invites a retry
|
|
177
|
+
that cannot work.
|
|
178
|
+
|
|
179
|
+
It now raises `FlowAgentUiError` — **exit 25, `retryable: false`** — naming the cohort
|
|
180
|
+
and saying plainly that no flag or profile change helps. The discriminator is the chip:
|
|
181
|
+
the DOM is identical to #749's recoverable agent mode (settings trigger present under a
|
|
182
|
+
bare `hidden`), and what separates them is that a recoverable account still has a
|
|
183
|
+
`button.agent-mode-chip` to turn off while this one has none. A trigger that has left
|
|
184
|
+
the DOM entirely is unchanged — that is a renamed selector, our bug, and still drift.
|
|
185
|
+
|
|
186
|
+
`retryable` moved from `FlowAppError` to the error base to make that possible — its own
|
|
187
|
+
comment set the condition, *"move it up if, and only if, a second class needs it"*, and
|
|
188
|
+
this is the second. No existing error's retryability changed.
|
|
189
|
+
|
|
190
|
+
Reported with the DOM evidence that made it diagnosable by **@Cstanish127**. gflow-cli
|
|
191
|
+
still has no driver for that composer; #799 stays open for it.
|
|
10
192
|
## [0.73.2] — 2026-09-12
|
|
11
193
|
|
|
12
194
|
### Fixed
|
|
@@ -4919,7 +5101,9 @@ shell-script template that branches on these codes.
|
|
|
4919
5101
|
|
|
4920
5102
|
First skeleton. Not functional end-to-end yet.
|
|
4921
5103
|
|
|
4922
|
-
[Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.
|
|
5104
|
+
[Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.75.0...HEAD
|
|
5105
|
+
[0.75.0]: https://github.com/ffroliva/gflow-cli/compare/v0.74.0...v0.75.0
|
|
5106
|
+
[0.74.0]: https://github.com/ffroliva/gflow-cli/compare/v0.73.2...v0.74.0
|
|
4923
5107
|
[0.73.2]: https://github.com/ffroliva/gflow-cli/compare/v0.73.1...v0.73.2
|
|
4924
5108
|
[0.73.1]: https://github.com/ffroliva/gflow-cli/compare/v0.73.0...v0.73.1
|
|
4925
5109
|
[0.73.0]: https://github.com/ffroliva/gflow-cli/compare/v0.72.0...v0.73.0
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this project is
|
|
6
6
|
|
|
7
|
-
`gflow-cli` is
|
|
7
|
+
`gflow-cli` is a Python CLI that drives [Google Flow](https://labs.google/fx/tools/flow) (Veo image-to-video, Imagen text-to-image) from the terminal by reverse-engineering Flow's private REST API. See [README.md](README.md) for the user-facing overview.
|
|
8
8
|
|
|
9
9
|
## System rules — loaded, not requested
|
|
10
10
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Not affiliated with Google
|
|
4
4
|
|
|
5
|
-
`gflow-cli` is an **independent
|
|
5
|
+
`gflow-cli` is an **independent** project. It is **not affiliated with, endorsed by, sponsored by, or otherwise connected to Google LLC, Alphabet Inc., DeepMind, or any of their subsidiaries.** All trademarks (Google, Flow, Veo, Gemini, Imagen, AI Ultra, AI Pro) are the property of their respective owners. The use of these names here is purely descriptive — to identify the service this tool integrates with — and does not imply endorsement.
|
|
6
6
|
|
|
7
7
|
## Reverse-engineered surface
|
|
8
8
|
|