gflow-cli 0.84.0__tar.gz → 0.86.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.86.0/.codex-plugin/plugin.json +34 -0
- gflow_cli-0.86.0/.env.template +272 -0
- gflow_cli-0.86.0/.github/workflows/ci.yml +369 -0
- gflow_cli-0.86.0/.github/workflows/deps-watch.yml +83 -0
- gflow_cli-0.86.0/.github/workflows/governance-advisory.yml +41 -0
- gflow_cli-0.86.0/.github/workflows/governance-benchmark.yml +30 -0
- gflow_cli-0.86.0/.github/workflows/release.yml +121 -0
- gflow_cli-0.86.0/.github/workflows/scorecard.yml +52 -0
- gflow_cli-0.86.0/.github/workflows/selector-probe.yml +26 -0
- gflow_cli-0.86.0/AGENTS.md +417 -0
- gflow_cli-0.86.0/CHANGELOG.md +6246 -0
- gflow_cli-0.86.0/KNOWN_ISSUES.md +1873 -0
- gflow_cli-0.86.0/PKG-INFO +312 -0
- gflow_cli-0.86.0/README.md +224 -0
- gflow_cli-0.86.0/docker/Dockerfile +53 -0
- gflow_cli-0.86.0/docs/AUTHENTICATION.md +545 -0
- gflow_cli-0.86.0/docs/CONFIGURATION.md +640 -0
- gflow_cli-0.86.0/docs/E2E_TESTING.md +609 -0
- gflow_cli-0.86.0/docs/INDEX.md +200 -0
- gflow_cli-0.86.0/docs/LIVE_VERIFICATION_v0.84.0.md +68 -0
- gflow_cli-0.86.0/docs/LIVE_VERIFICATION_v0.85.0.md +83 -0
- gflow_cli-0.86.0/docs/LIVE_VERIFICATION_v0.86.0.md +69 -0
- gflow_cli-0.86.0/docs/MCP.md +503 -0
- gflow_cli-0.86.0/docs/MOVIE.md +316 -0
- gflow_cli-0.86.0/docs/PROJECT_STATUS.md +638 -0
- gflow_cli-0.86.0/docs/REFERENCE_STRATEGIES.md +164 -0
- gflow_cli-0.86.0/docs/USAGE.md +2266 -0
- gflow_cli-0.86.0/docs/USER_GUIDE.md +1054 -0
- gflow_cli-0.86.0/docs/superpowers/memory/drive-the-page-dont-replay-the-rpc.md +29 -0
- gflow_cli-0.86.0/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +105 -0
- gflow_cli-0.86.0/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +239 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/ASSESSMENT.md +45 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PLAN.md +146 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PREDICT.md +101 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/SCENARIO.md +95 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-10-17-migrated-video-extend/PLAN.md +104 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-10-17-migrated-video-extend/PREDICT.md +43 -0
- gflow_cli-0.86.0/docs/superpowers/plans/2026-10-17-migrated-video-extend/SCENARIO.md +79 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-09-15-agent-only-composer-drive-surface.md +178 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-09-19-migrated-video-extend-wire.md +53 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-10-13-migrated-image-character-mention.md +41 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-10-14-labs-nextauth-silent-refresh.md +34 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-10-17-agent-only-cohort-profiles.md +53 -0
- gflow_cli-0.86.0/docs/superpowers/spikes/2026-10-17-migrated-extend-ui-path.md +148 -0
- gflow_cli-0.86.0/llms.txt +42 -0
- gflow_cli-0.86.0/plugins/gflow/.claude-plugin/plugin.json +30 -0
- gflow_cli-0.86.0/plugins/gflow/skills/gflow-cli/SKILL.md +300 -0
- gflow_cli-0.86.0/plugins/gflow/skills/video-production/SKILL.md +392 -0
- gflow_cli-0.86.0/pyproject.toml +261 -0
- gflow_cli-0.86.0/scripts/dev/skillopt/tasks.json +242 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_confirm_radios.py +54 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_only_cohort_profiles.py +150 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_only_composer.py +334 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_only_video_ready.py +154 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_only_video_tile.py +118 -0
- gflow_cli-0.86.0/scripts/dev/spike_agent_settings_defaults.py +166 -0
- gflow_cli-0.86.0/scripts/dev/spike_image_submit_references.py +144 -0
- gflow_cli-0.86.0/scripts/dev/spike_labs_nextauth_refresh.py +87 -0
- gflow_cli-0.86.0/scripts/dev/spike_migrated_end_frame.py +288 -0
- gflow_cli-0.86.0/scripts/dev/spike_migrated_extend_ui_path.py +396 -0
- gflow_cli-0.86.0/scripts/dev/spike_migrated_refusal_envelope.py +202 -0
- gflow_cli-0.86.0/scripts/dev/spike_nano_banana_21_wire.py +157 -0
- gflow_cli-0.86.0/scripts/dev/spike_picker_chip_removal.py +94 -0
- gflow_cli-0.86.0/scripts/dev/spike_picker_entity_marker.py +122 -0
- gflow_cli-0.86.0/server.json +42 -0
- gflow_cli-0.86.0/skills/gflow-cli/SKILL.md +300 -0
- gflow_cli-0.86.0/skills/pr-council-review/SKILL.md +589 -0
- gflow_cli-0.86.0/skills/spike/SKILL.md +181 -0
- gflow_cli-0.86.0/skills/video-production/SKILL.md +392 -0
- gflow_cli-0.86.0/src/gflow_cli/__init__.py +3 -0
- gflow_cli-0.86.0/src/gflow_cli/api/client.py +4109 -0
- gflow_cli-0.86.0/src/gflow_cli/api/credits.py +146 -0
- gflow_cli-0.86.0/src/gflow_cli/api/transports/agent_only_composer.py +991 -0
- gflow_cli-0.86.0/src/gflow_cli/api/transports/batchexecute.py +365 -0
- gflow_cli-0.86.0/src/gflow_cli/api/transports/migrated_composer.py +3795 -0
- gflow_cli-0.86.0/src/gflow_cli/api/transports/migrated_extend.py +559 -0
- gflow_cli-0.86.0/src/gflow_cli/api/transports/ui_automation.py +4551 -0
- gflow_cli-0.86.0/src/gflow_cli/auth/renew.py +217 -0
- gflow_cli-0.86.0/src/gflow_cli/cli.py +834 -0
- gflow_cli-0.86.0/src/gflow_cli/cli_credits.py +96 -0
- gflow_cli-0.86.0/src/gflow_cli/cli_image.py +1958 -0
- gflow_cli-0.86.0/src/gflow_cli/cli_video.py +2562 -0
- gflow_cli-0.86.0/src/gflow_cli/config.py +717 -0
- gflow_cli-0.86.0/src/gflow_cli/errors.py +1542 -0
- gflow_cli-0.86.0/src/gflow_cli/mcp/tools.py +2279 -0
- gflow_cli-0.86.0/src/gflow_cli/services/credits.py +200 -0
- gflow_cli-0.86.0/src/gflow_cli/services/mentions.py +484 -0
- gflow_cli-0.86.0/tests/api/test_client_extend.py +251 -0
- gflow_cli-0.86.0/tests/api/test_client_image.py +1002 -0
- gflow_cli-0.86.0/tests/api/test_credits_http.py +250 -0
- gflow_cli-0.86.0/tests/api/test_upload_reference.py +110 -0
- gflow_cli-0.86.0/tests/api/transports/_ogiz0b.py +38 -0
- gflow_cli-0.86.0/tests/api/transports/test_agent_only_composer.py +180 -0
- gflow_cli-0.86.0/tests/api/transports/test_agent_only_composer_driver.py +1063 -0
- gflow_cli-0.86.0/tests/api/transports/test_migrated_composer.py +3302 -0
- gflow_cli-0.86.0/tests/api/transports/test_migrated_existing_refs.py +312 -0
- gflow_cli-0.86.0/tests/api/transports/test_migrated_extend.py +535 -0
- gflow_cli-0.86.0/tests/api/transports/test_migrated_images.py +535 -0
- gflow_cli-0.86.0/tests/api/transports/test_migrated_r2v.py +526 -0
- gflow_cli-0.86.0/tests/api/transports/test_signed_media_retry.py +258 -0
- gflow_cli-0.86.0/tests/api/transports/test_ui_automation.py +3652 -0
- gflow_cli-0.86.0/tests/auth/test_renew.py +347 -0
- gflow_cli-0.86.0/tests/cli/test_auth_renew.py +229 -0
- gflow_cli-0.86.0/tests/cli/test_cli_credits.py +160 -0
- gflow_cli-0.86.0/tests/cli/test_cli_image.py +1631 -0
- gflow_cli-0.86.0/tests/cli/test_cli_video_extend.py +888 -0
- gflow_cli-0.86.0/tests/e2e/test_agent_only_composer_bdd.py +262 -0
- gflow_cli-0.86.0/tests/e2e/test_auth_renew_e2e.py +128 -0
- gflow_cli-0.86.0/tests/e2e/test_credits_refresh_e2e.py +108 -0
- gflow_cli-0.86.0/tests/e2e/test_migrated_host_e2e.py +704 -0
- gflow_cli-0.86.0/tests/e2e/test_migrated_image_character_mention_bdd.py +204 -0
- gflow_cli-0.86.0/tests/e2e/test_migrated_refusal_live_bdd.py +112 -0
- gflow_cli-0.86.0/tests/e2e/test_project_create_e2e.py +210 -0
- gflow_cli-0.86.0/tests/e2e/test_t2i_batch_project_e2e.py +89 -0
- gflow_cli-0.86.0/tests/e2e/test_video_extend_migrated_e2e.py +234 -0
- gflow_cli-0.86.0/tests/features/agent_only_composer_live.feature +32 -0
- gflow_cli-0.86.0/tests/features/migrated_image_character_mention.feature +32 -0
- gflow_cli-0.86.0/tests/features/test_asset_tagging_steps.py +283 -0
- gflow_cli-0.86.0/tests/features/test_credits_steps.py +79 -0
- gflow_cli-0.86.0/tests/features/test_migrated_host_images_steps.py +158 -0
- gflow_cli-0.86.0/tests/mcp/test_cli_parity.py +313 -0
- gflow_cli-0.86.0/tests/mcp/test_credits_tool.py +72 -0
- gflow_cli-0.86.0/tests/services/test_credits.py +580 -0
- gflow_cli-0.86.0/tests/services/test_mentions_resolve.py +438 -0
- gflow_cli-0.86.0/tests/services/test_resolve_and_apply.py +122 -0
- gflow_cli-0.86.0/tests/test_config_agent_confirm.py +28 -0
- gflow_cli-0.86.0/tests/test_documentation_gate.py +161 -0
- gflow_cli-0.86.0/tests/test_marker_registry.py +267 -0
- gflow_cli-0.86.0/uv.lock +3586 -0
- gflow_cli-0.86.0/website/docs/AUTHENTICATION.md +545 -0
- gflow_cli-0.86.0/website/docs/CONFIGURATION.md +640 -0
- gflow_cli-0.86.0/website/docs/E2E_TESTING.md +609 -0
- gflow_cli-0.86.0/website/docs/KNOWN_ISSUES.md +1873 -0
- gflow_cli-0.86.0/website/docs/MCP.md +503 -0
- gflow_cli-0.86.0/website/docs/MOVIE.md +316 -0
- gflow_cli-0.86.0/website/docs/USAGE.md +2266 -0
- gflow_cli-0.86.0/website/docs/USER_GUIDE.md +1054 -0
- gflow_cli-0.86.0/website/requirements.txt +493 -0
- gflow_cli-0.84.0/.codex-plugin/plugin.json +0 -34
- gflow_cli-0.84.0/.env.template +0 -262
- gflow_cli-0.84.0/.github/workflows/ci.yml +0 -366
- gflow_cli-0.84.0/.github/workflows/deps-watch.yml +0 -83
- gflow_cli-0.84.0/.github/workflows/governance-advisory.yml +0 -41
- gflow_cli-0.84.0/.github/workflows/governance-benchmark.yml +0 -30
- gflow_cli-0.84.0/.github/workflows/release.yml +0 -121
- gflow_cli-0.84.0/.github/workflows/scorecard.yml +0 -52
- gflow_cli-0.84.0/.github/workflows/selector-probe.yml +0 -26
- gflow_cli-0.84.0/AGENTS.md +0 -417
- gflow_cli-0.84.0/CHANGELOG.md +0 -6138
- gflow_cli-0.84.0/KNOWN_ISSUES.md +0 -1845
- gflow_cli-0.84.0/PKG-INFO +0 -312
- gflow_cli-0.84.0/README.md +0 -224
- gflow_cli-0.84.0/docker/Dockerfile +0 -53
- gflow_cli-0.84.0/docs/AUTHENTICATION.md +0 -499
- gflow_cli-0.84.0/docs/CONFIGURATION.md +0 -629
- gflow_cli-0.84.0/docs/E2E_TESTING.md +0 -605
- gflow_cli-0.84.0/docs/INDEX.md +0 -200
- gflow_cli-0.84.0/docs/LIVE_VERIFICATION_v0.84.0.md +0 -61
- gflow_cli-0.84.0/docs/MCP.md +0 -496
- gflow_cli-0.84.0/docs/MOVIE.md +0 -313
- gflow_cli-0.84.0/docs/PROJECT_STATUS.md +0 -589
- gflow_cli-0.84.0/docs/REFERENCE_STRATEGIES.md +0 -131
- gflow_cli-0.84.0/docs/USAGE.md +0 -2234
- gflow_cli-0.84.0/docs/USER_GUIDE.md +0 -1050
- gflow_cli-0.84.0/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +0 -102
- gflow_cli-0.84.0/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +0 -237
- gflow_cli-0.84.0/llms.txt +0 -42
- gflow_cli-0.84.0/plugins/gflow/.claude-plugin/plugin.json +0 -30
- gflow_cli-0.84.0/plugins/gflow/skills/gflow-cli/SKILL.md +0 -294
- gflow_cli-0.84.0/plugins/gflow/skills/video-production/SKILL.md +0 -392
- gflow_cli-0.84.0/pyproject.toml +0 -261
- gflow_cli-0.84.0/scripts/dev/skillopt/tasks.json +0 -242
- gflow_cli-0.84.0/scripts/dev/spike_migrated_end_frame.py +0 -288
- gflow_cli-0.84.0/scripts/dev/spike_migrated_refusal_envelope.py +0 -202
- gflow_cli-0.84.0/scripts/dev/spike_nano_banana_21_wire.py +0 -157
- gflow_cli-0.84.0/server.json +0 -42
- gflow_cli-0.84.0/skills/gflow-cli/SKILL.md +0 -294
- gflow_cli-0.84.0/skills/pr-council-review/SKILL.md +0 -536
- gflow_cli-0.84.0/skills/spike/SKILL.md +0 -180
- gflow_cli-0.84.0/skills/video-production/SKILL.md +0 -392
- gflow_cli-0.84.0/src/gflow_cli/__init__.py +0 -3
- gflow_cli-0.84.0/src/gflow_cli/api/client.py +0 -4040
- gflow_cli-0.84.0/src/gflow_cli/api/credits.py +0 -145
- gflow_cli-0.84.0/src/gflow_cli/api/transports/batchexecute.py +0 -365
- gflow_cli-0.84.0/src/gflow_cli/api/transports/migrated_composer.py +0 -3512
- gflow_cli-0.84.0/src/gflow_cli/api/transports/ui_automation.py +0 -4543
- gflow_cli-0.84.0/src/gflow_cli/cli.py +0 -707
- gflow_cli-0.84.0/src/gflow_cli/cli_credits.py +0 -86
- gflow_cli-0.84.0/src/gflow_cli/cli_image.py +0 -1948
- gflow_cli-0.84.0/src/gflow_cli/cli_video.py +0 -2301
- gflow_cli-0.84.0/src/gflow_cli/config.py +0 -701
- gflow_cli-0.84.0/src/gflow_cli/errors.py +0 -1541
- gflow_cli-0.84.0/src/gflow_cli/mcp/tools.py +0 -2265
- gflow_cli-0.84.0/src/gflow_cli/services/credits.py +0 -150
- gflow_cli-0.84.0/src/gflow_cli/services/mentions.py +0 -433
- gflow_cli-0.84.0/tests/api/test_client_extend.py +0 -200
- gflow_cli-0.84.0/tests/api/test_client_image.py +0 -934
- gflow_cli-0.84.0/tests/api/test_credits_http.py +0 -238
- gflow_cli-0.84.0/tests/api/test_upload_reference.py +0 -93
- gflow_cli-0.84.0/tests/api/transports/test_agent_only_composer.py +0 -122
- gflow_cli-0.84.0/tests/api/transports/test_migrated_composer.py +0 -3213
- gflow_cli-0.84.0/tests/api/transports/test_migrated_existing_refs.py +0 -291
- gflow_cli-0.84.0/tests/api/transports/test_migrated_images.py +0 -446
- gflow_cli-0.84.0/tests/api/transports/test_migrated_r2v.py +0 -392
- gflow_cli-0.84.0/tests/api/transports/test_signed_media_retry.py +0 -258
- gflow_cli-0.84.0/tests/api/transports/test_ui_automation.py +0 -3626
- gflow_cli-0.84.0/tests/cli/test_cli_credits.py +0 -116
- gflow_cli-0.84.0/tests/cli/test_cli_image.py +0 -1608
- gflow_cli-0.84.0/tests/cli/test_cli_video_extend.py +0 -647
- gflow_cli-0.84.0/tests/e2e/test_migrated_host_e2e.py +0 -704
- gflow_cli-0.84.0/tests/e2e/test_migrated_refusal_live_bdd.py +0 -112
- gflow_cli-0.84.0/tests/e2e/test_project_create_e2e.py +0 -210
- gflow_cli-0.84.0/tests/e2e/test_t2i_batch_project_e2e.py +0 -65
- gflow_cli-0.84.0/tests/features/test_asset_tagging_steps.py +0 -283
- gflow_cli-0.84.0/tests/features/test_credits_steps.py +0 -79
- gflow_cli-0.84.0/tests/features/test_migrated_host_images_steps.py +0 -157
- gflow_cli-0.84.0/tests/mcp/test_cli_parity.py +0 -308
- gflow_cli-0.84.0/tests/mcp/test_credits_tool.py +0 -43
- gflow_cli-0.84.0/tests/services/test_credits.py +0 -340
- gflow_cli-0.84.0/tests/services/test_mentions_resolve.py +0 -296
- gflow_cli-0.84.0/tests/services/test_resolve_and_apply.py +0 -122
- gflow_cli-0.84.0/tests/test_documentation_gate.py +0 -139
- gflow_cli-0.84.0/tests/test_marker_registry.py +0 -257
- gflow_cli-0.84.0/uv.lock +0 -3586
- gflow_cli-0.84.0/website/docs/AUTHENTICATION.md +0 -499
- gflow_cli-0.84.0/website/docs/CONFIGURATION.md +0 -629
- gflow_cli-0.84.0/website/docs/E2E_TESTING.md +0 -605
- gflow_cli-0.84.0/website/docs/KNOWN_ISSUES.md +0 -1845
- gflow_cli-0.84.0/website/docs/MCP.md +0 -496
- gflow_cli-0.84.0/website/docs/MOVIE.md +0 -313
- gflow_cli-0.84.0/website/docs/USAGE.md +0 -2234
- gflow_cli-0.84.0/website/docs/USER_GUIDE.md +0 -1050
- gflow_cli-0.84.0/website/requirements.txt +0 -493
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.agents/plugins/marketplace.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/active.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/branch-review.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/changelog.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/check.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/doc-review.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/issue-assessment.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/issue-resolve.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/known-issues.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/live-verify.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/llm-council.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/next.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/plan.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/pr-council-review.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/predict.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/release.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/scenario.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/sonar.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/spike.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude/commands/gflow/status.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.claude-plugin/marketplace.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.gitattributes +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/CODEOWNERS +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/FUNDING.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/copilot-instructions.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/dependabot.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/workflows/external-pr-triage.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/workflows/labels.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/workflows/main-base-guard.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/workflows/mcp-registry.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/workflows/pages.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/workflows/sponsors.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.github/workflows/star-history-watch.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.gitignore +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.gitleaks.toml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.pre-commit-config.yaml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/.secrets.baseline +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/CLAUDE.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/CONFIGURATION.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/CONTRIBUTING.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/DISCLAIMER.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/LICENSE +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/RELEASE.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/ROADMAP.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/conftest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/deploy/logrotate-pr-triage +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docker/Dockerfile.test +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docker/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docker/docker-compose.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docker/dockerignore.example +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docker-compose.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/AGENT_GUIDE.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/AGENT_UI_E2E.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/AGENT_UI_RECON.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/ARCHITECTURE.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/ASSET_TAGGING_RECON.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/CHARACTER.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/CHARACTER_RECON.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/CONTAINER.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/DEMOS.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/DISTRIBUTION.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/GITHUB.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/GOVERNANCE_BENCHMARK.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/IMAGE_UPSCALE_RECON.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_data_layer.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_image_batch.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_playwright_1.61.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_reference_entity_guard.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.10.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.11.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.12.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.13.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.16.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.17.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.18.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.19.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.20.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.20.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.21.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.22.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.23.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.24.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.25.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.26.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.27.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.27.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.28.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.29.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.30.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.31.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.32.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.32.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.33.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.34.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.35.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.36.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.37.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.38.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.38.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.39.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.40.0-production-readiness.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.40.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.41.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.42.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.43.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.44.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.45.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.46.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.46.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.47.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.48.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.49.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.50.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.51.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.52.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.54.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.55.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.56.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.57.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.57.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.58.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.59.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.60.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.61.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.62.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.62.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.63.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.64.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.65.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.66.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.66.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.66.2.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.66.3.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.67.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.68.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.69.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.7.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.70.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.71.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.71.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.72.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.73.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.73.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.73.2.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.74.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.75.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.76.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.77.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.77.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.78.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.79.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.79.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.8.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.80.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.81.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.82.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.82.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.83.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.83.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.83.2.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.9.0.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_v0.9.1.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/LIVE_VERIFICATION_video_download.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/MARKETPLACES.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/SECURITY.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/SPONSORS.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/TOOLS.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/assets/demo-split-pf.gif +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/assets/example-run.gif +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/assets/examples.webp +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/medium_tutorial.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/schemas/movie-handoff.schema.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/sonar-cleanup-tracker.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/agents-md-vs-llms-txt.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/background-e2e-pytest-pattern.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/bdd-stubs-mirror-runtime-signatures.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/content-policy-text-scan-false-positives-on-page-chrome.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/credit-free-route-abort-verification.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/data-layer-overview.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/data-layer-test-pollution-trap.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/doc-examples-are-untested-fixtures.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/draft-pr-merge-trap.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/e2e-evidence-is-a-contributor-deliverable.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/exit-code-16-data-store.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/flow-capabilities-are-cohort-dependent.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/flow-credits-videos-only.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/flow-locale-leak-icon-ligatures.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/force-color-breaks-cli-tests.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/full-test-suite-ooms.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/git-add-all-sweeps-scratch-files.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/image-video-mode-switch-symmetry.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/ligature-carrier-differs-by-host.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/mcp-is-first-class-across-skill-chain.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/memory-is-working-dir-keyed.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/migrated-refusal-is-a-dom-card-not-a-wire-record.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/on-started-callback-recorder-safety.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/playwright-click-no-downstream-event-signature.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pr-council-review-stale-tree-reads.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pr-hygiene-revert-and-multi-commit.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pr-must-verify-on-affected-surface.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/prose-conflicts-hide-in-disjoint-files.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pypi-readme-staleness-fix.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/pypi-rejected-filename-reusable.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/readme-hybrid-router-pattern.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/real-browser-auth-mandatory.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/release-back-merge-gap-recovery.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/release-signing.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/release-spec-plan-memory-consolidation.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/rest-transports-drop-ui-fields.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/ruff-format-scope-is-src-tests.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/sonarcloud-hotspot-review-workflow.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/sonarcloud-new-code-gotchas.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/sonarcloud-pr-issues-scope-s7497.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/sonarcloud-setup.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/stale-test-discovery.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/structlog-cache-logger-off-for-tests.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/ui-selector-drift-error-exit-23.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/verification-ledger-5-layer.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/video-model-capability-matrix.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/wheel-build-sanity-gate.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/windows-dev-quirks.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/memory/windows-running-launcher-blocks-uv-upgrade.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-12-issue-174-library-ui-attach/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-mcp-server/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-mcp-server/PREDICT.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-mcp-server/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/PREDICT.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-22-prompt-expansion/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-24-gflow-studio-scaffold/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-24-rest-api-layer/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-06-26-mcp-e2e-test/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-08-pr-triage-autopilot/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-09-camoufox-adoption/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-14-storyboarding-and-visual-curation/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-18-asset-tagging/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-live-verify/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-production-readiness-browser-lifecycle.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-production-readiness-driver-cdp-verification.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-production-readiness-public-truth.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-19-production-readiness-queue-safety.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-26-character-prompt-polishing/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-26-project-name-management/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-26-self-documenting-errors/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-27-overlay-banner-dismissal/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-04-mcp-tasks/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-04-output-hardening/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-06-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-21-selector-registry.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-08-25-workflow-hardening-gaps.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-01-video-extend/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-06-spike-tooling-reorg/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-14-community-feedback-uplift/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-17-gflow-docs-command/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-17-gflow-docs-command/SCENARIO.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/plans/2026-09-17-project-create-bundle/PLAN.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/research/2026-06-27-tool-abstraction-evaluation.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-06-29-issue-assessment-workflow-design.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-07-04-pr-triage-autopilot-design.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-07-18-asset-tagging-design.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-07-19-live-verify-design.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-07-19-production-readiness-hardening-design.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-08-21-selector-registry-design.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-08-26-model-attribution-provenance.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-08-26-model-cost-quota-catalog.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/specs/2026-08-27-changelog-modal-precondition-design.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-07-09-camoufox-waf-403.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-07-12-ui-cohort-backend-config.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-07-17-production-readiness-assessment.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-08-01-mcp-2026-07-28-spec-impact.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-08-14-video-model-capability-matrix.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-08-15-picker-tile-alt-text.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-08-31-veo-extend-route-recon.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-04-migrated-host-handoff-mechanism.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-05-migrated-frames-attach.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-05-migrated-host-wire-protocol.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-05-migrated-model-menu-lower-priority.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-05-migrated-r2v-attach-surface.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-06-labs-vs-migrated-session-credential.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-06-migrated-character-surface-and-recaptcha.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-character-format-button-anchor.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-credit-shortfall-looks-like-selector-drift.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-format-click-is-not-a-format.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-ligature-carrier-and-name-drift.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-07-migrated-composer-has-an-image-mode.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-g12-blocks-webdriver-not-playwright.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-migrated-composer-agent-mode-hides-settings.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-migrated-image-submit-wire.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-migrated-queue-is-readable-on-zzl0ze.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-08-migrated-upload-fails-two-ways.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-10-about-redirect-stability.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-10-migrated-click-blocked.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-decided-client-side.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-11-about-redirect-is-stable-for-an-account.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-11-migrated-cookie-bar-blocks-the-composer.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-11-nano2-lite-capability.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-13-frames-picker-confirm.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-14-credits-on-migrated-host.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-14-generation-wire-no-push-channel.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-14-two-domain-protocol-survey.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-14-video-poll-is-a-fixed-client-timer.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-15-container-transport-viability.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-15-unentitled-account-signal.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-16-networkidle-costs-3x-it-does-not-hang.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-17-migrated-end-frame-submit-contract.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-17-project-create-on-flow-google-com.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-17-stranded-clip-recovery.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-20-warm-client-premint-on-about-blank.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-22-playwright-max-retries-econnreset.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-23-about-cta-leads-to-google-reauth.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-27-migrated-refusal-is-on-the-wire.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-27-stealth-fingerprint-delta.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-09-30-migrated-upscale-wire.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-01-batch-ref-dropped.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-01-recaptcha-error-shape.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-06-948-record-slot3-null.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-08-nano-banana-21-replaced-2.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/docs/superpowers/spikes/2026-10-10-duration-locale-and-notice-only-cookie-bar.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/examples/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/examples/batch_from_config.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/examples/multi_prompt_t2i.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/examples/sample_config.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/examples/sample_prompts.txt +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/examples/single_image_t2i.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/examples/workflow_chain.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/glama.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/hatch_build.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/index.html +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/mempalace.yaml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/plugins/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/plugins/gflow/.mcp.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/clip_qa.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/composition.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/consistency.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/failure-modes.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/plugins/gflow/skills/video-production/tasks.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/01_upload_image.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/02_batchAsyncGenerateVideoText.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/03_batchCheckAsyncVideoGenerationStatus.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/04_archive_workflow.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/05_createProject.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/06_batchGenerateImages.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/07_batchGenerateImages_seeded.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/08_batchAsyncGenerateVideoStartAndEndImage.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/09_batchAsyncGenerateVideoReferenceImages.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/10_batchCheckAsyncVideoGenerationStatus_successful.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/11_batchCheckAsyncVideoGenerationStatus_failed.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/12_create_scene.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/13_sceneWorkflows_update.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/14_get_scene_workflows.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/samples/captured/15_commit_flowWorkflow.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/canary/register_task.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/canary/run_canary.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/check_council_memory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/check_doc_links.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/check_fork_pr_ci.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/check_materiality.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/check_release_artifacts.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/check_repo_hygiene.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/check_test_count.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/check_website_docs_pii.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/generate_plugin_skills.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/generate_website_docs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/ci/update_sponsors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/debug_editor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/debug_gen_settings.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/debug_settings.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/_recording_client.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/_spike_common.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/bench.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/domain.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/judge.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/acceptance/settings.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/active_plan.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_frames_mode_trigger_ligature.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_i2v_frame_slots_dom.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_i2v_intercept_submit.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_i2v_model_select_repro.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_i2v_post_bind_state.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_image_add_media_dom.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_locale_invariants.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_lower_priority_model_cost.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_attach_rpcs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_mention_gestures.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_model_menu.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_r2v_production_submit.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_r2v_submit_payload.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_r2v_surface.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_migrated_upload_flow.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_project_listing.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_r2v_ingredient_lifecycle.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_sidebar_state_dom.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/cdp_drive_and_probe.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/character_create_spike.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/character_create_spike_v2.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/dump_character_selectors.js +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/capture-agent-ui.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/capture-media-scrape.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/extract_har_summary.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/launch-flow-chrome.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/probe-agent-mode.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/probe_agent_mode.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/run-cdp-smoke.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/start-background-capture.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/start-har-capture.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/stop-background-capture.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/har-spike/stop-har-capture.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/incident_bundle_quality.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/live_verify_mcp_tasks.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/live_verify_policy_400_v060.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/live_verify_video_model_select.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/make_project.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/materiality_backtest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/measure_html_lang_settle.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/measure_locale_probe.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/measure_migrated_host_flip.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/patch_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/skillopt/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/skillopt/harness.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/sonar-local-scan.sh +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/sonar-pre-push-gate.sh +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_948_project_records.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_948_submit_envelope.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_963_duration_locale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_about_cta_recovery.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_about_redirect_cause.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_about_redirect_stability.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_batch_ref_dropped.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_batch_ref_existing_media.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_cdp_har_without_node.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_changelog_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_char_editor_dom.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_char_gen_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_character_editor_ready_gate.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_character_prompt_format.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_create_project_401.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_credits_migrated_surface.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_entity_submit_rpcs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_model_recon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_ourstack_verify.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_route_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_submit_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_extend_ui_recon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_flow_unavailable_signal.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_format_prompt_effect.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_frames_picker_confirm.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_generation_wire_survey.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_gif_export_delivery.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_host_lane.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_model_attribution.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_upscale_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_upscale_drive.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_upscale_recaptcha_action.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_image_upscale_rest_probe.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_incident_live.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue170_picker_locale_recon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue174_library_ui_recon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue313_agent_mode_controls.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue314_picker_filename_search.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_issue404_count_tabs_recon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_ligature_carrier_sweep.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_locale_poison.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_mention_existing_media.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_aspect_radios.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_body_reference_chip.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_body_controls.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_editor_anchor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_ogiz0b_schema.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_submit_wire.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_character_surface.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_click_blocked.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_composer_arms.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_composer_mode_axis.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_cookie_bar.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_create_project.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_duration_by_model.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_editor_dom_inventory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_entity_submit.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_frames_attach.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_host_trigger.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_image_capability.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_image_submit.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_picker_option_kind.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_queue_read.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_recaptcha_mint.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_submit_anchor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_submit_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_upload_wire.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migrated_vs_labs_provenance.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_migration_flag_bootstrap.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_mint_on_about_blank.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_mode_roundtrip.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_mode_switch_agentic_to_classic.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_model_inventory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_attach_payload.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_entity_recon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_gen_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_picker_select.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_movie_voice_list.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_nano2_lite_capability.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_networkidle_bootstrap_cost.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_offscreen_window.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_omni_flash_i2v_ui_recon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_patch_entity.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_patchright.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_playwright_chrome_login.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_playwright_max_retries.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_project_media_status.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_recaptcha_error_shape.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_recover_stranded_clip.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_ref_gate.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_stealth_fingerprint_delta.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_trpc_origin_referer_401.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_two_domain_protocol_survey.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_upload_token_join.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_upscale_menu_anchors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_video_tab_dom.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_video_workflow_id.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/spike_warm_client_unported_form.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/verify_lang_settle_fix.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/verify_language_agnostic.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/verify_locale_navigation_race.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/dev/verify_model_attribution.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/diag/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/diag/capture_flow_traffic.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/diag/diag_aisandbox_bearer.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/diag/memory_profile.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/diag/recaptcha_mint.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/diag/spike_387_openai_compat.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/e2e/agentic_image_e2e.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/e2e/capture_agent_toggle.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/probe/run_probe.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/probe/spike_auth_matrix.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/record_demo.ps1 +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/smoke_image.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/smoke_video_editor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/smoke_worker_style.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/spike_waf_camoufox.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/scripts/verify_chrome_auth_viability.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/README.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/changelog/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/check/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/doc-review/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/issue-assessment/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/issue-resolve/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/known-issues/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/live-verify/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/llm-council/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/plan/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/predict/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/release/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/scenario/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/sonar/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/status/SKILL.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/video-production/clip_qa.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/video-production/composition.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/video-production/consistency.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/video-production/failure-modes.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/skills/video-production/tasks.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/sonar-project.properties +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/__main__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/_cli_helpers.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/_engine.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/_retry.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/_sapisidhash.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/dto.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/extend_chain.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/image.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/image_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/recaptcha.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/routes.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/scene.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/_common.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/_fingerprint.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/base.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/agentic.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/base.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/classic.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/drivers/factory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/experimental/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/experimental/bearer.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/experimental/evaluate_fetch.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/experimental/sapisidhash.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/migrated_recover.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/migrated_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/migrated_video_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/mode_control.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/transports/ui_automation_video.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/video.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/api/video_extend.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/base.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/cookies.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/factory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/internal_chromium.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/real_chrome.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/strategies.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/auth/verification.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/browser_manager.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/chain.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/chain_manifest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_data.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_docs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_doctor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_instructions.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_models.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_movie.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_project.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_run.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_scene.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_tools.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/cli_update.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/composition.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/chain_repo.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0001_initial.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0002_add_cloud_storage.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0003_add_scene_tables.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0004_add_scene_output_path.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0005_add_chain_links.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0006_add_operations_metadata.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0007_queue.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0008_add_operation_expanded_prompt.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/0009_queue_claims.sql +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/migrations/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/models.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/queries.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/recorder.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/redaction.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/repository.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/data/store.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/diagnostics.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/docs_catalog.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/exceptions.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/file_integrity.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/flow_selectors/grading.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/flow_selectors/model.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/flow_selectors/registry.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/image_batch.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/json_output.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/prompts.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/resources.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/server.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/setup.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/mcp/tasks_extension.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/media.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/movie_manifest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/observability.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/paths.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/profile_lease.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/profile_store.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/redaction.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/services/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/services/catalog_sync.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/services/character_create.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/services/doctor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/services/media_recovery.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/storage.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/banned.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/builtin/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/builtin/creative-director.toml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/builtin/reverse-engineer.toml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/builtin/storyboard.toml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/expander.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/invocation.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/loader.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/registry.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/runtime.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/tools/spec.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/ui/app.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/ui/server.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/update_check.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/winsec.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/worker/codec.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/worker/daemon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/src/gflow_cli/worker/queue.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tasks/lessons.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/test_assets/sample_batch.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/test_assets/sample_batch.tsv +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/test_assets/sample_batch_invalid.tsv +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/_upscale_fakes.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/fixtures/character_gen_response.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/fixtures/patch_entity_response.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/fixtures/project_initial_data_extend_models.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_aisandbox_auth_error.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_aisandbox_auth_headers.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_aisandbox_auth_remediation.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_bearer_redaction.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_bootstrap_chooser.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_character_readback_fallback.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_delete_characters.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_errors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_generate_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_incidents.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_launch_kwargs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_locale_cache.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_migrated_mint.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_patch_entity.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_project_host.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_scene.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_client_window_position.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_concurrency.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_credits.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_dto.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_engine.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_extend_chain.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_image.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_image_capability_and_cookie_bar.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_image_dto.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_image_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_migrated_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_migrated_video_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_post_json_aisandbox_auth.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_recaptcha.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_retry.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_routes.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_routes_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_routes_locale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_routes_scene.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_sapisidhash_helper.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_scene_models.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_video.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_video_extend.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_video_request.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/test_video_status_poll.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/conftest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/test_agentic.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/test_classic.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/test_factory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/drivers/test_ui_mode.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_agentic_cohort_detection.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_base.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_batchexecute.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_bearer.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_character_model_picker.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_click_attribution.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_common.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_evaluate_fetch.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_factory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_fingerprint.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_flow_access_unavailable.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_ligature_carrier.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_locale_navigation.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_dispatch.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_host_gate.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_project.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_recover.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_migrated_route.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_mode_control.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_model_selection_loud.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_navigation_settled.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_new_project_cta_migrated.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_overlay_precondition.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_policy_400.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_sapisidhash.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_selector_symmetry.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_transport_timeout.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_automation_batch.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_automation_image_mode.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_automation_video.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_ui_character_editor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/api/transports/test_video_model_selection_loud.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/auth/strategies/test_factory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/auth/strategies/test_strategies.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/auth/test_account_autoselect.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/auth/test_cookies.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/auth/test_real_chrome.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/auth/test_verification.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/auth/test_windows_acl.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_auth_status.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_auth_error_paths.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_auth_list.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_character_create.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_data.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_data_errors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_data_errors_retention.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_data_sync.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_docs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_doctor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image_seed_removed.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image_selector_drift.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_image_uuid_ref_enrichment.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_instructions.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_models.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_movie.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_run.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_scene.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_tools.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_video.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_video_chain.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_cli_video_upscale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_docs_catalog_real_docs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_error_handling.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_failure_funnel.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_helpers.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_incident_output.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_movie_manifest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_movie_manifest_style_variants.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_predictable_output.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_run_with_handlers_context_leak.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_run_with_handlers_interrupt.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_settings_validation.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_t2i_multi_prompt.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/cli/test_video_recording_busy.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/composition/test_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/composition/test_compose_prompt.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/composition/test_handoff.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/composition/test_style_variants.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/composition/test_style_variants_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/conftest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_chain_repo.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_failure_recording.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_find_incomplete_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_models.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_null_columns_stay_null.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_packaging.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_recorder.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_recorder_character.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_redaction.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_repository.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_scene_persistence.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_settings_and_errors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_store.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_store_migrations.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/data/test_store_transaction_errors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/dev/test_recording_client.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/conftest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_account_chooser_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_agentic_count_enforcement_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_aisandbox_auth_live.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_asset_tagging_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_auth_verification_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_blocking_dialog_dismissal_bdd.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_cancellation_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_chain_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_character_create_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_character_mcp_parity_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_classic_count_setter_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_click_attribution_bdd.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_crash_recovery_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_credits_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_credits_mcp_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_daemon_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_data_download_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_data_layer_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_data_sync_names_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_e2e_env_isolation.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_entity_provenance_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_entity_smuggling_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_frame_picker_binding_bdd.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_i2v_flags_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_image_batch_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_image_i2i_ref_cap_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_image_uuid_ref_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_incident_quality_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_insufficient_credits_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_json_output_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_landing_state_diagnosis_bdd.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_live_agentic_instructions.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_locale_selectors_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_login_identity_recheck_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_manifest_refs_bdd.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_i2v_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_locale_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_migrated_upscale_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_project_naming_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_recaptcha_error_shape_bdd.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_refresh_on_miss_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_retired_labs_route_diagnosis_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_scene_compose_live.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_sidebar_recovery_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_tools_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_transports_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_video_r2v_ref_cap_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_video_r2v_uuid_name_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/e2e/test_video_t2v_e2e.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/asset_tagging.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/auth.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/auth_login.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/blocking_dialog_dismissal.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/character_create.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/character_read.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/click_attribution.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/conftest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/credits.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/duration_tab_drift.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/entity_provenance.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/frame_picker_binding.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/image.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/image_batch_references.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/image_upscale.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/incident_diagnostics.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/instructions.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/landing_state_diagnosis.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/latched_locale_recovery.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/locale_picker_include.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/manifest_refs_live.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/mcp_tasks.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/media_picker_tiers.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/migrated_driver.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/migrated_host_gate.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/migrated_host_images.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/migrated_i2v.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/migrated_refusal_envelope.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/migrated_refusal_live.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/output_hardening.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/recaptcha_error_shape.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_auth_login_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_auth_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_character_create_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_character_read_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_e2e_binding_guard.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_image_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_image_upscale_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_incident_diagnostics_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_instructions_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_locale_picker_include_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_mcp_tasks_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_media_picker_tiers_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_migrated_driver_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_migrated_host_gate_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_migrated_i2v_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_migrated_refusal_envelope_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_output_hardening_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_step_collision_guard.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_video_agent_ui_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/test_video_chain_steps.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/video_agent_ui.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/features/video_chain.feature +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/fixtures/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/fixtures/changelog_modal_page.html +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/fixtures/doctor_env.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/fixtures/flow_model_inventory.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/fixtures/flow_project_listing_media.json +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/fixtures/listing_payload.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/fixtures/seeded_catalog.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_grading.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_model.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_model_governance.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_registry.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/flow_selectors/test_report.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/image_batch/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/image_batch/test_image_manifest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/image_batch/test_jitter_config.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/image_batch/test_observability_events.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/integration/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/integration/conftest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/integration/constants.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/integration/test_docs_ships_in_wheel.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/integration/test_expander_gateway.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/integration/test_storage_gcs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/integration/test_storage_s3.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/conftest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_auth_status_tool.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_character_tools.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_download_error_envelope.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_error_funnel.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_http_transport.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_known_issues_resource.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_mcp_profile_contention.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_migrated_i2v_parity.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_no_spend.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_payload_key_round_trip.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_rate_limit_envelope.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_reference_entity_round_trip.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_resources.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_serve_auth.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_server.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_setup.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_stdio_transport.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_tasks_extension.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_tools_helpers.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_tools_instructions.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_tools_wired.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/mcp/test_upscale_tool.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_canary_classify.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_canary_reexec.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_capture_locale_invariants.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_check_council_memory.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_check_fork_pr_ci.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_check_materiality.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_check_release_artifacts.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_check_repo_hygiene.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_check_test_count.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_check_website_docs_pii.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_codex_plugin.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_extract_har_summary.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_frame_acceptance.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_generate_website_docs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_incident_bundle_quality.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_materiality_backtest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_skillopt_scoring.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_spike_page_pool.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_spike_profile_lease.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_update_sponsors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/scripts/test_workflow_hardening.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_catalog_sync.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_character_create_redaction.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_character_create_saga.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_character_gen_no_direct_post.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_doctor.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_media_attribution.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_media_recovery.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_mentions_observability.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/services/test_mentions_parse.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/smoke/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/smoke/test_profile_account_smoke.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/smoke/test_real_flow.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_about_landing_guard.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_auth.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_batch_outcomes.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_batch_recording.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_batch_ref_wiring.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_browser_manager.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_chain.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_chain_manifest.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_cli_data.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_cli_project.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_cli_update.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_config.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_conftest_isolation.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_data_queries.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_diagnostics_bundle.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_diagnostics_events.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_diagnostics_journal.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_diagnostics_recorder.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_diagnostics_retention.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_diagnostics_sanitize.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_dockerfile_version_pin.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_duration_tab_drift.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_entity_provenance.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_errors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_errors_classification.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_glama_build_spec.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_image_batch_references.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_incident_generation_requests.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_json_output.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_manifest_refs.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_media.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_observability.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_overlay_banner_dismissal.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_paths.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_playwright_pin.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_plugin_manifests.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_profile_lease.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_profile_lease_subprocess.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_profile_store.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_profile_store_locale.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_project_list_urls.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_release_version_sites.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_rich_markup_safety.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_self_documenting_errors.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_server_json.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_smoke.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/test_update_check.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/tools/__init__.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/tools/test_banned.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/tools/test_expander.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/tools/test_invocation.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/tools/test_loader.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/tools/test_registry.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/tools/test_runtime.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/tools/test_spec.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/ui/test_app.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/worker/test_codec.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/worker/test_daemon.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/worker/test_mcp_daemon_race.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/worker/test_queue.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/worker/test_queue_multiprocess.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/tests/worker/test_queue_reconciliation.py +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/ARCHITECTURE.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/CHARACTER.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/SECURITY.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/SPONSORS.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/TOOLS.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/agents.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/index.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/installation.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/onboarding-mockup.html +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/onboarding.md +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/docs/stylesheets/extra.css +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/mkdocs.yml +0 -0
- {gflow_cli-0.84.0 → gflow_cli-0.86.0}/website/requirements.in +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gflow",
|
|
3
|
+
"version": "0.86.0",
|
|
4
|
+
"description": "Reusable development and operations workflows for gflow-cli",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Flavio Oliva",
|
|
7
|
+
"url": "https://github.com/ffroliva"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/ffroliva/gflow-cli",
|
|
10
|
+
"repository": "https://github.com/ffroliva/gflow-cli",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"gflow-cli",
|
|
14
|
+
"codex",
|
|
15
|
+
"google-flow"
|
|
16
|
+
],
|
|
17
|
+
"skills": "./plugins/gflow/skills/",
|
|
18
|
+
"interface": {
|
|
19
|
+
"displayName": "gflow-cli",
|
|
20
|
+
"shortDescription": "Develop, validate, review, and operate gflow-cli.",
|
|
21
|
+
"longDescription": "Project workflows for planning, validation, issue handling, reviews, releases, and Google Flow CLI operations.",
|
|
22
|
+
"developerName": "Flavio Oliva",
|
|
23
|
+
"category": "Developer Tools",
|
|
24
|
+
"capabilities": [
|
|
25
|
+
"Interactive",
|
|
26
|
+
"Write"
|
|
27
|
+
],
|
|
28
|
+
"websiteURL": "https://github.com/ffroliva/gflow-cli",
|
|
29
|
+
"defaultPrompt": [
|
|
30
|
+
"Show the current gflow-cli task with $gflow:status.",
|
|
31
|
+
"Run the gflow-cli quality gates with $gflow:check."
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
# gflow-cli — example environment variables.
|
|
2
|
+
# Copy to `.env` in the directory where you invoke `gflow` (project-local
|
|
3
|
+
# overrides) or to `$GFLOW_CLI_HOME/.env` (machine-wide defaults; used by
|
|
4
|
+
# processes with arbitrary working directories, e.g. the MCP server) and
|
|
5
|
+
# uncomment what you want to override. On conflicts the CWD `.env` wins.
|
|
6
|
+
# All variables are OPTIONAL — defaults work out of the box for most users.
|
|
7
|
+
# Lines below are commented to show the SHIPPED DEFAULT — uncomment to override.
|
|
8
|
+
|
|
9
|
+
# -----------------------------------------------------------------------------
|
|
10
|
+
# Auth & profiles
|
|
11
|
+
# -----------------------------------------------------------------------------
|
|
12
|
+
|
|
13
|
+
# Root directory for Playwright persistent contexts (signed-in Google sessions).
|
|
14
|
+
# Default (via `platformdirs`):
|
|
15
|
+
# Windows: %LOCALAPPDATA%\gflow-cli (e.g. C:\Users\<you>\AppData\Local\gflow-cli)
|
|
16
|
+
# macOS: ~/Library/Application Support/gflow-cli
|
|
17
|
+
# Linux: $XDG_DATA_HOME/gflow-cli (typically ~/.local/share/gflow-cli)
|
|
18
|
+
# GFLOW_CLI_HOME=
|
|
19
|
+
|
|
20
|
+
# Default profile name. When unset, the resolution chain auto-picks (see
|
|
21
|
+
# docs/CONFIGURATION.md § GFLOW_CLI_PROFILE). Override per-call with
|
|
22
|
+
# `--profile <name>`.
|
|
23
|
+
# GFLOW_CLI_PROFILE=default
|
|
24
|
+
|
|
25
|
+
# Maximum wait time (seconds) for `gflow auth login` to complete Google sign-in.
|
|
26
|
+
# Useful for agent pipelines — set low to surface hung logins as exit 12 fast.
|
|
27
|
+
# GFLOW_CLI_AUTH_LOGIN_TIMEOUT=600
|
|
28
|
+
|
|
29
|
+
# Anti-bot pause between prompt submissions in multi-prompt image runs
|
|
30
|
+
# (image batch, t2i --prompts-file/--stdin, gflow run). 'MIN-MAX' seconds, a
|
|
31
|
+
# single number for 0-N, or 0 to disable. Default 0.5-1.5 (small on purpose);
|
|
32
|
+
# widen (e.g. 10-30) if runs hit WAF 403s. The --jitter flag beats this.
|
|
33
|
+
# See docs/CONFIGURATION.md § GFLOW_CLI_JITTER_RANGE.
|
|
34
|
+
# GFLOW_CLI_JITTER_RANGE=0.5-1.5
|
|
35
|
+
|
|
36
|
+
# -----------------------------------------------------------------------------
|
|
37
|
+
# Output paths
|
|
38
|
+
# -----------------------------------------------------------------------------
|
|
39
|
+
|
|
40
|
+
# Where downloaded assets land. Subfolders are created per kind/date:
|
|
41
|
+
# <output_dir>/images/<YYYY-MM-DD>/<job_id>_<index>.png
|
|
42
|
+
# <output_dir>/videos/<YYYY-MM-DD>/<job_id>.mp4
|
|
43
|
+
#
|
|
44
|
+
# Default (via `platformdirs`):
|
|
45
|
+
# Windows: %USERPROFILE%\Downloads\gflow-cli
|
|
46
|
+
# macOS: ~/Downloads/gflow-cli
|
|
47
|
+
# Linux: $XDG_DOWNLOAD_DIR/gflow-cli (falls back to ~/Downloads/gflow-cli)
|
|
48
|
+
# GFLOW_CLI_OUTPUT_DIR=
|
|
49
|
+
|
|
50
|
+
# -----------------------------------------------------------------------------
|
|
51
|
+
# Provider selection
|
|
52
|
+
# -----------------------------------------------------------------------------
|
|
53
|
+
|
|
54
|
+
# Backend to use for generations.
|
|
55
|
+
# flow - reverse-engineered Flow REST API (default, requires Ultra/Pro)
|
|
56
|
+
# official - official Veo SDK (planned for v0.5+, requires Gemini API key)
|
|
57
|
+
# GFLOW_CLI_PROVIDER=flow
|
|
58
|
+
|
|
59
|
+
# -----------------------------------------------------------------------------
|
|
60
|
+
# Prompt tools LLM (--tool creative-director / reverse-engineer / storyboard)
|
|
61
|
+
#
|
|
62
|
+
# Any OpenAI-compatible Chat Completions endpoint: OpenAI, OpenRouter, a
|
|
63
|
+
# corporate gateway, a local proxy, Ollama, or Google's compat endpoint.
|
|
64
|
+
# Provider keys stay with your gateway — gflow only holds the one credential it
|
|
65
|
+
# presents to the endpoint below.
|
|
66
|
+
#
|
|
67
|
+
# NOTE: GFLOW_CLI_GEMINI_API_KEY / GFLOW_CLI_GEMINI_MODEL were REMOVED in
|
|
68
|
+
# v0.46.0 and are not forwarded. Use GFLOW_CLI_LLM_API_KEY — an existing Google
|
|
69
|
+
# AIza… key still works, since the default endpoint is Google's compat surface.
|
|
70
|
+
# -----------------------------------------------------------------------------
|
|
71
|
+
|
|
72
|
+
# Endpoint. This is the on/off switch for the prompt tools.
|
|
73
|
+
# https only, except loopback (127.0.0.1 / localhost / ::1) which may use http.
|
|
74
|
+
# Use 127.0.0.1 rather than localhost — gateways often bind IPv4 only and
|
|
75
|
+
# Windows resolves ::1 first, which stalls.
|
|
76
|
+
# GFLOW_CLI_LLM_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai
|
|
77
|
+
|
|
78
|
+
# Credential for that endpoint (Authorization: Bearer). OPTIONAL — omit it for a
|
|
79
|
+
# keyless local gateway and no header is sent at all.
|
|
80
|
+
# Google key: https://aistudio.google.com/apikey
|
|
81
|
+
# GFLOW_CLI_LLM_API_KEY=
|
|
82
|
+
|
|
83
|
+
# Model, which is also the provider selector since gateways route on it
|
|
84
|
+
# (e.g. openai/gpt-4o-mini). Unset = the gateway chooses.
|
|
85
|
+
# GFLOW_CLI_LLM_MODEL=
|
|
86
|
+
|
|
87
|
+
# -----------------------------------------------------------------------------
|
|
88
|
+
# Cloud storage
|
|
89
|
+
# -----------------------------------------------------------------------------
|
|
90
|
+
|
|
91
|
+
# Upload generated assets directly to a cloud bucket instead of saving local
|
|
92
|
+
# asset copies. Supported schemes:
|
|
93
|
+
# gs:// – Google Cloud Storage (requires: pip install 'gflow-cli[gcs]')
|
|
94
|
+
# s3:// – Amazon S3 or any S3-compatible store, e.g. MinIO
|
|
95
|
+
# (requires: pip install 'gflow-cli[s3]')
|
|
96
|
+
#
|
|
97
|
+
# Examples:
|
|
98
|
+
# GFLOW_CLI_STORAGE_URI=gs://my-gcs-bucket/gflow/
|
|
99
|
+
# GFLOW_CLI_STORAGE_URI=s3://my-s3-bucket/gflow/
|
|
100
|
+
# GFLOW_CLI_STORAGE_URI=s3://gflow-test/gflow/ # MinIO local dev
|
|
101
|
+
#
|
|
102
|
+
# For S3 / MinIO you also need the standard AWS SDK env vars:
|
|
103
|
+
# AWS_ACCESS_KEY_ID=minioadmin
|
|
104
|
+
# AWS_SECRET_ACCESS_KEY=minioadmin
|
|
105
|
+
# AWS_ENDPOINT_URL=http://localhost:9000 # omit for real AWS
|
|
106
|
+
# AWS_DEFAULT_REGION=us-east-1
|
|
107
|
+
#
|
|
108
|
+
# For GCS (local emulator):
|
|
109
|
+
# STORAGE_EMULATOR_HOST=http://localhost:4443
|
|
110
|
+
#
|
|
111
|
+
# When unset, assets are saved to GFLOW_CLI_OUTPUT_DIR (local disk). gflow-cli
|
|
112
|
+
# does not dual-write local + cloud copies; configure one storage target per run.
|
|
113
|
+
# GFLOW_CLI_STORAGE_URI=
|
|
114
|
+
|
|
115
|
+
# -----------------------------------------------------------------------------
|
|
116
|
+
# Runtime tuning
|
|
117
|
+
# -----------------------------------------------------------------------------
|
|
118
|
+
|
|
119
|
+
# Per-request HTTP timeout (seconds). Veo videos can take 60-180s each.
|
|
120
|
+
# GFLOW_CLI_TIMEOUT_SECONDS=600
|
|
121
|
+
|
|
122
|
+
# Logging level — DEBUG | INFO | WARNING | ERROR
|
|
123
|
+
# GFLOW_CLI_LOG_LEVEL=INFO
|
|
124
|
+
|
|
125
|
+
# Log format — auto | text | json
|
|
126
|
+
# auto = text on TTY, json when piped (default)
|
|
127
|
+
# GFLOW_CLI_LOG_FORMAT=auto
|
|
128
|
+
|
|
129
|
+
# Per-worker Playwright Page-pool size (1-16). FlowApiClient opens N Pages
|
|
130
|
+
# inside one shared persistent BrowserContext. No current CLI command fans
|
|
131
|
+
# out multiple generations concurrently through this pool, so raising it has
|
|
132
|
+
# no effect today. ~30-60 MiB memory per Page on Chromium headless if that
|
|
133
|
+
# changes; don't exceed 8 without measuring. Shipped in v0.4.0a2.
|
|
134
|
+
# GFLOW_CLI_CONCURRENCY=1
|
|
135
|
+
|
|
136
|
+
# Seconds to wait for another gflow process to release the profile lease
|
|
137
|
+
# before giving up with ProfileLockedError (0 = fail fast, the default).
|
|
138
|
+
# Holders always run to completion; the waiter takes over on release (#478).
|
|
139
|
+
# GFLOW_CLI_LEASE_WAIT_SECONDS=0
|
|
140
|
+
|
|
141
|
+
# Once-a-day best-effort PyPI check that shows an update banner on stderr when
|
|
142
|
+
# a newer gflow-cli exists (#479; one plain line when stderr is piped). Never
|
|
143
|
+
# blocks; skipped in CI and for editable/source installs. Set to 0 to disable.
|
|
144
|
+
# Upgrade with `gflow update`.
|
|
145
|
+
# GFLOW_CLI_UPDATE_CHECK=1
|
|
146
|
+
|
|
147
|
+
# Whether generation prompts (and the prompt-derived display names used as the
|
|
148
|
+
# picker search key) are stored in the local catalog — store | redacted.
|
|
149
|
+
# Under 'redacted', `gflow doctor` reports missing display names as info
|
|
150
|
+
# (backfill is deliberately suppressed) instead of warn, and name backfill via
|
|
151
|
+
# `gflow data sync --names` requires switching back to 'store' first.
|
|
152
|
+
# GFLOW_CLI_HISTORY_PROMPTS=store
|
|
153
|
+
|
|
154
|
+
# MCP no-spend mode (#496): when set to 1, the MCP server (gflow mcp run AND
|
|
155
|
+
# gflow serve) never registers the credit-spending generate tools — agents
|
|
156
|
+
# cannot see them in tools/list. Equivalent to the --no-spend flag.
|
|
157
|
+
# GFLOW_MCP_NO_SPEND=0
|
|
158
|
+
|
|
159
|
+
# Run Playwright in headless mode for non-`auth login` commands (true|false).
|
|
160
|
+
# Default: false — headed real Chrome is the PRODUCTION default, not a
|
|
161
|
+
# fallback. The ui_automation transport (the only production transport)
|
|
162
|
+
# requires headed Chrome: reCAPTCHA Enterprise rejects headless Chromium
|
|
163
|
+
# outright (immediate 403). Only set true for CI/CD on a non-ui_automation
|
|
164
|
+
# transport (bearer/sapisidhash, experimental). For WAF-sensitive runs, pin
|
|
165
|
+
# GFLOW_CLI_HEADLESS=false explicitly rather than relying on the default.
|
|
166
|
+
# GFLOW_CLI_HEADLESS=false
|
|
167
|
+
|
|
168
|
+
# Screen position X,Y of the headed generation browser. Default -30000,-30000 opens it
|
|
169
|
+
# off-screen: still real headed Chrome (reCAPTCHA unaffected), just not over your
|
|
170
|
+
# desktop. Set 0,0 (or a second monitor's origin) to watch or debug a run; set empty
|
|
171
|
+
# for Chrome's own placement. It does NOT stop Chrome taking keyboard focus at launch.
|
|
172
|
+
# Login windows are always visible: for an account chooser / consent screen, run
|
|
173
|
+
# `gflow auth login --profile <name>` rather than making this window visible.
|
|
174
|
+
# GFLOW_CLI_BROWSER_WINDOW_POSITION=-30000,-30000
|
|
175
|
+
|
|
176
|
+
# Browser automation engine — playwright (default) | patchright
|
|
177
|
+
# patchright is an OPT-IN, drop-in patched Playwright (Chromium) that avoids the
|
|
178
|
+
# Runtime.enable CDP leak for stronger reCAPTCHA-Enterprise evasion on the HEADED
|
|
179
|
+
# path. It is NOT a headless unlock. Requires a separate install:
|
|
180
|
+
# pip install patchright (or: pip install 'gflow-cli[patchright]')
|
|
181
|
+
# When using system Chrome (channel=chrome, the gflow default) you do NOT need
|
|
182
|
+
# `patchright install chromium`. Unset to revert to the default playwright engine.
|
|
183
|
+
# GFLOW_CLI_BROWSER_ENGINE=playwright
|
|
184
|
+
|
|
185
|
+
# Which Flow UI arm a command needs: auto (default — no arm asked for, so it
|
|
186
|
+
# resolves to classic, the arm that can satisfy a generation request) | classic
|
|
187
|
+
# (require the hard aspect controls) | agentic (require the chat surface; needed
|
|
188
|
+
# for -i instructions). gflow switches to the required arm, verifies via re-probe,
|
|
189
|
+
# and aborts with exit 28 (retryable — the cohort flaps per load) if it can't be
|
|
190
|
+
# reached. -i instructions force agentic automatically. See docs/CONFIGURATION.md.
|
|
191
|
+
# GFLOW_CLI_UI_MODE=auto
|
|
192
|
+
|
|
193
|
+
# Which Flow frontend gflow drives (#639). auto (default): flow.google.com is the
|
|
194
|
+
# default host for what it can serve today (video t2v; video i2v from a local
|
|
195
|
+
# --initial-frame; video r2v from local --ref files; image t2i; and image i2i from
|
|
196
|
+
# local files — all with --project) on every
|
|
197
|
+
# account; requests it cannot serve yet keep the labs driver on an unmoved
|
|
198
|
+
# account; where Flow serves flow.google.com you get the migrated composer for
|
|
199
|
+
# everything ported to it.
|
|
200
|
+
# flow.google.com: force the migrated composer for everything.
|
|
201
|
+
# labs.google: never use it — where Flow serves flow.google.com, requests fail
|
|
202
|
+
# with exit 36 (kill switch).
|
|
203
|
+
# GFLOW_CLI_FLOW_HOST=auto
|
|
204
|
+
|
|
205
|
+
# Agent-only composer (#799): "Confirm before generating" applied before a run.
|
|
206
|
+
# account (default): leave the Flow account's setting; gflow approves one
|
|
207
|
+
# confirmation its own submit produced and stops on a second. Only that second
|
|
208
|
+
# one is stopped before billing: one confirmation can cover several clips, and an
|
|
209
|
+
# over-count under it is caught after the fact.
|
|
210
|
+
# always: set Always. never: set Never — no approval step, so an agent that
|
|
211
|
+
# queues more than asked is only caught after credits are spent.
|
|
212
|
+
# Saved to the Flow account and not restored after the run.
|
|
213
|
+
# GFLOW_CLI_AGENT_CONFIRM=account
|
|
214
|
+
|
|
215
|
+
# DEPRECATED — use GFLOW_CLI_UI_MODE=classic. true maps to ui_mode=classic, but the
|
|
216
|
+
# old silent agentic fallback is gone: a classic-required run now aborts (exit 28).
|
|
217
|
+
# GFLOW_CLI_PREFER_CLASSIC=false
|
|
218
|
+
|
|
219
|
+
# DEPRECATED — use GFLOW_CLI_UI_MODE=agentic. true maps to ui_mode=agentic.
|
|
220
|
+
# GFLOW_CLI_FORCE_AGENT_UI=false
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
# BCP-47 locale tag passed to Playwright's launch `locale=` parameter
|
|
224
|
+
# (controls Accept-Language only — Chrome's UI language is forced to
|
|
225
|
+
# en-US via the `--lang=en-US` launch arg regardless of this setting, so
|
|
226
|
+
# Flow stays on /fx/tools/flow/ instead of /fx/<locale>/). Default:
|
|
227
|
+
# `en-US`. Override to capture locale-invariant DOM via
|
|
228
|
+
# scripts/dev/capture_locale_invariants.py or to live-verify a non-EN
|
|
229
|
+
# language end-to-end (see KNOWN_ISSUES § issue #24).
|
|
230
|
+
# GFLOW_CLI_LOCALE=en-US
|
|
231
|
+
|
|
232
|
+
# Display name of the --project project, used by `gflow video i2v` to select
|
|
233
|
+
# the target project in the media picker's project menu when attaching a
|
|
234
|
+
# media-UUID frame (#287 — the menu lists projects by NAME; unnamed projects
|
|
235
|
+
# show only creation timestamps). Same as the `--project-name` flag, which
|
|
236
|
+
# takes precedence when both are set. Escape hatch when automatic name
|
|
237
|
+
# derivation (tab title / page hints) fails.
|
|
238
|
+
# GFLOW_CLI_PROJECT_NAME=
|
|
239
|
+
|
|
240
|
+
# -----------------------------------------------------------------------------
|
|
241
|
+
# Debugging (see docs/CONFIGURATION.md; HAR/traceback are opt-in and can
|
|
242
|
+
# expose secrets)
|
|
243
|
+
# -----------------------------------------------------------------------------
|
|
244
|
+
|
|
245
|
+
# Automatic private incident bundles (DEFAULT: true). On relevant operational
|
|
246
|
+
# failures (Flow app crash, UI drift, transport timeout, WAF/network errors,
|
|
247
|
+
# profile-lock contention) gflow writes a bounded diagnostic bundle under
|
|
248
|
+
# <GFLOW_CLI_HOME>/incidents/. Automatic JSON is allowlisted structural
|
|
249
|
+
# metadata only; screenshots live under sensitive/ and must be reviewed
|
|
250
|
+
# before sharing. Nothing is ever uploaded. Set false to disable.
|
|
251
|
+
# GFLOW_CLI_INCIDENT_CAPTURE=true
|
|
252
|
+
|
|
253
|
+
# Captures full Playwright network traffic (requests, responses, headers,
|
|
254
|
+
# cookies) to this HAR file for the session. SECURITY: a HAR file contains
|
|
255
|
+
# live auth cookies and bearer tokens -- never share one publicly.
|
|
256
|
+
# GFLOW_CLI_HAR_PATH=
|
|
257
|
+
|
|
258
|
+
# Prints the real exception message + traceback for unhandled errors, to the
|
|
259
|
+
# console and (under --json) into the payload, instead of the generic
|
|
260
|
+
# placeholder. SECURITY: may leak tokens/cookies present in exception text.
|
|
261
|
+
# GFLOW_CLI_DEBUG_TRACEBACK=
|
|
262
|
+
|
|
263
|
+
# -----------------------------------------------------------------------------
|
|
264
|
+
# Headless Daemon (gflow serve)
|
|
265
|
+
# -----------------------------------------------------------------------------
|
|
266
|
+
|
|
267
|
+
# API Token header for gflow serve authentication (required when binding to non-local interface, e.g. 0.0.0.0).
|
|
268
|
+
# GFLOW_DAEMON_TOKEN=
|
|
269
|
+
|
|
270
|
+
# Port for gflow serve. Default is 8000.
|
|
271
|
+
# GFLOW_DAEMON_PORT=8000
|
|
272
|
+
|
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [develop, main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
# Least-privilege default token for every job (OpenSSF Scorecard:
|
|
9
|
+
# Token-Permissions). Jobs that need more elevate per-job below.
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
13
|
+
env:
|
|
14
|
+
# Suppress Node.js deprecation warnings and align with user request to use Node 22/remove noise.
|
|
15
|
+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
|
16
|
+
NODE_VERSION: '22'
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
# ── Security gate: runs first, on every push/PR, never skippable ──────────
|
|
20
|
+
secrets-scan:
|
|
21
|
+
name: Secret scan (gitleaks)
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
permissions:
|
|
24
|
+
contents: read
|
|
25
|
+
pull-requests: write # gitleaks-action PR feedback comments
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
28
|
+
with:
|
|
29
|
+
persist-credentials: false
|
|
30
|
+
fetch-depth: 0 # full history so gitleaks can diff against base
|
|
31
|
+
|
|
32
|
+
- name: Run gitleaks
|
|
33
|
+
uses: gitleaks/gitleaks-action@e0c47f4f8be36e29cdc102c57e68cb5cbf0e8d1e # v3
|
|
34
|
+
env:
|
|
35
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
36
|
+
|
|
37
|
+
# ── Security gate: dependency CVE audit against locked deps ──────────────
|
|
38
|
+
deps-audit:
|
|
39
|
+
name: Dependency audit (pip-audit)
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
43
|
+
with:
|
|
44
|
+
persist-credentials: false
|
|
45
|
+
- name: Install uv
|
|
46
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
47
|
+
- name: Audit locked dependencies for known CVEs
|
|
48
|
+
# Fails the build on any known advisory. Accept later via: pip-audit --ignore-vuln <GHSA-id>
|
|
49
|
+
#
|
|
50
|
+
# `--all-extras` is REQUIRED, not tidiness. Without it `uv export` emits
|
|
51
|
+
# only the default dependency group, so everything reachable solely
|
|
52
|
+
# through an optional extra is never audited. That blind spot was real:
|
|
53
|
+
# aiohttp 3.13.5 and pyasn1 0.6.3 sat in uv.lock with published high
|
|
54
|
+
# advisories while this gate reported clean, because both arrive via the
|
|
55
|
+
# `gcs`/`s3` extras (gcsfs / s3fs / google-auth). GitHub's Dependabot
|
|
56
|
+
# alerts flagged them against uv.lock; this gate could not see them.
|
|
57
|
+
run: |
|
|
58
|
+
uv export --frozen --all-extras --format requirements-txt --no-emit-project > requirements-audit.txt
|
|
59
|
+
# pip-audit version pinned for a reproducible gate (uvx has no
|
|
60
|
+
# dependabot ecosystem — bump by hand when it drifts).
|
|
61
|
+
uvx pip-audit==2.10.1 -r requirements-audit.txt
|
|
62
|
+
|
|
63
|
+
# ── Security gate: static analysis of the workflows themselves ───────────
|
|
64
|
+
# Everything else in this file audits the Python we ship. Nothing audited the
|
|
65
|
+
# CI that ships it, and CI is a supply-chain surface in its own right: it
|
|
66
|
+
# holds a repository token, it publishes to PyPI, and its inputs (branch
|
|
67
|
+
# names, PR titles, fork content) are attacker-controllable text.
|
|
68
|
+
#
|
|
69
|
+
# zizmor is what turns that into a gate. It found real defects on its first
|
|
70
|
+
# run over this repo (#565): 12 checkouts persisting the job token into the
|
|
71
|
+
# workspace, and `${{ github.base_ref }}` interpolated straight into a
|
|
72
|
+
# governance-advisory shell script. Both are fixed; this job is what stops
|
|
73
|
+
# them coming back one copy-pasted step at a time.
|
|
74
|
+
workflow-audit:
|
|
75
|
+
name: Workflow audit (zizmor)
|
|
76
|
+
runs-on: ubuntu-latest
|
|
77
|
+
steps:
|
|
78
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
79
|
+
with:
|
|
80
|
+
persist-credentials: false
|
|
81
|
+
|
|
82
|
+
- name: Install uv
|
|
83
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
84
|
+
|
|
85
|
+
- name: Audit workflows (zizmor)
|
|
86
|
+
# --offline: the online audits need a GH token and reach the network, so
|
|
87
|
+
# they would make this gate non-deterministic and unrunnable on fork
|
|
88
|
+
# PRs. Action freshness/pinning is already covered by Dependabot plus
|
|
89
|
+
# Scorecard's Pinned-Dependencies check.
|
|
90
|
+
# --min-severity low: informational findings are advisory, not defects.
|
|
91
|
+
# The one open today is `superfluous-actions` on
|
|
92
|
+
# softprops/action-gh-release; rewriting the release publisher is not
|
|
93
|
+
# a hardening change and is deliberately declined (docs/GITHUB.md).
|
|
94
|
+
# Version pinned for a reproducible gate — uvx has no Dependabot
|
|
95
|
+
# ecosystem, so bump it by hand (the pin is asserted by
|
|
96
|
+
# tests/scripts/test_workflow_hardening.py, which fails if the two drift).
|
|
97
|
+
run: uvx zizmor==1.29.0 --offline --min-severity low .github/workflows/
|
|
98
|
+
|
|
99
|
+
# ── Supply-chain gate: resolve WITHOUT the lockfile ───────────────────────
|
|
100
|
+
# Every other job installs via `uv sync`, which honours uv.lock. That means CI
|
|
101
|
+
# never exercises the version RANGES in pyproject.toml — the exact blind spot
|
|
102
|
+
# that let `mcp>=1.0.0` (unbounded) ship a broken MCP surface to every fresh
|
|
103
|
+
# `pip install gflow-cli` while CI stayed green: mcp 2.0.0 deleted
|
|
104
|
+
# `mcp.server.fastmcp`, which the server imports at module load.
|
|
105
|
+
#
|
|
106
|
+
# This job installs the way a USER does — from the declared ranges, newest
|
|
107
|
+
# compatible versions, no lockfile — and smoke-imports the surfaces that break
|
|
108
|
+
# first. It is what turns "a dependency published a major bump" from a user
|
|
109
|
+
# bug report into a CI failure.
|
|
110
|
+
resolve-drift:
|
|
111
|
+
name: Dependency resolution drift (no lockfile)
|
|
112
|
+
runs-on: ubuntu-latest
|
|
113
|
+
steps:
|
|
114
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
115
|
+
with:
|
|
116
|
+
persist-credentials: false
|
|
117
|
+
|
|
118
|
+
- name: Install uv
|
|
119
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
120
|
+
|
|
121
|
+
- name: Set up Python
|
|
122
|
+
run: uv python install 3.13
|
|
123
|
+
|
|
124
|
+
- name: Install from pyproject ranges (ignore uv.lock)
|
|
125
|
+
# --upgrade resolves to the newest versions the ranges allow, so a newly
|
|
126
|
+
# published major that our bounds do not exclude is caught here.
|
|
127
|
+
run: |
|
|
128
|
+
uv venv
|
|
129
|
+
uv pip install --upgrade .
|
|
130
|
+
|
|
131
|
+
- name: Smoke-import the MCP surface
|
|
132
|
+
# Import-time failures (deleted modules, moved symbols) surface here.
|
|
133
|
+
# Registration is a decorator side effect, so a successful import with a
|
|
134
|
+
# non-empty tool registry proves the whole surface still wires up.
|
|
135
|
+
run: |
|
|
136
|
+
uv run --no-sync python - <<'PY'
|
|
137
|
+
from gflow_cli.mcp.server import server, run_stdio, run_http, run_sse
|
|
138
|
+
from gflow_cli.mcp import prompts, resources, tools # noqa: F401
|
|
139
|
+
|
|
140
|
+
n_tools = len(server._tool_manager._tools)
|
|
141
|
+
n_resources = len(server._resource_manager._resources)
|
|
142
|
+
n_prompts = len(server._prompt_manager._prompts)
|
|
143
|
+
print(f"tools={n_tools} resources={n_resources} prompts={n_prompts}")
|
|
144
|
+
assert n_tools, "no MCP tools registered"
|
|
145
|
+
assert n_resources, "no MCP resources registered"
|
|
146
|
+
assert n_prompts, "no MCP prompts registered"
|
|
147
|
+
|
|
148
|
+
import mcp.types as t
|
|
149
|
+
print("negotiable protocol ceiling:", t.LATEST_PROTOCOL_VERSION)
|
|
150
|
+
PY
|
|
151
|
+
|
|
152
|
+
- name: Smoke-run the CLI entry points
|
|
153
|
+
run: |
|
|
154
|
+
uv run --no-sync gflow --version
|
|
155
|
+
uv run --no-sync gflow --help
|
|
156
|
+
uv run --no-sync gflow serve --help
|
|
157
|
+
|
|
158
|
+
- name: Report the resolved versions
|
|
159
|
+
# Printed unconditionally so a green run still records what was resolved.
|
|
160
|
+
if: always()
|
|
161
|
+
run: uv pip list
|
|
162
|
+
|
|
163
|
+
# ── Main test matrix ──────────────────────────────────────────────────────
|
|
164
|
+
test:
|
|
165
|
+
runs-on: ubuntu-latest
|
|
166
|
+
strategy:
|
|
167
|
+
matrix:
|
|
168
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
169
|
+
steps:
|
|
170
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
171
|
+
with:
|
|
172
|
+
persist-credentials: false
|
|
173
|
+
|
|
174
|
+
- name: Install uv
|
|
175
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
176
|
+
|
|
177
|
+
- name: Set up Python
|
|
178
|
+
run: uv python install ${{ matrix.python-version }}
|
|
179
|
+
|
|
180
|
+
# --frozen: install from the committed uv.lock without re-resolving it.
|
|
181
|
+
# Plain `uv sync` REWRITES uv.lock in place, which would silently repair
|
|
182
|
+
# the exact version drift the hygiene gate below exists to catch.
|
|
183
|
+
- name: Install deps
|
|
184
|
+
run: uv sync --frozen --extra dev
|
|
185
|
+
|
|
186
|
+
# --no-sync for the same reason: `uv run` re-locks before running.
|
|
187
|
+
- name: Repo hygiene (no artefacts, no hardcoded paths, version lockstep)
|
|
188
|
+
run: uv run --no-sync python scripts/ci/check_repo_hygiene.py
|
|
189
|
+
|
|
190
|
+
- name: Documentation links
|
|
191
|
+
run: uv run python scripts/ci/check_doc_links.py
|
|
192
|
+
|
|
193
|
+
- name: Website docs PII guard (no private identifiers in the published mirror)
|
|
194
|
+
run: uv run python scripts/ci/check_website_docs_pii.py
|
|
195
|
+
|
|
196
|
+
- name: Website docs mirror in sync (regenerate-and-diff)
|
|
197
|
+
run: uv run python scripts/ci/generate_website_docs.py --check
|
|
198
|
+
|
|
199
|
+
- name: Council memory (every cited slug resolves, every file is cited)
|
|
200
|
+
run: uv run python scripts/ci/check_council_memory.py
|
|
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
|
+
|
|
205
|
+
- name: Lint
|
|
206
|
+
run: uv run ruff check src tests
|
|
207
|
+
|
|
208
|
+
- name: Format check
|
|
209
|
+
run: uv run ruff format --check src tests
|
|
210
|
+
|
|
211
|
+
- name: Type check
|
|
212
|
+
run: uv run pyright src
|
|
213
|
+
|
|
214
|
+
# The overlay-precondition tests (#593) drive the captured changelog markup in
|
|
215
|
+
# a real headless Chromium — a mock cannot tell you whether
|
|
216
|
+
# `[role='dialog']:has(a[href*='changelog']) button` resolves against Flow's
|
|
217
|
+
# actual DOM, only a real CSS engine can. They skip cleanly when the browser is
|
|
218
|
+
# absent, which would make them silently decorative in CI, so one job in the
|
|
219
|
+
# matrix installs it. No account, no network, no credits.
|
|
220
|
+
- name: Install Chromium (real-DOM fixture tests)
|
|
221
|
+
if: matrix.python-version == '3.13'
|
|
222
|
+
run: uv run playwright install chromium --with-deps
|
|
223
|
+
|
|
224
|
+
- name: Test (smoke only) + coverage
|
|
225
|
+
# e2e/live tests require a logged-in Chromium profile and may spend
|
|
226
|
+
# Flow credits. pyproject.toml excludes both markers by default; CI
|
|
227
|
+
# intentionally relies on that default smoke set.
|
|
228
|
+
# -n auto: pytest-xdist, one worker per runner vCPU (~2x on the full suite;
|
|
229
|
+
# 198 s vs ~390 s measured locally at -n 8).
|
|
230
|
+
run: uv run python -m pytest -q -n auto --cov=gflow_cli --cov-report=xml --junitxml=pytest-report.xml
|
|
231
|
+
|
|
232
|
+
# Five files under tests/e2e/ are hermetic: every Flow origin is served by
|
|
233
|
+
# `page.route(...).fulfill(...)`, so they need no account, no profile, no
|
|
234
|
+
# network and no credits — only the Chromium installed above. They are the
|
|
235
|
+
# regression tests for #593, #773, #859 and #860, and because `-m e2e` is
|
|
236
|
+
# excluded by pyproject's addopts and no job overrode it, they ran nowhere:
|
|
237
|
+
# a regression of any of those fixes would have gone green. They are the
|
|
238
|
+
# only e2e tests that CAN run here; the other 42 need a logged-in profile.
|
|
239
|
+
- name: E2E (hermetic subset — route-intercepted, $0, no profile)
|
|
240
|
+
if: matrix.python-version == '3.13'
|
|
241
|
+
run: >
|
|
242
|
+
uv run python -m pytest -q -m e2e
|
|
243
|
+
tests/e2e/test_account_chooser_e2e.py
|
|
244
|
+
tests/e2e/test_blocking_dialog_dismissal_bdd.py
|
|
245
|
+
tests/e2e/test_click_attribution_bdd.py
|
|
246
|
+
tests/e2e/test_frame_picker_binding_bdd.py
|
|
247
|
+
tests/e2e/test_landing_state_diagnosis_bdd.py
|
|
248
|
+
--junitxml=pytest-e2e-hermetic.xml
|
|
249
|
+
|
|
250
|
+
- name: E2E-count guard (an empty e2e run is not a passing e2e run)
|
|
251
|
+
if: matrix.python-version == '3.13'
|
|
252
|
+
run: uv run python scripts/ci/check_test_count.py pytest-e2e-hermetic.xml 10
|
|
253
|
+
|
|
254
|
+
- name: Test-count guard (a green build that ran nothing is not green)
|
|
255
|
+
# Floor well below the real count (~2900): catches collection collapse
|
|
256
|
+
# (bad marker/-k filter, broken conftest), never routine deletions.
|
|
257
|
+
run: uv run python scripts/ci/check_test_count.py pytest-report.xml 2000
|
|
258
|
+
|
|
259
|
+
# Upload coverage XML so the sonar job can consume it. It must come from the job
|
|
260
|
+
# that installs Chromium: the real-DOM fixture tests skip everywhere else, so a
|
|
261
|
+
# 3.11 upload counted every browser-tested module as uncovered (#989's
|
|
262
|
+
# agent_only_composer.py measured 39% new coverage with its tests green).
|
|
263
|
+
- name: Upload coverage report
|
|
264
|
+
if: matrix.python-version == '3.13'
|
|
265
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
|
|
266
|
+
with:
|
|
267
|
+
name: coverage-xml
|
|
268
|
+
path: coverage.xml
|
|
269
|
+
retention-days: 1
|
|
270
|
+
|
|
271
|
+
# ── Focused OS matrix: ProfileLease cross-process contract (Task D2) ──────
|
|
272
|
+
# Everything else in this file runs Ubuntu-only (the `test` job above).
|
|
273
|
+
# This job exists because ProfileLease's kernel lock is genuinely
|
|
274
|
+
# OS-specific (msvcrt.locking on Windows vs. fcntl.flock on POSIX) and D1's
|
|
275
|
+
# local Windows-only run left the POSIX fcntl branch reasoned-but-unexecuted
|
|
276
|
+
# (see .superpowers/sdd/task-D1-report.md). Runs ONLY the lease unit +
|
|
277
|
+
# subprocess tests, not the full suite.
|
|
278
|
+
profile-lease-matrix:
|
|
279
|
+
name: ProfileLease (${{ matrix.os }})
|
|
280
|
+
runs-on: ${{ matrix.os }}
|
|
281
|
+
env:
|
|
282
|
+
PYTHONUTF8: "1"
|
|
283
|
+
strategy:
|
|
284
|
+
fail-fast: false
|
|
285
|
+
matrix:
|
|
286
|
+
os: [windows-latest, macos-latest, ubuntu-latest]
|
|
287
|
+
steps:
|
|
288
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
289
|
+
with:
|
|
290
|
+
persist-credentials: false
|
|
291
|
+
|
|
292
|
+
- name: Install uv
|
|
293
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
294
|
+
|
|
295
|
+
- name: Set up Python
|
|
296
|
+
run: uv python install 3.13
|
|
297
|
+
|
|
298
|
+
- name: Install deps
|
|
299
|
+
run: uv sync --extra dev
|
|
300
|
+
|
|
301
|
+
- name: ProfileLease unit + subprocess tests
|
|
302
|
+
run: uv run python -m pytest tests/test_profile_lease.py tests/test_profile_lease_subprocess.py -q --junitxml=pytest-lease.xml
|
|
303
|
+
|
|
304
|
+
- name: Test-count guard (lease matrix ran its suite)
|
|
305
|
+
# Floor well below the ~29 executed per OS leg — catches collapse, not
|
|
306
|
+
# routine test consolidation.
|
|
307
|
+
run: uv run python scripts/ci/check_test_count.py pytest-lease.xml 10
|
|
308
|
+
|
|
309
|
+
# ── SonarCloud analysis ───────────────────────────────────────────────────
|
|
310
|
+
sonar:
|
|
311
|
+
name: SonarCloud analysis
|
|
312
|
+
runs-on: ubuntu-latest
|
|
313
|
+
needs: test # wait for tests + coverage report
|
|
314
|
+
permissions:
|
|
315
|
+
contents: read
|
|
316
|
+
pull-requests: read # PR-context analysis / decoration lookups
|
|
317
|
+
# Forked pull_request runs do not receive repository secrets, so SONAR_TOKEN
|
|
318
|
+
# is empty there and the scanner fails before analysis. Dependabot-triggered
|
|
319
|
+
# runs are the same case: GitHub serves them the separate Dependabot secrets
|
|
320
|
+
# namespace, so SONAR_TOKEN is also empty even though the branch is in-repo.
|
|
321
|
+
# Keep SonarCloud on trusted pushes/internal PRs where the token is available.
|
|
322
|
+
if: >
|
|
323
|
+
always() &&
|
|
324
|
+
github.actor != 'dependabot[bot]' &&
|
|
325
|
+
(
|
|
326
|
+
github.event_name != 'pull_request' ||
|
|
327
|
+
github.event.pull_request.head.repo.full_name == github.repository
|
|
328
|
+
)
|
|
329
|
+
steps:
|
|
330
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
331
|
+
with:
|
|
332
|
+
persist-credentials: false
|
|
333
|
+
fetch-depth: 0 # shallow clones break blame / new-code detection
|
|
334
|
+
|
|
335
|
+
- name: Download coverage report
|
|
336
|
+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
|
|
337
|
+
with:
|
|
338
|
+
name: coverage-xml
|
|
339
|
+
continue-on-error: true # graceful if coverage upload was skipped
|
|
340
|
+
|
|
341
|
+
# SonarCloud is a third-party service; it does have outages (seen live
|
|
342
|
+
# 2026-07-16, ~504s across its whole API including the unauthenticated
|
|
343
|
+
# /api/system/status endpoint). Reassessed fresh on every run — no manual
|
|
344
|
+
# flag to remember to flip back once it recovers. A skip here still lets
|
|
345
|
+
# the job COMPLETE (green), it just doesn't run the scan step; local
|
|
346
|
+
# coverage during an outage comes from the shared SonarQube instance
|
|
347
|
+
# (scripts/dev/sonar-local-scan.sh) — see docs/GITHUB.md § SonarCloud
|
|
348
|
+
# outage handling.
|
|
349
|
+
- name: Check SonarCloud availability
|
|
350
|
+
id: sonarcloud_health
|
|
351
|
+
run: |
|
|
352
|
+
if curl -sf -m 10 "https://sonarcloud.io/api/system/status" | grep -q '"status":"UP"'; then
|
|
353
|
+
echo "up=true" >> "$GITHUB_OUTPUT"
|
|
354
|
+
else
|
|
355
|
+
echo "up=false" >> "$GITHUB_OUTPUT"
|
|
356
|
+
echo "::warning::SonarCloud is unreachable or degraded — skipping the scan for this run (not a code quality failure). Verify locally with scripts/dev/sonar-local-scan.sh before merging if this persists, and re-run this job once SonarCloud recovers."
|
|
357
|
+
fi
|
|
358
|
+
|
|
359
|
+
- name: SonarCloud scan
|
|
360
|
+
if: steps.sonarcloud_health.outputs.up == 'true'
|
|
361
|
+
# sonarcloud-github-action is ARCHIVED upstream (dependabot never bumps
|
|
362
|
+
# archived actions, so its pin would rot silently); sonarqube-scan-action
|
|
363
|
+
# is SonarSource's maintained successor and serves SonarCloud when
|
|
364
|
+
# SONAR_HOST_URL points at it.
|
|
365
|
+
uses: SonarSource/sonarqube-scan-action@d209202bc7d53ff1cc128f7f907dac145c9d6ae9 # v8.3.0
|
|
366
|
+
env:
|
|
367
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # PR decoration
|
|
368
|
+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # set in repo → Settings → Secrets
|
|
369
|
+
SONAR_HOST_URL: https://sonarcloud.io
|