gflow-cli 0.91.0__tar.gz → 0.92.1__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.91.0 → gflow_cli-0.92.1}/.codex-plugin/plugin.json +1 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.env.template +1 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/ci.yml +150 -22
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.gitignore +4 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/AGENTS.md +1 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/CHANGELOG.md +57 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/PKG-INFO +1 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/conftest.py +34 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docker/Dockerfile +1 -1
- {gflow_cli-0.91.0/website → gflow_cli-0.92.1}/docs/CONFIGURATION.md +5 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/GITHUB.md +27 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/INDEX.md +1 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.91.0.md +5 -1
- gflow_cli-0.92.1/docs/LIVE_VERIFICATION_v0.92.0.md +46 -0
- gflow_cli-0.92.1/docs/LIVE_VERIFICATION_v0.92.1.md +69 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/MCP.md +4 -4
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/PROJECT_STATUS.md +40 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/REFERENCE_STRATEGIES.md +1 -1
- gflow_cli-0.92.1/docs/superpowers/spikes/2026-10-29-cross-device-relocate.md +57 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/llms.txt +2 -2
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/gflow/.claude-plugin/plugin.json +1 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1/plugins/gflow}/skills/gflow-cli/SKILL.md +1 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/pyproject.toml +4 -1
- gflow_cli-0.92.1/pytest-speed.toml +8 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_test_count.py +14 -6
- gflow_cli-0.92.1/scripts/ci/pytest_speed/VERSION +2 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/__main__.py +241 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/ab.py +80 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/check.py +194 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/compare.py +83 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/durations.py +17 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/fixture_timer.py +62 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/junit.py +52 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/rebuild_log.py +67 -0
- gflow_cli-0.92.1/scripts/ci/pytest_speed/vendor.py +45 -0
- gflow_cli-0.92.1/scripts/ci/shard_tests.py +98 -0
- gflow_cli-0.92.1/scripts/dev/mcpjam/README.md +36 -0
- gflow_cli-0.92.1/scripts/dev/mcpjam/cases.json +74 -0
- gflow_cli-0.92.1/scripts/dev/mcpjam/package-lock.json +1899 -0
- gflow_cli-0.92.1/scripts/dev/mcpjam/package.json +19 -0
- gflow_cli-0.92.1/scripts/dev/mcpjam/run.mjs +126 -0
- gflow_cli-0.92.1/scripts/dev/mcpjam/stub.mjs +17 -0
- gflow_cli-0.92.1/scripts/dev/spike_1114_cross_device_relocate.py +175 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/server.json +2 -2
- {gflow_cli-0.91.0/plugins/gflow → gflow_cli-0.92.1}/skills/gflow-cli/SKILL.md +1 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/__init__.py +1 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/client.py +7 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/ui_automation.py +5 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/ui_automation_video.py +7 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_video.py +4 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/errors.py +3 -2
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/mcp/tools.py +116 -21
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/worker/daemon.py +4 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/conftest.py +38 -14
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_bearer.py +7 -2
- gflow_cli-0.92.1/tests/api/transports/test_page_fixture_shares_browser.py +34 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_sapisidhash.py +5 -1
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_transport_timeout.py +16 -7
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_predictable_output.py +31 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_account_chooser_e2e.py +7 -3
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_image_download_failure_records_bdd.py +2 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_landing_state_diagnosis_bdd.py +13 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_upscale_e2e.py +11 -4
- gflow_cli-0.92.1/tests/mcp/test_output_boundary_documented.py +24 -0
- gflow_cli-0.92.1/tests/mcp/test_output_confinement.py +191 -0
- gflow_cli-0.92.1/tests/mcp/test_reference_and_tools_params_documented.py +50 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_tools_wired.py +23 -2
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_upscale_tool.py +11 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_check_test_count.py +22 -0
- gflow_cli-0.92.1/tests/scripts/test_shard_tests.py +84 -0
- gflow_cli-0.92.1/tests/test_durations.json +344 -0
- gflow_cli-0.92.1/tests/test_vendored_pytest_speed.py +23 -0
- gflow_cli-0.92.1/tests/tools/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/worker/test_daemon.py +53 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/uv.lock +3 -3
- {gflow_cli-0.91.0 → gflow_cli-0.92.1/website}/docs/CONFIGURATION.md +5 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/MCP.md +4 -4
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.agents/plugins/marketplace.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/active.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/branch-review.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/changelog.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/check.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/doc-review.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/issue-assessment.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/issue-resolve.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/known-issues.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/live-verify.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/llm-council.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/next.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/plan.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/pr-council-review.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/predict.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/release.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/scenario.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/sonar.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/spike.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude/commands/gflow/status.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.claude-plugin/marketplace.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.gitattributes +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/CODEOWNERS +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/FUNDING.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/copilot-instructions.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/dependabot.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/deps-watch.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/external-pr-triage.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/governance-advisory.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/governance-benchmark.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/labels.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/main-base-guard.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/mcp-registry.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/pages.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/release.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/scorecard.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/sponsors.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.github/workflows/star-history-watch.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.gitleaks.toml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.pre-commit-config.yaml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/.secrets.baseline +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/CLAUDE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/CONFIGURATION.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/CONTRIBUTING.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/DISCLAIMER.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/KNOWN_ISSUES.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/LICENSE +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/RELEASE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/ROADMAP.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/deploy/logrotate-pr-triage +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docker/Dockerfile.test +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docker/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docker/docker-compose.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docker/dockerignore.example +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docker-compose.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/AGENT_GUIDE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/AGENT_UI_E2E.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/AGENT_UI_RECON.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/ARCHITECTURE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/ASSET_TAGGING_RECON.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/AUTHENTICATION.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/CHARACTER.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/CHARACTER_RECON.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/CONTAINER.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/DEMOS.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/DISTRIBUTION.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/E2E_TESTING.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/GOVERNANCE_BENCHMARK.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/IMAGE_UPSCALE_RECON.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_data_layer.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_image_batch.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_playwright_1.61.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_reference_entity_guard.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.10.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.11.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.12.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.13.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.16.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.17.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.18.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.19.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.20.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.20.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.21.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.22.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.23.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.24.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.25.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.26.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.27.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.27.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.28.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.29.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.30.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.31.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.32.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.32.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.33.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.34.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.35.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.36.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.37.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.38.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.38.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.39.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.40.0-production-readiness.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.40.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.41.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.42.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.43.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.44.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.45.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.46.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.46.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.47.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.48.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.49.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.50.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.51.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.52.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.54.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.55.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.56.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.57.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.57.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.58.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.59.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.60.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.61.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.62.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.62.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.63.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.64.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.65.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.66.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.66.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.66.2.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.66.3.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.67.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.68.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.69.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.7.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.70.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.71.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.71.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.72.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.73.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.73.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.73.2.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.74.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.75.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.76.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.77.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.77.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.78.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.79.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.79.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.8.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.80.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.81.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.82.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.82.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.83.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.83.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.83.2.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.84.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.85.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.86.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.87.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.87.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.88.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.89.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.89.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.9.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.9.1.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_v0.90.0.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/LIVE_VERIFICATION_video_download.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/MARKETPLACES.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/MOVIE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/SECURITY.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/SPONSORS.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/TOOLS.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/USAGE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/USER_GUIDE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/assets/demo-split-pf.gif +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/assets/example-run.gif +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/assets/examples.webp +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/medium_tutorial.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/schemas/movie-handoff.schema.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/sonar-cleanup-tracker.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/agents-md-vs-llms-txt.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/background-e2e-pytest-pattern.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/bdd-stubs-mirror-runtime-signatures.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/content-policy-text-scan-false-positives-on-page-chrome.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/credit-free-route-abort-verification.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/data-layer-overview.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/data-layer-test-pollution-trap.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/doc-examples-are-untested-fixtures.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/draft-pr-merge-trap.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/drive-the-page-dont-replay-the-rpc.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/e2e-evidence-is-a-contributor-deliverable.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/exit-code-16-data-store.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/flow-capabilities-are-cohort-dependent.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/flow-credits-videos-only.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/flow-locale-leak-icon-ligatures.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/flow-recon-must-run-on-denon82-ffroliva-migrated.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/force-color-breaks-cli-tests.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/full-test-suite-ooms.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/git-add-all-sweeps-scratch-files.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/image-video-mode-switch-symmetry.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/ligature-carrier-differs-by-host.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/mcp-is-first-class-across-skill-chain.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/memory-is-working-dir-keyed.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/migrated-host-driver-wire-lessons.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/migrated-refusal-is-a-dom-card-not-a-wire-record.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/on-started-callback-recorder-safety.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/playwright-click-no-downstream-event-signature.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/pr-council-review-stale-tree-reads.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/pr-hygiene-revert-and-multi-commit.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/pr-must-verify-on-affected-surface.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/prose-conflicts-hide-in-disjoint-files.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/pypi-readme-staleness-fix.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/pypi-rejected-filename-reusable.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/readme-hybrid-router-pattern.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/real-browser-auth-mandatory.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/release-back-merge-gap-recovery.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/release-signing.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/release-spec-plan-memory-consolidation.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/rest-transports-drop-ui-fields.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/ruff-format-scope-is-src-tests.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/sonarcloud-hotspot-review-workflow.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/sonarcloud-new-code-gotchas.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/sonarcloud-pr-issues-scope-s7497.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/sonarcloud-setup.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/stale-test-discovery.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/structlog-cache-logger-off-for-tests.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/ui-selector-drift-error-exit-23.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/verification-ledger-5-layer.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/video-model-capability-matrix.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/wheel-build-sanity-gate.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/windows-dev-quirks.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/memory/windows-running-launcher-blocks-uv-upgrade.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-12-issue-174-library-ui-attach/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-22-mcp-server/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-22-mcp-server/PREDICT.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-22-mcp-server/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-22-prompt-expansion/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-22-prompt-expansion/PREDICT.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-22-prompt-expansion/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-24-gflow-studio-scaffold/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-24-rest-api-layer/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-06-26-mcp-e2e-test/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-08-pr-triage-autopilot/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-09-camoufox-adoption/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-14-storyboarding-and-visual-curation/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-18-asset-tagging/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-19-live-verify/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-19-production-readiness-browser-lifecycle.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-19-production-readiness-driver-cdp-verification.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-19-production-readiness-public-truth.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-19-production-readiness-queue-safety.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-26-character-prompt-polishing/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-26-project-name-management/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-26-self-documenting-errors/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-27-overlay-banner-dismissal/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-07-27-tier-aware-credit-confirmations/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-04-mcp-tasks/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-04-output-hardening/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-05-issue-317-intra-batch-references/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-05-issue-402-entity-provenance/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-05-issue-451-duration-tab-drift/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-06-driver-delay-jittering/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-06-overlay-changelog-watermark/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-06-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-06-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-14-video-ui-mode-policy/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-21-selector-registry.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-08-25-workflow-hardening-gaps.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-01-video-extend/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-06-spike-tooling-reorg/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-14-community-feedback-uplift/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/ASSESSMENT.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/PREDICT.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-15-agent-only-composer-driver/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-17-gflow-docs-command/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-17-gflow-docs-command/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-09-17-project-create-bundle/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-10-17-migrated-video-extend/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-10-17-migrated-video-extend/PREDICT.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-10-17-migrated-video-extend/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/PLAN.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/PREDICT.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/plans/2026-10-19-catalog-refs-in-project/SCENARIO.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/research/2026-06-27-tool-abstraction-evaluation.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-06-29-issue-assessment-workflow-design.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-07-04-pr-triage-autopilot-design.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-07-18-asset-tagging-design.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-07-19-live-verify-design.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-07-19-production-readiness-hardening-design.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-08-21-selector-registry-design.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-08-26-model-attribution-provenance.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-08-26-model-cost-quota-catalog.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/specs/2026-08-27-changelog-modal-precondition-design.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-07-09-camoufox-waf-403.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-07-12-ui-cohort-backend-config.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-07-17-production-readiness-assessment.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-08-01-mcp-2026-07-28-spec-impact.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-08-14-video-model-capability-matrix.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-08-15-picker-tile-alt-text.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-08-31-veo-extend-route-recon.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-04-migrated-host-handoff-mechanism.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-05-migrated-frames-attach.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-05-migrated-host-wire-protocol.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-05-migrated-model-menu-lower-priority.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-05-migrated-r2v-attach-surface.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-06-labs-vs-migrated-session-credential.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-06-migrated-character-surface-and-recaptcha.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-07-character-format-button-anchor.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-07-credit-shortfall-looks-like-selector-drift.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-07-format-click-is-not-a-format.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-07-ligature-carrier-and-name-drift.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-07-migrated-composer-has-an-image-mode.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-08-g12-blocks-webdriver-not-playwright.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-08-migrated-composer-agent-mode-hides-settings.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-08-migrated-image-submit-wire.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-08-migrated-queue-is-readable-on-zzl0ze.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-08-migrated-upload-fails-two-ways.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-10-about-redirect-stability.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-10-migrated-click-blocked.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-11-about-redirect-is-decided-client-side.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-11-about-redirect-is-stable-for-an-account.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-11-migrated-cookie-bar-blocks-the-composer.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-11-nano2-lite-capability.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-13-frames-picker-confirm.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-14-credits-on-migrated-host.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-14-generation-wire-no-push-channel.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-14-two-domain-protocol-survey.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-14-video-poll-is-a-fixed-client-timer.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-15-agent-only-composer-drive-surface.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-15-container-transport-viability.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-15-unentitled-account-signal.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-16-networkidle-costs-3x-it-does-not-hang.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-17-migrated-end-frame-submit-contract.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-17-project-create-on-flow-google-com.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-17-stranded-clip-recovery.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-19-migrated-video-extend-wire.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-20-warm-client-premint-on-about-blank.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-22-playwright-max-retries-econnreset.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-23-about-cta-leads-to-google-reauth.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-27-migrated-refusal-is-on-the-wire.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-27-stealth-fingerprint-delta.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-09-30-migrated-upscale-wire.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-01-batch-ref-dropped.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-01-recaptcha-error-shape.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-06-948-record-slot3-null.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-08-nano-banana-21-replaced-2.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-10-duration-locale-and-notice-only-cookie-bar.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-13-migrated-image-character-mention.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-14-labs-nextauth-silent-refresh.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-17-agent-only-cohort-profiles.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-17-migrated-extend-ui-path.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-18-rpc-response-body-readback.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-19-earlier-run-ref-in-place.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-19-fourth-ref-caret.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-19-minio-replacement.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-20-migrated-upload-reply-body-eviction.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-21-migrated-submit-reply-body-loss.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-22-credits-balance-on-nzlxg.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-22-image-upscale-lost-body.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-22-labs-session-oracle-gone.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-25-mcp-detached-task-shutdown.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/docs/superpowers/spikes/2026-10-27-lost-video-submit-recovery.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/examples/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/examples/batch_from_config.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/examples/multi_prompt_t2i.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/examples/sample_config.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/examples/sample_prompts.txt +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/examples/single_image_t2i.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/examples/workflow_chain.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/glama.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/hatch_build.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/index.html +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/mempalace.yaml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/gflow/.mcp.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/gflow/skills/video-production/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/gflow/skills/video-production/clip_qa.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/gflow/skills/video-production/composition.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/gflow/skills/video-production/consistency.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/gflow/skills/video-production/failure-modes.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/plugins/gflow/skills/video-production/tasks.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/01_upload_image.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/02_batchAsyncGenerateVideoText.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/03_batchCheckAsyncVideoGenerationStatus.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/04_archive_workflow.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/05_createProject.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/06_batchGenerateImages.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/07_batchGenerateImages_seeded.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/08_batchAsyncGenerateVideoStartAndEndImage.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/09_batchAsyncGenerateVideoReferenceImages.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/10_batchCheckAsyncVideoGenerationStatus_successful.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/11_batchCheckAsyncVideoGenerationStatus_failed.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/12_create_scene.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/13_sceneWorkflows_update.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/14_get_scene_workflows.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/samples/captured/15_commit_flowWorkflow.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/canary/register_task.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/canary/run_canary.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_council_memory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_deletions.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_doc_links.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_fork_pr_ci.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_materiality.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_release_artifacts.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_repo_hygiene.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/check_website_docs_pii.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/generate_plugin_skills.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/generate_website_docs.py +0 -0
- {gflow_cli-0.91.0/src/gflow_cli/tools → gflow_cli-0.92.1/scripts/ci/pytest_speed}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/ci/update_sponsors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/debug_editor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/debug_gen_settings.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/debug_settings.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/_recording_client.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/_spike_common.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/acceptance/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/acceptance/bench.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/acceptance/domain.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/acceptance/judge.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/acceptance/settings.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/active_plan.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_frames_mode_trigger_ligature.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_i2v_frame_slots_dom.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_i2v_intercept_submit.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_i2v_model_select_repro.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_i2v_post_bind_state.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_image_add_media_dom.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_locale_invariants.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_lower_priority_model_cost.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_migrated_attach_rpcs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_migrated_mention_gestures.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_migrated_model_menu.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_migrated_r2v_production_submit.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_migrated_r2v_submit_payload.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_migrated_r2v_surface.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_migrated_upload_flow.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_project_listing.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_r2v_ingredient_lifecycle.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_sidebar_state_dom.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/cdp_drive_and_probe.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/character_create_spike.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/character_create_spike_v2.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/cleanup.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/dump_character_selectors.js +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/capture-agent-ui.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/capture-media-scrape.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/extract_har_summary.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/launch-flow-chrome.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/probe-agent-mode.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/probe_agent_mode.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/run-cdp-smoke.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/start-background-capture.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/start-har-capture.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/stop-background-capture.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/har-spike/stop-har-capture.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/incident_bundle_quality.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/live_verify_mcp_tasks.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/live_verify_policy_400_v060.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/live_verify_video_model_select.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/make_project.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/materiality_backtest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/measure_html_lang_settle.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/measure_locale_probe.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/measure_migrated_host_flip.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/patch_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/skillopt/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/skillopt/harness.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/skillopt/tasks.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/sonar-local-scan.sh +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/sonar-pre-push-gate.sh +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_948_project_records.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_948_submit_envelope.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_963_duration_locale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_995_earlier_run_ref.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_997_fourth_ref_caret.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_about_cta_recovery.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_about_redirect_cause.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_about_redirect_stability.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_agent_confirm_radios.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_agent_only_cohort_profiles.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_agent_only_composer.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_agent_only_video_ready.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_agent_only_video_tile.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_agent_settings_defaults.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_batch_ref_dropped.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_batch_ref_existing_media.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_cdp_har_without_node.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_changelog_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_char_editor_dom.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_char_gen_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_character_editor_ready_gate.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_character_prompt_format.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_create_project_401.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_credits_balance_carrier.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_credits_migrated_surface.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_entity_submit_rpcs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_extend_model_recon.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_extend_ourstack_verify.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_extend_route_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_extend_submit_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_extend_ui_recon.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_flow_unavailable_signal.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_format_prompt_effect.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_frames_picker_confirm.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_generation_wire_survey.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_gif_export_delivery.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_host_lane.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_image_model_attribution.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_image_submit_references.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_image_upscale_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_image_upscale_drive.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_image_upscale_recaptcha_action.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_image_upscale_rest_probe.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_incident_live.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_issue170_picker_locale_recon.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_issue174_library_ui_recon.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_issue313_agent_mode_controls.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_issue314_picker_filename_search.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_issue404_count_tabs_recon.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_labs_nextauth_refresh.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_ligature_carrier_sweep.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_locale_poison.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_lost_submit_recovery.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_mcp_detached_shutdown.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_mention_existing_media.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_aspect_radios.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_body_reference_chip.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_character_body_controls.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_character_editor_anchor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_character_ogiz0b_schema.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_character_submit_wire.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_character_surface.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_click_blocked.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_composer_arms.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_composer_mode_axis.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_cookie_bar.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_create_project.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_duration_by_model.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_editor_dom_inventory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_end_frame.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_entity_submit.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_extend_ui_path.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_frames_attach.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_host_trigger.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_image_capability.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_image_submit.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_picker_option_kind.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_queue_read.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_recaptcha_mint.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_refusal_envelope.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_submit_anchor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_submit_body_loss.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_submit_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_upload_body_eviction.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_upload_wire.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migrated_vs_labs_provenance.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_migration_flag_bootstrap.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_mint_on_about_blank.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_mode_roundtrip.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_mode_switch_agentic_to_classic.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_model_inventory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_movie_attach_payload.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_movie_entity_recon.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_movie_gen_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_movie_picker_select.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_movie_voice_list.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_nano2_lite_capability.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_nano_banana_21_wire.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_networkidle_bootstrap_cost.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_offscreen_window.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_omni_flash_i2v_ui_recon.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_patch_entity.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_patchright.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_picker_chip_removal.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_picker_entity_marker.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_playwright_chrome_login.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_playwright_max_retries.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_project_media_status.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_recaptcha_error_shape.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_recover_stranded_clip.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_ref_gate.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_s3_test_backend.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_session_oracle.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_stealth_fingerprint_delta.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_trpc_origin_referer_401.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_two_domain_protocol_survey.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_upload_token_join.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_upscale_lost_body.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_upscale_menu_anchors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_video_tab_dom.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_video_workflow_id.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/spike_warm_client_unported_form.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/verify_lang_settle_fix.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/verify_language_agnostic.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/verify_locale_navigation_race.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/dev/verify_model_attribution.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/diag/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/diag/capture_flow_traffic.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/diag/diag_aisandbox_bearer.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/diag/memory_profile.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/diag/recaptcha_mint.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/diag/spike_387_openai_compat.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/e2e/agentic_image_e2e.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/e2e/capture_agent_toggle.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/probe/run_probe.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/probe/spike_auth_matrix.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/record_demo.ps1 +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/smoke_image.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/smoke_video_editor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/smoke_worker_style.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/spike_waf_camoufox.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/scripts/verify_chrome_auth_viability.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/README.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/changelog/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/check/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/doc-review/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/issue-assessment/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/issue-resolve/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/known-issues/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/live-verify/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/llm-council/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/plan/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/pr-council-review/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/predict/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/release/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/scenario/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/sonar/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/spike/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/status/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/video-production/SKILL.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/video-production/clip_qa.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/video-production/composition.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/video-production/consistency.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/video-production/failure-modes.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/skills/video-production/tasks.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/sonar-project.properties +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/__main__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/_cli_helpers.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/_engine.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/_retry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/_sapisidhash.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/dto.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/extend_chain.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/image.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/image_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/recaptcha.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/routes.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/scene.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/_common.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/_fingerprint.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/agent_only_composer.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/base.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/batchexecute.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/drivers/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/drivers/agentic.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/drivers/base.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/drivers/classic.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/drivers/factory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/experimental/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/experimental/bearer.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/experimental/evaluate_fetch.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/experimental/sapisidhash.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/migrated_composer.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/migrated_extend.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/migrated_recover.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/migrated_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/migrated_video_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/transports/mode_control.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/video.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/api/video_extend.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/base.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/cookies.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/factory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/internal_chromium.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/real_chrome.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/renew.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/strategies.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/auth/verification.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/browser_manager.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/chain.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/chain_manifest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_credits.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_data.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_docs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_doctor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_image.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_instructions.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_models.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_movie.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_project.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_run.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_scene.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_tools.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/cli_update.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/composition.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/config.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/chain_repo.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0001_initial.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0002_add_cloud_storage.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0003_add_scene_tables.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0004_add_scene_output_path.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0005_add_chain_links.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0006_add_operations_metadata.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0007_queue.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0008_add_operation_expanded_prompt.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/0009_queue_claims.sql +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/migrations/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/models.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/queries.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/recorder.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/redaction.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/repository.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/data/store.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/diagnostics.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/docs_catalog.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/exceptions.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/file_integrity.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/flow_selectors/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/flow_selectors/grading.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/flow_selectors/model.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/flow_selectors/registry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/image_batch.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/json_output.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/mcp/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/mcp/prompts.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/mcp/resources.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/mcp/server.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/mcp/setup.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/mcp/tasks_extension.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/media.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/movie_manifest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/observability.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/paths.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/profile_lease.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/profile_store.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/redaction.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/services/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/services/catalog_sync.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/services/character_create.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/services/credits.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/services/doctor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/services/media_recovery.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/services/mentions.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/services/reference_uploads.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/storage.py +0 -0
- {gflow_cli-0.91.0/src/gflow_cli/tools/builtin → gflow_cli-0.92.1/src/gflow_cli/tools}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/banned.py +0 -0
- {gflow_cli-0.91.0/tests → gflow_cli-0.92.1/src/gflow_cli/tools/builtin}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/builtin/creative-director.toml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/builtin/reverse-engineer.toml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/builtin/storyboard.toml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/expander.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/invocation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/loader.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/registry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/runtime.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/tools/spec.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/ui/app.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/ui/server.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/update_check.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/winsec.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/worker/codec.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/src/gflow_cli/worker/queue.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tasks/lessons.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/test_assets/sample_batch.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/test_assets/sample_batch.tsv +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/test_assets/sample_batch_invalid.tsv +0 -0
- {gflow_cli-0.91.0/tests/api → gflow_cli-0.92.1/tests}/__init__.py +0 -0
- {gflow_cli-0.91.0/tests/api/transports → gflow_cli-0.92.1/tests/api}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/_upscale_fakes.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/fixtures/character_gen_response.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/fixtures/patch_entity_response.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/fixtures/project_initial_data_extend_models.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_aisandbox_auth_error.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_aisandbox_auth_headers.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_aisandbox_auth_remediation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_bearer_redaction.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_bootstrap_chooser.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_character_readback_fallback.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_delete_characters.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_errors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_extend.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_generate_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_image.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_incidents.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_launch_kwargs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_locale_cache.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_migrated_mint.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_patch_entity.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_project_host.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_scene.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_client_window_position.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_concurrency.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_credits.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_diagnostics_boundary_890.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_dto.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_engine.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_extend_chain.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_image.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_image_capability_and_cookie_bar.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_image_dto.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_image_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_migrated_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_migrated_video_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_post_json_aisandbox_auth.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_profile_in_use.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_recaptcha.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_retry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_routes.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_routes_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_routes_locale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_routes_scene.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_sapisidhash_helper.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_scene_models.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_served_route_parked_page.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_upload_reference.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_video.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_video_extend.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_video_request.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/test_video_status_poll.py +0 -0
- {gflow_cli-0.91.0/tests/api/transports/drivers → gflow_cli-0.92.1/tests/api/transports}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/_ogiz0b.py +0 -0
- {gflow_cli-0.91.0/tests/cli → gflow_cli-0.92.1/tests/api/transports/drivers}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/drivers/test_agentic.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/drivers/test_classic.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/drivers/test_factory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/drivers/test_ui_mode.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_agent_only_composer.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_agent_only_composer_driver.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_agentic_cohort_detection.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_base.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_batchexecute.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_character_model_picker.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_click_attribution.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_common.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_diagnostics_boundary_1062.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_evaluate_fetch.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_factory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_fingerprint.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_flow_access_unavailable.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_hidden_model_picker.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_ligature_carrier.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_locale_navigation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_composer.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_dispatch.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_existing_refs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_extend.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_host_gate.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_images.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_mention_order.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_project.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_r2v.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_recover.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_migrated_route.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_missing_project_landing_paths.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_mode_control.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_model_selection_loud.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_navigation_settled.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_new_project_cta_migrated.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_overlay_precondition.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_policy_400.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_selector_symmetry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_signed_media_retry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_ui_automation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_ui_automation_batch.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_ui_automation_image_mode.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_ui_automation_video.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_ui_character_editor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_upscale_tile_listed_late.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/api/transports/test_video_model_selection_loud.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/auth/strategies/test_factory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/auth/strategies/test_strategies.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/auth/test_account_autoselect.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/auth/test_cookies.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/auth/test_real_chrome.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/auth/test_renew.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/auth/test_verification.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/auth/test_windows_acl.py +0 -0
- {gflow_cli-0.91.0/tests/data → gflow_cli-0.92.1/tests/cli}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_auth_renew.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_auth_status.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_auth_error_paths.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_auth_list.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_character_create.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_credits.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_data.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_data_errors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_data_errors_retention.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_data_sync.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_docs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_doctor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_image.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_image_seed_removed.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_image_selector_drift.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_image_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_image_uuid_ref_enrichment.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_instructions.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_models.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_movie.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_run.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_scene.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_tools.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_video.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_video_chain.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_video_extend.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cli_video_upscale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_cloud_storage_local_output.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_default_project.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_docs_catalog_real_docs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_error_handling.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_failure_funnel.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_helpers.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_incident_output.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_movie_manifest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_movie_manifest_style_variants.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_run_with_handlers_context_leak.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_run_with_handlers_interrupt.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_settings_validation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_t2i_multi_prompt.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/cli/test_video_recording_busy.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/composition/test_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/composition/test_compose_prompt.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/composition/test_handoff.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/composition/test_style_variants.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/composition/test_style_variants_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/conftest.py +0 -0
- {gflow_cli-0.91.0/tests/e2e → gflow_cli-0.92.1/tests/data}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_chain_repo.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_failure_recording.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_find_incomplete_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_models.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_null_columns_stay_null.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_packaging.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_recorder.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_recorder_character.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_redaction.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_repository.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_scene_persistence.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_settings_and_errors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_store.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_store_migrations.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/data/test_store_transaction_errors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/dev/test_recording_client.py +0 -0
- {gflow_cli-0.91.0/tests/features → gflow_cli-0.92.1/tests/e2e}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/conftest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_agent_only_composer_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_agentic_count_enforcement_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_aisandbox_auth_live.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_asset_tagging_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_auth_renew_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_auth_status_mcp_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_auth_verification_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_blocking_dialog_dismissal_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_browser_proxy_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_cancellation_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_chain_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_character_create_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_character_mcp_parity_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_classic_count_setter_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_click_attribution_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_crash_recovery_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_credits_mcp_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_credits_on_flow_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_credits_refresh_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_daemon_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_data_download_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_data_layer_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_data_sync_names_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_default_project_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_e2e_env_isolation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_earlier_run_ref_in_place_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_entity_provenance_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_entity_smuggling_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_frame_picker_binding_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_i2v_flags_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_image_batch_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_image_i2i_ref_cap_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_image_uuid_ref_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_incident_quality_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_insufficient_credits_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_json_output_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_live_agentic_instructions.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_local_ref_uploaded_once_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_locale_selectors_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_login_identity_recheck_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_manifest_refs_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_mcp_wait_false_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_mention_chip_order_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_host_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_i2v_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_image_character_mention_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_locale_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_presubmit_gate_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_r2v_character_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_r2v_character_matrix_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_refusal_live_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_rpc_readback_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_selector_drift_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_migrated_submit_body_loss_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_missing_project_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_missing_project_upscale_extend_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_project_create_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_project_create_slow_link_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_project_naming_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_recaptcha_error_shape_bdd.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_refresh_on_miss_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_retired_labs_route_diagnosis_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_run_resume_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_scene_compose_live.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_sidebar_recovery_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_signed_url_http_error_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_standalone_window_position_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_t2i_batch_project_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_tools_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_transports_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_video_extend_migrated_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_video_r2v_ref_cap_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_video_r2v_uuid_name_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_video_t2v_e2e.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/e2e/test_warm_client_upscale_e2e.py +0 -0
- {gflow_cli-0.91.0/tests/fixtures → gflow_cli-0.92.1/tests/features}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/agent_only_composer_live.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/asset_tagging.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/auth.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/auth_login.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/blocking_dialog_dismissal.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/character_create.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/character_read.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/click_attribution.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/conftest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/credits.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/credits_on_flow.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/duration_tab_drift.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/earlier_run_ref_in_place.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/entity_provenance.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/frame_picker_binding.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/image.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/image_batch_references.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/image_download_failure_records.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/image_upscale.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/incident_diagnostics.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/instructions.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/landing_state_diagnosis.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/latched_locale_recovery.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/local_ref_uploaded_once.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/locale_picker_include.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/manifest_refs_live.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/mcp_tasks.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/mcp_wait_false.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/media_picker_tiers.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/mention_chip_order.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_driver.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_host_gate.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_host_images.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_i2v.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_image_character_mention.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_r2v_character.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_r2v_character_matrix.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_refusal_envelope.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_refusal_live.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_rpc_readback.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_submit_body_loss.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/migrated_video_submit_body_loss.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/output_hardening.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/recaptcha_error_shape.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_asset_tagging_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_auth_login_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_auth_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_character_create_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_character_read_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_credits_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_e2e_binding_guard.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_image_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_image_upscale_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_incident_diagnostics_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_instructions_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_locale_picker_include_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_mcp_tasks_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_media_picker_tiers_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_migrated_driver_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_migrated_host_gate_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_migrated_host_images_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_migrated_i2v_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_migrated_refusal_envelope_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_output_hardening_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_step_collision_guard.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_video_agent_ui_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/test_video_chain_steps.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/video_agent_ui.feature +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/features/video_chain.feature +0 -0
- {gflow_cli-0.91.0/tests/flow_selectors → gflow_cli-0.92.1/tests/fixtures}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/fixtures/changelog_modal_page.html +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/fixtures/doctor_env.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/fixtures/flow_model_inventory.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/fixtures/flow_project_listing_media.json +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/fixtures/listing_payload.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/fixtures/seeded_catalog.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/fixtures/settings_mock.py +0 -0
- {gflow_cli-0.91.0/tests/image_batch → gflow_cli-0.92.1/tests/flow_selectors}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/flow_selectors/test_grading.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/flow_selectors/test_model.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/flow_selectors/test_model_governance.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/flow_selectors/test_registry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/flow_selectors/test_report.py +0 -0
- {gflow_cli-0.91.0/tests/integration → gflow_cli-0.92.1/tests/image_batch}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/image_batch/test_image_manifest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/image_batch/test_jitter_config.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/image_batch/test_observability_events.py +0 -0
- {gflow_cli-0.91.0/tests/services → gflow_cli-0.92.1/tests/integration}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/integration/conftest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/integration/constants.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/integration/test_docs_ships_in_wheel.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/integration/test_expander_gateway.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/integration/test_migrated_video_storage_s3.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/integration/test_storage_gcs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/integration/test_storage_s3.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/conftest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_auth_status_tool.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_character_tools.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_cli_parity.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_credits_tool.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_download_error_envelope.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_error_funnel.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_http_transport.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_known_issues_resource.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_mcp_profile_contention.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_migrated_i2v_parity.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_no_spend.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_payload_key_round_trip.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_rate_limit_envelope.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_reference_entity_round_trip.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_resources.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_serve_auth.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_server.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_setup.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_stdio_transport.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_tasks_extension.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_tools_helpers.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_tools_instructions.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_wait_false_runs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/mcp/test_wait_parameter_documented.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_analyze_agent_ui_capture.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_canary_classify.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_canary_reexec.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_capture_locale_invariants.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_capture_video_model_capability_matrix.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_check_council_memory.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_check_deletions.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_check_fork_pr_ci.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_check_materiality.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_check_release_artifacts.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_check_repo_hygiene.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_check_website_docs_pii.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_cleanup.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_codex_plugin.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_extract_har_summary.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_frame_acceptance.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_generate_website_docs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_incident_bundle_quality.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_materiality_backtest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_skillopt_scoring.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_spike_page_pool.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_spike_profile_lease.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_update_sponsors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/scripts/test_workflow_hardening.py +0 -0
- {gflow_cli-0.91.0/tests/smoke → gflow_cli-0.92.1/tests/services}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_catalog_sync.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_character_create_redaction.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_character_create_saga.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_character_gen_no_direct_post.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_credits.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_doctor.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_media_attribution.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_media_recovery.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_mentions_observability.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_mentions_parse.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_mentions_resolve.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_reference_uploads.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/services/test_resolve_and_apply.py +0 -0
- {gflow_cli-0.91.0/tests/tools → gflow_cli-0.92.1/tests/smoke}/__init__.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/smoke/test_profile_account_smoke.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/smoke/test_real_flow.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_about_landing_guard.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_auth.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_batch_outcomes.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_batch_recording.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_batch_ref_wiring.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_browser_manager.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_browser_proxy.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_chain.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_chain_manifest.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_cli_data.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_cli_project.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_cli_update.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_config.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_config_agent_confirm.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_conftest_isolation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_data_queries.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_diagnostics_bundle.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_diagnostics_events.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_diagnostics_journal.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_diagnostics_recorder.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_diagnostics_retention.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_diagnostics_sanitize.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_dockerfile_version_pin.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_documentation_gate.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_duration_tab_drift.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_e2e_env_home.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_entity_provenance.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_errors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_errors_classification.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_glama_build_spec.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_image_batch_references.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_image_download_failure_records.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_incident_generation_requests.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_json_output.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_manifest_refs.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_marker_registry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_media.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_observability.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_overlay_banner_dismissal.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_paths.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_playwright_pin.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_plugin_manifests.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_profile_lease.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_profile_lease_subprocess.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_profile_store.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_profile_store_locale.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_project_list_urls.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_release_version_sites.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_rich_markup_safety.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_self_documenting_errors.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_server_json.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_smoke.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_storage_write_error.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/test_update_check.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/tools/test_banned.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/tools/test_expander.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/tools/test_invocation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/tools/test_loader.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/tools/test_registry.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/tools/test_runtime.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/tools/test_spec.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/ui/test_app.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/worker/test_codec.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/worker/test_codec_image_ref_project.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/worker/test_mcp_daemon_race.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/worker/test_queue.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/worker/test_queue_multiprocess.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/tests/worker/test_queue_reconciliation.py +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/ACCOUNT_SAFETY.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/ARCHITECTURE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/AUTHENTICATION.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/CHARACTER.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/DATA_LAYER.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/DEBUGGING.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/DEVELOPMENT.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/E2E_TESTING.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/EXTERNAL_STORAGE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/INSTRUCTIONS.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/KNOWN_ISSUES.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/MEDIA_LIBRARY.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/MOVIE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/PROMPT_EXPANSION.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/SECURITY.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/SPONSORS.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/TOOLS.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/USAGE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/USER_GUIDE.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/agents.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/index.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/installation.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/onboarding-mockup.html +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/onboarding.md +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/docs/stylesheets/extra.css +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/mkdocs.yml +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/requirements.in +0 -0
- {gflow_cli-0.91.0 → gflow_cli-0.92.1}/website/requirements.txt +0 -0
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
# Windows: %USERPROFILE%\Downloads\gflow-cli
|
|
46
46
|
# macOS: ~/Downloads/gflow-cli
|
|
47
47
|
# Linux: $XDG_DOWNLOAD_DIR/gflow-cli (falls back to ~/Downloads/gflow-cli)
|
|
48
|
+
# MCP tools may only write inside this directory (their output / out_dir resolve against it).
|
|
48
49
|
# GFLOW_CLI_OUTPUT_DIR=
|
|
49
50
|
|
|
50
51
|
# -----------------------------------------------------------------------------
|
|
@@ -161,11 +161,14 @@ jobs:
|
|
|
161
161
|
run: uv pip list
|
|
162
162
|
|
|
163
163
|
# ── Main test matrix ──────────────────────────────────────────────────────
|
|
164
|
+
# 3.11 and 3.12 run everything in one job each. 3.13 is the coverage job and was
|
|
165
|
+
# the critical path (Chromium, real-DOM tests, the hermetic e2e), so it runs as
|
|
166
|
+
# parallel shards below and `test-313` aggregates them under the required name.
|
|
164
167
|
test:
|
|
165
168
|
runs-on: ubuntu-latest
|
|
166
169
|
strategy:
|
|
167
170
|
matrix:
|
|
168
|
-
python-version: ["3.11", "3.12"
|
|
171
|
+
python-version: ["3.11", "3.12"]
|
|
169
172
|
steps:
|
|
170
173
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
171
174
|
with:
|
|
@@ -211,23 +214,79 @@ jobs:
|
|
|
211
214
|
- name: Type check
|
|
212
215
|
run: uv run pyright src
|
|
213
216
|
|
|
217
|
+
- name: Test (smoke only)
|
|
218
|
+
# e2e/live tests require a logged-in Chromium profile and may spend
|
|
219
|
+
# Flow credits. pyproject.toml excludes both markers by default; CI
|
|
220
|
+
# intentionally relies on that default smoke set.
|
|
221
|
+
# -n auto: pytest-xdist, one worker per runner vCPU (~2x on the full suite;
|
|
222
|
+
# 198 s vs ~390 s measured locally at -n 8).
|
|
223
|
+
# --dist worksteal: the default `load` hands each worker a fixed chunk up
|
|
224
|
+
# front, and test_agent_only_composer_driver.py's 85 contiguous tests all
|
|
225
|
+
# landed on one worker (338 s there, ~20 s on the other three, measured).
|
|
226
|
+
run: uv run python -m pytest -q -n auto --dist worksteal --junitxml=pytest-report.xml
|
|
227
|
+
|
|
228
|
+
- name: Test-count guard (a green build that ran nothing is not green)
|
|
229
|
+
# Floor well below the real count (~2900): catches collection collapse
|
|
230
|
+
# (bad marker/-k filter, broken conftest), never routine deletions.
|
|
231
|
+
run: uv run python scripts/ci/check_test_count.py pytest-report.xml 2000
|
|
232
|
+
|
|
233
|
+
# ── 3.13: three unit shards + the hermetic e2e, in parallel ───────────────
|
|
234
|
+
# GFLOW_TEST_SHARD=k/N makes root conftest.py keep only shard k's files, split
|
|
235
|
+
# by whole file and balanced on tests/test_durations.json
|
|
236
|
+
# (scripts/ci/shard_tests.py). Every file runs in exactly one shard; the count
|
|
237
|
+
# floor is checked over the SUM in `test-313`, never per shard.
|
|
238
|
+
test-313-shard:
|
|
239
|
+
name: test 3.13 (${{ matrix.shard }})
|
|
240
|
+
runs-on: ubuntu-latest
|
|
241
|
+
strategy:
|
|
242
|
+
fail-fast: false
|
|
243
|
+
matrix:
|
|
244
|
+
shard: ["1/3", "2/3", "3/3", "e2e"]
|
|
245
|
+
env:
|
|
246
|
+
SHARD: ${{ matrix.shard }}
|
|
247
|
+
steps:
|
|
248
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
249
|
+
with:
|
|
250
|
+
persist-credentials: false
|
|
251
|
+
|
|
252
|
+
- name: Install uv
|
|
253
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
254
|
+
|
|
255
|
+
- name: Set up Python
|
|
256
|
+
run: uv python install 3.13
|
|
257
|
+
|
|
258
|
+
- name: Install deps
|
|
259
|
+
run: uv sync --frozen --extra dev
|
|
260
|
+
|
|
261
|
+
# The repo gates are version-independent except pyright; 3.11/3.12 run them
|
|
262
|
+
# too. On 3.13 they ride on the first unit shard, the lightest after the split.
|
|
263
|
+
- name: Repo gates (hygiene, docs, plugin skills, lint, format, types)
|
|
264
|
+
if: matrix.shard == '1/3'
|
|
265
|
+
run: |
|
|
266
|
+
uv run --no-sync python scripts/ci/check_repo_hygiene.py
|
|
267
|
+
uv run python scripts/ci/check_doc_links.py
|
|
268
|
+
uv run python scripts/ci/check_website_docs_pii.py
|
|
269
|
+
uv run python scripts/ci/generate_website_docs.py --check
|
|
270
|
+
uv run python scripts/ci/check_council_memory.py
|
|
271
|
+
uv run python scripts/ci/generate_plugin_skills.py --check
|
|
272
|
+
uv run ruff check src tests
|
|
273
|
+
uv run ruff format --check src tests
|
|
274
|
+
uv run pyright src
|
|
275
|
+
|
|
214
276
|
# The overlay-precondition tests (#593) drive the captured changelog markup in
|
|
215
277
|
# a real headless Chromium — a mock cannot tell you whether
|
|
216
278
|
# `[role='dialog']:has(a[href*='changelog']) button` resolves against Flow's
|
|
217
279
|
# 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
|
|
219
|
-
#
|
|
280
|
+
# absent, which would make them silently decorative in CI, so every 3.13 shard
|
|
281
|
+
# installs it. No account, no network, no credits.
|
|
220
282
|
- name: Install Chromium (real-DOM fixture tests)
|
|
221
|
-
if: matrix.python-version == '3.13'
|
|
222
283
|
run: uv run playwright install chromium --with-deps
|
|
223
284
|
|
|
224
|
-
- name: Test
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
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
|
|
285
|
+
- name: Test shard + coverage
|
|
286
|
+
if: matrix.shard != 'e2e'
|
|
287
|
+
env:
|
|
288
|
+
GFLOW_TEST_SHARD: ${{ matrix.shard }}
|
|
289
|
+
run: uv run python -m pytest -q -n auto --dist worksteal --cov=gflow_cli --cov-report= --junitxml=pytest-report.xml
|
|
231
290
|
|
|
232
291
|
# Five files under tests/e2e/ are hermetic: every Flow origin is served by
|
|
233
292
|
# `page.route(...).fulfill(...)`, so they need no account, no profile, no
|
|
@@ -237,7 +296,7 @@ jobs:
|
|
|
237
296
|
# a regression of any of those fixes would have gone green. They are the
|
|
238
297
|
# only e2e tests that CAN run here; the other 42 need a logged-in profile.
|
|
239
298
|
- name: E2E (hermetic subset — route-intercepted, $0, no profile)
|
|
240
|
-
if: matrix.
|
|
299
|
+
if: matrix.shard == 'e2e'
|
|
241
300
|
run: >
|
|
242
301
|
uv run python -m pytest -q -m e2e
|
|
243
302
|
tests/e2e/test_account_chooser_e2e.py
|
|
@@ -248,26 +307,95 @@ jobs:
|
|
|
248
307
|
--junitxml=pytest-e2e-hermetic.xml
|
|
249
308
|
|
|
250
309
|
- name: E2E-count guard (an empty e2e run is not a passing e2e run)
|
|
251
|
-
if: matrix.
|
|
310
|
+
if: matrix.shard == 'e2e'
|
|
252
311
|
run: uv run python scripts/ci/check_test_count.py pytest-e2e-hermetic.xml 10
|
|
253
312
|
|
|
254
|
-
|
|
313
|
+
# `.coverage` is a dotfile, which upload-artifact skips unless told otherwise.
|
|
314
|
+
- name: Upload shard report + coverage data
|
|
315
|
+
if: matrix.shard != 'e2e'
|
|
316
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
|
|
317
|
+
with:
|
|
318
|
+
name: shard-${{ strategy.job-index }}
|
|
319
|
+
path: |
|
|
320
|
+
pytest-report.xml
|
|
321
|
+
.coverage
|
|
322
|
+
include-hidden-files: true
|
|
323
|
+
if-no-files-found: error
|
|
324
|
+
retention-days: 1
|
|
325
|
+
|
|
326
|
+
# The required check `test (3.13)` lives HERE, so the ruleset needs no edit.
|
|
327
|
+
# `if: always()` plus the result gate are both load-bearing: GitHub reports a
|
|
328
|
+
# SKIPPED required check as passing, so without them a failed shard would skip
|
|
329
|
+
# this job and the PR would merge green.
|
|
330
|
+
test-313:
|
|
331
|
+
name: test (3.13)
|
|
332
|
+
runs-on: ubuntu-latest
|
|
333
|
+
needs: test-313-shard
|
|
334
|
+
if: always()
|
|
335
|
+
steps:
|
|
336
|
+
- name: Every 3.13 shard passed
|
|
337
|
+
env:
|
|
338
|
+
SHARDS: ${{ needs.test-313-shard.result }}
|
|
339
|
+
run: |
|
|
340
|
+
if [ "$SHARDS" != "success" ]; then
|
|
341
|
+
echo "::error::a 3.13 shard ended '$SHARDS' — see the test 3.13 (...) jobs"
|
|
342
|
+
exit 1
|
|
343
|
+
fi
|
|
344
|
+
|
|
345
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
346
|
+
with:
|
|
347
|
+
persist-credentials: false
|
|
348
|
+
|
|
349
|
+
- name: Install uv
|
|
350
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
351
|
+
|
|
352
|
+
- name: Set up Python
|
|
353
|
+
run: uv python install 3.13
|
|
354
|
+
|
|
355
|
+
- name: Install deps
|
|
356
|
+
run: uv sync --frozen --extra dev
|
|
357
|
+
|
|
358
|
+
- name: Download shard reports
|
|
359
|
+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
|
|
360
|
+
with:
|
|
361
|
+
pattern: shard-*
|
|
362
|
+
|
|
363
|
+
# Each shard is named, not globbed: a shard that uploaded nothing must fail
|
|
364
|
+
# here rather than shrink the sum.
|
|
365
|
+
- name: Test-count guard over every shard (a green build that ran nothing is not green)
|
|
255
366
|
# Floor well below the real count (~2900): catches collection collapse
|
|
256
|
-
# (bad marker/-k filter, broken conftest), never routine deletions.
|
|
257
|
-
run:
|
|
367
|
+
# (bad marker/-k filter, broken conftest, a lost shard), never routine deletions.
|
|
368
|
+
run: >
|
|
369
|
+
uv run --no-sync python scripts/ci/check_test_count.py
|
|
370
|
+
shard-0/pytest-report.xml shard-1/pytest-report.xml shard-2/pytest-report.xml 2000
|
|
258
371
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
372
|
+
- name: Combine shard coverage
|
|
373
|
+
run: |
|
|
374
|
+
uv run --no-sync coverage combine shard-0/.coverage shard-1/.coverage shard-2/.coverage
|
|
375
|
+
uv run --no-sync coverage xml -o coverage.xml
|
|
376
|
+
uv run --no-sync coverage report --format=total
|
|
377
|
+
|
|
378
|
+
# Upload coverage XML so the sonar job can consume it. It must come from the
|
|
379
|
+
# Chromium-installing 3.13 shards: the real-DOM fixture tests skip everywhere
|
|
380
|
+
# else, so a 3.11 upload counted every browser-tested module as uncovered
|
|
381
|
+
# (#989's agent_only_composer.py measured 39% new coverage with its tests green).
|
|
263
382
|
- name: Upload coverage report
|
|
264
|
-
if: matrix.python-version == '3.13'
|
|
265
383
|
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
|
|
266
384
|
with:
|
|
267
385
|
name: coverage-xml
|
|
268
386
|
path: coverage.xml
|
|
269
387
|
retention-days: 1
|
|
270
388
|
|
|
389
|
+
# Report-only (watch mode): `continue-on-error` and the brace group mean nothing
|
|
390
|
+
# in this step can turn the job red. Reads the shard-*/pytest-report.xml already
|
|
391
|
+
# downloaded above (copied alone so the scan never sees coverage.xml or the repo); no new upload.
|
|
392
|
+
- name: Speed check (report only)
|
|
393
|
+
continue-on-error: true
|
|
394
|
+
run: |
|
|
395
|
+
{ mkdir speed-in && cp --parents shard-*/pytest-report.xml speed-in/ \
|
|
396
|
+
&& uv run --no-sync python -m scripts.ci.pytest_speed check speed-in --config pytest-speed.toml --out speed.md \
|
|
397
|
+
&& cat speed.md >> "$GITHUB_STEP_SUMMARY"; } || echo "speed check: not run" >> "$GITHUB_STEP_SUMMARY"
|
|
398
|
+
|
|
271
399
|
# ── Focused OS matrix: ProfileLease cross-process contract (Task D2) ──────
|
|
272
400
|
# Everything else in this file runs Ubuntu-only (the `test` job above).
|
|
273
401
|
# This job exists because ProfileLease's kernel lock is genuinely
|
|
@@ -344,7 +472,7 @@ jobs:
|
|
|
344
472
|
sonar:
|
|
345
473
|
name: SonarCloud analysis
|
|
346
474
|
runs-on: ubuntu-latest
|
|
347
|
-
needs: test # wait for tests + coverage report
|
|
475
|
+
needs: [test, test-313] # wait for tests + the combined coverage report
|
|
348
476
|
permissions:
|
|
349
477
|
contents: read
|
|
350
478
|
pull-requests: read # PR-context analysis / decoration lookups
|
|
@@ -125,3 +125,7 @@ website/site/
|
|
|
125
125
|
scripts/dev/har-spike/artifacts/
|
|
126
126
|
scripts/dev/har-spike/.agent-browser/
|
|
127
127
|
scripts/dev/har-spike/.npm-cache/
|
|
128
|
+
|
|
129
|
+
# MCPJam bridge spike (scripts/dev/mcpjam): local npm install, never committed
|
|
130
|
+
scripts/dev/mcpjam/node_modules/
|
|
131
|
+
.junit/
|
|
@@ -102,7 +102,7 @@ the five other mirror axes), which no command here can check and no CI gate can
|
|
|
102
102
|
> list follows it.
|
|
103
103
|
|
|
104
104
|
- Use `pytest -m "not live and not e2e and not smoke"` locally; full suite OOMs on small dev machines. Scope to changed dirs; trust CI for the full sweep.
|
|
105
|
-
- **Parallel runs (`pytest-xdist`):** add `-n 8` (or `-n auto`) to cut the offline suite from ~390 s to ~200 s. Every worker is a full process, so cap `-n` on a small machine. CI runs `-n auto
|
|
105
|
+
- **Parallel runs (`pytest-xdist`):** add `-n 8` (or `-n auto`) to cut the offline suite from ~390 s to ~200 s. Every worker is a full process, so cap `-n` on a small machine. CI runs `-n auto --dist worksteal` (the default `load` pinned one 85-test file to a single worker; add `--dist worksteal` locally too). A test that passes alone but fails under `-n` shares state with another test: **fix the shared state** (two measured cases: `tests/mcp/conftest.py` and `test_every_shipped_skill_is_byte_identical_to_its_source`). If two tests genuinely need the same exclusive resource (a fixed port, a file lock), mark both `@pytest.mark.xdist_group("<resource>")` — but a group is honoured only under `--dist loadgroup`, and CI's `worksteal` ignores it, so a mark alone does not serialize them in CI. Nothing uses one today; whoever adds the first must also switch CI to `loadgroup` (and re-measure) or guard the resource another way.
|
|
106
106
|
- TDD is non-negotiable. Coverage floor: 80% overall.
|
|
107
107
|
- Documentation is a first-class deliverable. Every behavior, workflow, config, or operator-facing change must update the relevant docs or state why no docs changed in the PR/checklist. `scripts/ci/check_doc_links.py` is a merge gate.
|
|
108
108
|
- **A PR is not done until its SonarCloud gate is green (zero new issues).** The ten gates above are local/pre-commit; SonarCloud is server-side and runs in CI (`sonar.qualitygate.wait=true` → a red gate turns the `SonarCloud analysis` check red). Before calling a PR merge-ready, verify it with `/gflow:sonar <N>` (it is skipped on fork PRs — maintainer-checked there).
|
|
@@ -7,6 +7,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.92.1] — 2026-10-30
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **MCP agents now see how to pass `tools` and character ids.** The generate tools'
|
|
15
|
+
schema stated neither the `tools` item shape (`{"name": <slug>, "options": {...}}`)
|
|
16
|
+
nor that, on flow.google.com, each `reference_entities` id needs its name at the same
|
|
17
|
+
position in `reference_entity_names` (and, for video, `mode: r2v`). The `tools` shape and
|
|
18
|
+
the video rules sat only in docstrings the MCP client never shows; the image pairing
|
|
19
|
+
rule sat in the long tool description, where agents missed it. The schema now also says that
|
|
20
|
+
`gflow_character_list` fails there with a `wire-format` error (the CLI's exit 7, #875)
|
|
21
|
+
and to ask the user for the name. In a
|
|
22
|
+
tool-selection eval with Claude Code as the host, a character given by id was sent
|
|
23
|
+
without its name in 4 of 5 runs, which fails before submit. With the rule in the
|
|
24
|
+
schema, that dropped to 0 of 5.
|
|
25
|
+
- **The flow.google.com remediation hint no longer says video takes no character.** Since
|
|
26
|
+
v0.91.0 (#723) reference-to-video attaches a character by name there; the hint on the
|
|
27
|
+
`flow-host-migrated` refusal still said "video none", which an agent reads as a reason
|
|
28
|
+
not to try.
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- **`scripts/dev/mcpjam/`: a local tool-selection eval for the MCP server.** It snapshots
|
|
33
|
+
the real `tools/list` with MCPJam's client, serves it from a stub that records calls
|
|
34
|
+
without running them ($0, no browser), and drives `claude -p` as the host. Dev-only;
|
|
35
|
+
not part of CI.
|
|
36
|
+
|
|
37
|
+
## [0.92.0] — 2026-10-29
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- **A video saved with `-o` onto another filesystem no longer fails after it is billed**
|
|
42
|
+
([#1114](https://github.com/ffroliva/gflow-cli/issues/1114)). Moving the downloaded clip
|
|
43
|
+
to `--output` used a rename, which raises `EXDEV` across mounts (a tmpfs `/tmp`, another
|
|
44
|
+
drive), so the run ended in "Unexpected error" with the clip left in `./tmp/`. The CLI
|
|
45
|
+
and the MCP queued path now move it with a copy when a rename cannot. The MCP video
|
|
46
|
+
tool also refuses an `output` that names a directory before anything is billed, as the
|
|
47
|
+
CLI's `-o` already did ([spike](docs/superpowers/spikes/2026-10-29-cross-device-relocate.md)).
|
|
48
|
+
|
|
49
|
+
### Security
|
|
50
|
+
|
|
51
|
+
- **MCP tools can no longer write outside the configured output directory**
|
|
52
|
+
([GHSA-hqfj-4jww-76f2](https://github.com/ffroliva/gflow-cli/security/advisories/GHSA-hqfj-4jww-76f2)).
|
|
53
|
+
`output` on `gflow_generate_image` / `gflow_generate_video` and `out_dir` on
|
|
54
|
+
`gflow_download_media` / `gflow_upscale_image` / `gflow_upscale_video` accepted any path,
|
|
55
|
+
so an MCP client, or content steering one, could write or replace files anywhere the
|
|
56
|
+
server's user can. They are now resolved against `GFLOW_CLI_OUTPUT_DIR` and refused with a
|
|
57
|
+
400 envelope when they resolve outside it; an `output` that resolves to a directory is
|
|
58
|
+
refused too. The `profile` argument of every MCP tool that opens a browser profile is likewise refused (400 `Invalid
|
|
59
|
+
Profile`) unless it is a plain name: a path in it pointed Chrome's user-data-dir, and the
|
|
60
|
+
files Chrome writes there, at any existing directory. **Breaking for MCP callers** that passed an absolute path outside the output
|
|
61
|
+
directory: pass a path relative to it, or set `GFLOW_CLI_OUTPUT_DIR`. The CLI is
|
|
62
|
+
unchanged. Reported by Filip Kulisiewicz; the `profile` path was found while reviewing the fix.
|
|
63
|
+
|
|
10
64
|
## [0.91.0] — 2026-10-28
|
|
11
65
|
|
|
12
66
|
### Fixed
|
|
@@ -6733,7 +6787,9 @@ shell-script template that branches on these codes.
|
|
|
6733
6787
|
|
|
6734
6788
|
First skeleton. Not functional end-to-end yet.
|
|
6735
6789
|
|
|
6736
|
-
[Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.
|
|
6790
|
+
[Unreleased]: https://github.com/ffroliva/gflow-cli/compare/v0.92.1...HEAD
|
|
6791
|
+
[0.92.1]: https://github.com/ffroliva/gflow-cli/compare/v0.92.0...v0.92.1
|
|
6792
|
+
[0.92.0]: https://github.com/ffroliva/gflow-cli/compare/v0.91.0...v0.92.0
|
|
6737
6793
|
[0.91.0]: https://github.com/ffroliva/gflow-cli/compare/v0.90.0...v0.91.0
|
|
6738
6794
|
[0.90.0]: https://github.com/ffroliva/gflow-cli/compare/v0.89.1...v0.90.0
|
|
6739
6795
|
[0.89.1]: https://github.com/ffroliva/gflow-cli/compare/v0.89.0...v0.89.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: gflow-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.92.1
|
|
4
4
|
Summary: CLI and MCP server for Google Flow — drive Veo text-to-video, image-to-video and Imagen image generation from the terminal.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ffroliva/gflow-cli
|
|
6
6
|
Project-URL: Documentation, https://ffroliva.github.io/gflow-cli/
|
|
@@ -7,6 +7,8 @@ Responsibilities:
|
|
|
7
7
|
2. Auto-apply directory-based markers so tests in ``tests/e2e/`` and
|
|
8
8
|
``tests/smoke/`` are always tagged correctly even if a test author
|
|
9
9
|
forgets the ``pytestmark`` declaration.
|
|
10
|
+
3. ``GFLOW_TEST_SHARD=k/N``: keep only shard k's files (CI runs the 3.13 suite
|
|
11
|
+
as parallel shards; see ``scripts/ci/shard_tests.py``).
|
|
10
12
|
|
|
11
13
|
The ``addopts`` and ``markers`` settings live in ``pyproject.toml`` so that
|
|
12
14
|
``pytest --help`` surfaces them correctly. See docs/E2E_TESTING.md for the
|
|
@@ -15,6 +17,7 @@ full marker reference and cost-tier run commands.
|
|
|
15
17
|
|
|
16
18
|
from __future__ import annotations
|
|
17
19
|
|
|
20
|
+
import os
|
|
18
21
|
import pathlib
|
|
19
22
|
|
|
20
23
|
import pytest
|
|
@@ -25,6 +28,37 @@ def pytest_configure(config) -> None: # noqa: ANN001 — pytest config object
|
|
|
25
28
|
if basetemp:
|
|
26
29
|
parent = pathlib.Path(basetemp).expanduser().resolve().parent
|
|
27
30
|
parent.mkdir(parents=True, exist_ok=True)
|
|
31
|
+
spec = os.environ.get("GFLOW_TEST_SHARD")
|
|
32
|
+
if spec:
|
|
33
|
+
from scripts.ci.shard_tests import parse_spec
|
|
34
|
+
|
|
35
|
+
config.pluginmanager.register(_Shard(*parse_spec(spec)), "gflow-test-shard")
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class _Shard:
|
|
39
|
+
"""Deselect every file another shard owns.
|
|
40
|
+
|
|
41
|
+
``trylast`` so it splits only what ``-m`` left selected: the weights then cover
|
|
42
|
+
the tests this run actually executes. Deselected, not skipped, so a shard's
|
|
43
|
+
junit counts only its own tests and the summed count guard stays exact.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
def __init__(self, index: int, total: int) -> None:
|
|
47
|
+
self.index, self.total = index, total
|
|
48
|
+
|
|
49
|
+
@pytest.hookimpl(trylast=True)
|
|
50
|
+
def pytest_collection_modifyitems(
|
|
51
|
+
self, config: pytest.Config, items: list[pytest.Item]
|
|
52
|
+
) -> None:
|
|
53
|
+
from scripts.ci.shard_tests import load_durations, shard_owner
|
|
54
|
+
|
|
55
|
+
files = [item.nodeid.split("::")[0] for item in items]
|
|
56
|
+
owner = shard_owner(files, self.total, load_durations())
|
|
57
|
+
kept = [i for i, f in zip(items, files, strict=True) if owner[f] == self.index]
|
|
58
|
+
dropped = [i for i, f in zip(items, files, strict=True) if owner[f] != self.index]
|
|
59
|
+
if dropped:
|
|
60
|
+
config.hook.pytest_deselected(items=dropped)
|
|
61
|
+
items[:] = kept
|
|
28
62
|
|
|
29
63
|
|
|
30
64
|
def pytest_collection_modifyitems(items: list[pytest.Item]) -> None:
|
|
@@ -45,7 +45,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
|
45
45
|
# Deliberately NOT pinned: google-chrome-stable. Chrome's apt repo keeps only the current
|
|
46
46
|
# build, so a pinned version stops resolving within weeks. The trade-off is that this
|
|
47
47
|
# layer caches indefinitely and a rebuild is what picks up a newer Chrome.
|
|
48
|
-
ARG GFLOW_VERSION=0.
|
|
48
|
+
ARG GFLOW_VERSION=0.92.1
|
|
49
49
|
RUN pip install --no-cache-dir "gflow-cli==${GFLOW_VERSION}"
|
|
50
50
|
|
|
51
51
|
VOLUME ["/data"]
|
|
@@ -95,6 +95,11 @@ Set, `image t2i`/`i2i`, `video t2v`/`i2v`/`r2v`, `gflow run` and the MCP
|
|
|
95
95
|
**CLI override:** command-specific output flags such as `--out` for image
|
|
96
96
|
commands and `--out-dir` for video commands.
|
|
97
97
|
|
|
98
|
+
**MCP boundary:** an MCP tool cannot direct a write outside this directory. A tool's
|
|
99
|
+
`output` / `out_dir` is resolved against it and refused when it resolves outside
|
|
100
|
+
([MCP.md](MCP.md), GHSA-hqfj-4jww-76f2), so set it to wherever an agent's files
|
|
101
|
+
should land.
|
|
102
|
+
|
|
98
103
|
If [`GFLOW_CLI_STORAGE_URI`](#gflow_cli_storage_uri) is set, generated asset
|
|
99
104
|
bytes are uploaded to the configured cloud bucket instead of this local output
|
|
100
105
|
root. `GFLOW_CLI_OUTPUT_DIR` still matters for local mode and for deriving the
|
|
@@ -97,6 +97,33 @@ This is intentional. Do not switch the normal PR workflow to
|
|
|
97
97
|
repository privileges and can expose secrets if it checks out or executes
|
|
98
98
|
untrusted PR code.
|
|
99
99
|
|
|
100
|
+
## CI Test Layout
|
|
101
|
+
|
|
102
|
+
`ci.yml` runs the offline suite on three Pythons. `develop` requires the checks
|
|
103
|
+
`test (3.11)`, `test (3.12)` and `test (3.13)` (ruleset 25428466), so those
|
|
104
|
+
names must not change.
|
|
105
|
+
|
|
106
|
+
| Job | What it runs |
|
|
107
|
+
|---|---|
|
|
108
|
+
| `test (3.11)`, `test (3.12)` | Repo gates, lint, types, and the whole offline suite in one job each. |
|
|
109
|
+
| `test 3.13 (1/3)`, `(2/3)`, `(3/3)` | One third of the offline suite each, with coverage and Chromium for the real-DOM tests. `GFLOW_TEST_SHARD=k/N` makes root `conftest.py` keep only shard k's files. Shard 1/3 also runs the repo gates. |
|
|
110
|
+
| `test 3.13 (e2e)` | The hermetic e2e subset (route-intercepted, $0, no profile), floor 10 tests. |
|
|
111
|
+
| `test (3.13)` | The required check. Fails unless every shard succeeded. Sums the shards' JUnit against the 2000-test floor, runs `coverage combine`, and uploads `coverage-xml` for SonarCloud. |
|
|
112
|
+
|
|
113
|
+
The split is by whole file, balanced on the per-file seconds in
|
|
114
|
+
`tests/test_durations.json`. A file without a record counts as the average, so a
|
|
115
|
+
stale record only unbalances the shards; every file still runs exactly once.
|
|
116
|
+
Refresh the record from CI, not from a local run: Windows inflates some files
|
|
117
|
+
far past their Linux time (`test_cleanup.py` measured 242 s locally against 3 s on
|
|
118
|
+
CI), and a record taken there sent the slow shard 181 s of CI work against 86 s on
|
|
119
|
+
the lightest. Download the three `shard-*` artifacts of a recent `develop` push run
|
|
120
|
+
(kept one day) and pass their reports: `gh run download <run-id> -p 'shard-*' -D tmp/shards`
|
|
121
|
+
then `uv run python scripts/ci/shard_tests.py tmp/shards/shard-*/pytest-report.xml`.
|
|
122
|
+
|
|
123
|
+
`test (3.13)` runs with `if: always()` and checks the shard result itself.
|
|
124
|
+
GitHub reports a skipped required check as passing, so an aggregate that only
|
|
125
|
+
ran on success would let a failed shard merge green.
|
|
126
|
+
|
|
100
127
|
## SonarCloud Quality Gate
|
|
101
128
|
|
|
102
129
|
The gate is evaluated on **new code** (changed lines vs `main`, per
|