pytagmanager 0.3.0__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pytagmanager-0.3.2/.cargo/audit.toml +16 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/.github/ISSUE_TEMPLATE/bug_report.yml +1 -1
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/.github/workflows/ci.yml +9 -4
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/.gitignore +6 -0
- pytagmanager-0.3.2/.graphifyignore +31 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/CHANGELOG.md +32 -1
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/Cargo.lock +238 -580
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/Cargo.toml +3 -3
- pytagmanager-0.3.0/README.md → pytagmanager-0.3.2/PKG-INFO +33 -1
- pytagmanager-0.3.0/PKG-INFO → pytagmanager-0.3.2/README.md +14 -20
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/ROADMAP_HONEST.md +25 -9
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/pyproject.toml +2 -2
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/__init__.py +1 -1
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/_taxonomy.py +10 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/ga4.py +13 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/rudderstack.py +7 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/segment.py +16 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/intent/ollama_classifier.py +12 -0
- pytagmanager-0.3.2/python/pytagmanager/sitewide/notify.py +101 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/crawler/orchestrator.rs +3 -3
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/dom/graph.rs +2 -2
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/lib.rs +1 -1
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_exporters.py +93 -0
- pytagmanager-0.3.2/tests/python/test_notify_backoff.py +15 -0
- pytagmanager-0.3.2/tools/graphify/README.md +63 -0
- pytagmanager-0.3.2/tools/graphify/graphify_adapter.py +242 -0
- pytagmanager-0.3.0/python/pytagmanager/sitewide/notify.py +0 -47
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/.cargo/config.toml +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/.github/dependabot.yml +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/.github/pull_request_template.md +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/CODE_OF_CONDUCT.md +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/CONTRIBUTING.md +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/LICENSE +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/SECURITY.md +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/docs/ARCHITECTURE.md +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/docs/ROADMAP.md +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/docs/VISION.md +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/analytics_api/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/analytics_api/ga4_client.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/analytics_api/gtm_client.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/analytics_api/models.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/correlation/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/correlation/journey.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/diagnostics/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/diagnostics/models.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/diagnostics/rules.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/diagnostics/trace.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/dictionary/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/dictionary/build.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/dictionary/labels.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/dictionary/purpose.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/dictionary/report.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/dictionary/schema_drift.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/discovery/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/discovery/crawl.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/adobe_tags.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/base.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/gtm.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/snowplow.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/export/tealium.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/intent/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/intent/base.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/observability/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/observability/agent.js +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/observability/events.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/observability/scenario.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/observability/session.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/observability/state.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/dependency_graph.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/experiments.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/history.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/measure.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/perf_agent.js +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/report.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/scripts.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/tagging_join.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/perf/test_candidates.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/recommend/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/recommend/heuristics.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/recommend/models.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/reporting/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/reporting/json_report.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/reporting/summary.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/reporting/terminal.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/runtime/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/runtime/interactions.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/runtime/renderer.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/runtime/screenshots.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/runtime/sniffer.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/aggregation.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/anomalies.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/event_map.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/history.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/interaction_consistency.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/page_type.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/report.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/sitewide/templates.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/tagexec/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/tagexec/duplicates.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/tagexec/graph.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/tagexec/report.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/tagexec/server_side.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/tagexec/static_scan.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/testintel/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/testintel/candidates.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/testintel/playwright_export.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/testintel/regression.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/testintel/report.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/version_control/__init__.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/version_control/diff.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/python/pytagmanager/version_control/snapshot.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/crawler/mod.rs +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/crawler/sitemap.rs +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/dom/mod.rs +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/dom/parser.rs +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/dom/selectors.rs +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/src/error.rs +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/crawl_integration.rs +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/conftest.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/add_to_cart_variant_naming.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/api_and_console.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/duplicate_tracking.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/healthy_tracking.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/heavy_first_party.js +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/local_first_party.js +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/missing_datalayer.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/missing_ga4_request.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/perf_heavy.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/perf_isolate.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/perf_scripts.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/runtime_state.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/runtime_state_regression.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/spa_client_rendered.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/spa_dedup_reset.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/spa_tracking.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/tagexec_duplicate.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/tagexec_server_side.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/observability/tagexec_static.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/fixtures/sample_page.html +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_analytics_api_clients.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_cli_render.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_core_ffi.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_correlation.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_diagnose_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_diagnose_duplicate_tags_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_diagnose_server_side_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_diagnose_site_wide_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_diagnose_tag_graph_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_diagnose_test_candidates_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_diagnostics_rules.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_dictionary.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_dictionary_labels.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_dictionary_purpose.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_dictionary_schema_drift.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_dictionary_test_candidates_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_discovery_crawl_rendered.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_event_map.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_gtm_export.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_heuristics.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_intent_ollama.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_interaction_consistency.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_interaction_trace.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_observability_extended_observers.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_observability_pipeline.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_observability_state.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_dependency_graph.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_dependency_graph_e2e.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_environment_config.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_experiments_e2e.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_experiments_unit.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_history.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_measure.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_measure_e2e.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_report.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_scripts.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_scripts_unit.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_tagging_join.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_perf_test_candidates.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_runtime_interactions.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_runtime_renderer.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_runtime_screenshots.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_runtime_sniffer.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_scan_tags_cli.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_sitewide_aggregation.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_sitewide_anomalies.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_sitewide_history.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_sitewide_notify.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_sitewide_page_type.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_sitewide_templates.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_tagexec_duplicates.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_tagexec_graph.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_tagexec_server_side.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_tagexec_static_scan.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_tagexec_static_scan_e2e.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_testintel_candidates.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_testintel_playwright_export.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_testintel_regression.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/python/test_version_control.py +0 -0
- {pytagmanager-0.3.0 → pytagmanager-0.3.2}/tests/support/mod.rs +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# cargo-audit configuration.
|
|
2
|
+
#
|
|
3
|
+
# Ignored advisories (each with the reason it cannot be fixed by upgrading).
|
|
4
|
+
[advisories]
|
|
5
|
+
ignore = [
|
|
6
|
+
# `async-std` (RUSTSEC-2025-0052) is a transitive, unmodifiable dependency:
|
|
7
|
+
# pytagmanager -> mudfish-browser (external git dep, Mullassery/MudFish
|
|
8
|
+
# @ rev 71176fa) -> chromiumoxide 0.7 -> async-std.
|
|
9
|
+
# chromiumoxide 0.7 enables its `async-std-runtime` feature by *default*,
|
|
10
|
+
# and Cargo features are additive, so downstream cannot disable it. It is
|
|
11
|
+
# removed in chromiumoxide 0.9 (tokio-only), but the parent
|
|
12
|
+
# `mudfish-browser` pins `chromiumoxide = "0.7"` and lives in the external
|
|
13
|
+
# MudFish repository, which is out of scope to edit. No downstream fix is
|
|
14
|
+
# available; tracked upstream until MudFish adopts chromiumoxide >= 0.9.
|
|
15
|
+
"RUSTSEC-2025-0052",
|
|
16
|
+
]
|
|
@@ -29,7 +29,7 @@ jobs:
|
|
|
29
29
|
|
|
30
30
|
- uses: actions/setup-python@v5
|
|
31
31
|
with:
|
|
32
|
-
python-version: "3.
|
|
32
|
+
python-version: "3.12"
|
|
33
33
|
|
|
34
34
|
- name: Create virtualenv
|
|
35
35
|
run: |
|
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
echo "VIRTUAL_ENV=$PWD/.venv" >> "$GITHUB_ENV"
|
|
39
39
|
|
|
40
40
|
- name: Install Python build/test tooling
|
|
41
|
-
run: python -m pip install --upgrade pip maturin pytest
|
|
41
|
+
run: python -m pip install --upgrade pip setuptools maturin pytest
|
|
42
42
|
|
|
43
43
|
- name: Build and install the extension module (maturin develop)
|
|
44
44
|
run: maturin develop
|
|
@@ -49,6 +49,11 @@ jobs:
|
|
|
49
49
|
- name: Install Playwright's Chromium browser
|
|
50
50
|
run: playwright install --with-deps chromium
|
|
51
51
|
|
|
52
|
+
- name: Lint Python (ruff)
|
|
53
|
+
run: |
|
|
54
|
+
python -m pip install ruff
|
|
55
|
+
ruff check --select E9,F63,F7,F82 python
|
|
56
|
+
|
|
52
57
|
- name: pytest tests/python
|
|
53
58
|
run: pytest tests/python -v
|
|
54
59
|
|
|
@@ -71,11 +76,11 @@ jobs:
|
|
|
71
76
|
|
|
72
77
|
- uses: actions/setup-python@v5
|
|
73
78
|
with:
|
|
74
|
-
python-version: "3.
|
|
79
|
+
python-version: "3.12"
|
|
75
80
|
|
|
76
81
|
- name: Install pip-audit and this project's declared dependencies
|
|
77
82
|
run: |
|
|
78
|
-
python -m pip install --upgrade pip pip-audit
|
|
83
|
+
python -m pip install --upgrade pip setuptools pip-audit
|
|
79
84
|
python -m pip install 'click>=8.0' 'playwright>=1.40' 'pyyaml>=6.0' \
|
|
80
85
|
'google-api-python-client>=2.100' 'google-auth>=2.23' \
|
|
81
86
|
'google-auth-oauthlib>=1.1'
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Graphify ignore file - https://docs.graphify.com/reference/configuration
|
|
2
|
+
# Keep the scan (and therefore the agent's graph) focused on real source.
|
|
3
|
+
.git/
|
|
4
|
+
.github/
|
|
5
|
+
graphify-out/
|
|
6
|
+
|
|
7
|
+
# Build output / artifacts
|
|
8
|
+
target/
|
|
9
|
+
dist/
|
|
10
|
+
build/
|
|
11
|
+
*.egg-info/
|
|
12
|
+
node_modules/
|
|
13
|
+
.venv/
|
|
14
|
+
venv/
|
|
15
|
+
env/
|
|
16
|
+
|
|
17
|
+
# Caches
|
|
18
|
+
__pycache__/
|
|
19
|
+
*.pyc
|
|
20
|
+
.pytest_cache/
|
|
21
|
+
.mypy_cache/
|
|
22
|
+
.ruff_cache/
|
|
23
|
+
.tox/
|
|
24
|
+
.nox/
|
|
25
|
+
.coverage
|
|
26
|
+
htmlcov/
|
|
27
|
+
|
|
28
|
+
# Vendored / generated
|
|
29
|
+
*.min.js
|
|
30
|
+
*.min.css
|
|
31
|
+
*.lock
|
|
@@ -10,7 +10,38 @@ notes, not reconstructed from memory — see `ROADMAP_HONEST.md` for the
|
|
|
10
10
|
authoritative, continuously-updated built-vs-not-built breakdown; this
|
|
11
11
|
file is a release-oriented complement to it, not a duplicate.
|
|
12
12
|
|
|
13
|
-
## [
|
|
13
|
+
## [0.3.2] - 2026-10-17
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- Audit remediation: security hardening, correctness fixes, and lint/CI gates.
|
|
17
|
+
|
|
18
|
+
## [0.3.1] - 2026-10-12
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- **The Phase 1.8 interactive-element objectives had no canonical event
|
|
23
|
+
mapping, so seven of the fourteen objectives the heuristics engine can
|
|
24
|
+
emit silently fell through to the generic fallback in every exporter.**
|
|
25
|
+
`recommend/heuristics.py` can produce `Cart Modification`, `Wishlist
|
|
26
|
+
Intent`, `Content Discovery`, `Pagination`, `Video Engagement`,
|
|
27
|
+
`Navigation`, and `Modal Interaction`, but `export/_taxonomy.py`'s
|
|
28
|
+
`CANONICAL_EVENT_MAP` only covered the original seven, so those
|
|
29
|
+
recommendations exported as the platform-neutral `custom_event` (and,
|
|
30
|
+
in GA4/Segment/RudderStack, as their generic default event name). Added
|
|
31
|
+
real, platform-neutral canonical keys (`remove_from_cart`,
|
|
32
|
+
`add_to_wishlist`, `content_discovery`, `pagination`,
|
|
33
|
+
`video_engagement`, `navigation`, `modal_interaction`) plus matching
|
|
34
|
+
spec entries in `ga4.py` (using GA4's documented `remove_from_cart` /
|
|
35
|
+
`add_to_wishlist` / `video_start` recommended events where they exist),
|
|
36
|
+
`segment.py`, and `rudderstack.py` (e.g. Segment's Ecommerce v2 spec
|
|
37
|
+
name `Product Removed`). `intent/ollama_classifier.py`'s `_TAXONOMY`,
|
|
38
|
+
despite a comment claiming it "matches recommend/heuristics.py's
|
|
39
|
+
taxonomy," was also missing these seven — so the LLM classification
|
|
40
|
+
path could never emit them either; it now matches. New tests in
|
|
41
|
+
`tests/python/test_exporters.py` assert every heuristic objective has a
|
|
42
|
+
non-fallback canonical event, every canonical event has a spec entry in
|
|
43
|
+
all three name-mapping exporters, and the Ollama taxonomy equals the
|
|
44
|
+
heuristic taxonomy exactly.
|
|
14
45
|
|
|
15
46
|
## [0.3.0] - 2026-10-04
|
|
16
47
|
|