roam-code 12.34__tar.gz → 12.36__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.
- {roam_code-12.34 → roam_code-12.36}/PKG-INFO +1 -1
- {roam_code-12.34 → roam_code-12.36}/pyproject.toml +1 -1
- {roam_code-12.34 → roam_code-12.36}/src/roam/competitor_site_data.py +2 -2
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp-server-card.json +1 -1
- {roam_code-12.34 → roam_code-12.36}/src/roam/rules/engine.py +59 -1
- {roam_code-12.34 → roam_code-12.36}/src/roam_code.egg-info/PKG-INFO +1 -1
- {roam_code-12.34 → roam_code-12.36}/LICENSE +0 -0
- {roam_code-12.34 → roam_code-12.36}/README.md +0 -0
- {roam_code-12.34 → roam_code-12.36}/setup.cfg +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/__main__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/analysis/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/analysis/effects.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/analysis/taint.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/api.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/ask/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/ask/classifier.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/ask/recipes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/ask/runner.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/ask/workflow.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/attest/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/attest/cga.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/base.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/bridge_config.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/bridge_django.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/bridge_protobuf.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/bridge_rest_api.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/bridge_salesforce.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/bridge_template.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/bridges/registry.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/catalog/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/catalog/detectors.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/catalog/fixes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/catalog/python_idioms.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/catalog/smells.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/catalog/tasks.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/cli.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/audit_trail_helpers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/changed_files.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_adrs.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_adversarial.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_affected.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_affected_tests.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_agent_context.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_agent_export.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_agent_plan.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_ai_ratio.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_ai_readiness.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_alerts.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_annotate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_api.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_api_changes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_api_drift.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_ask.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_attest.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_audit.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_audit_trail_conformance.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_audit_trail_export.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_audit_trail_verify.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_auth_gaps.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_bisect.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_breaking.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_budget.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_bus_factor.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_capsule.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_cga.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_changelog.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_check_rules.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_ci_setup.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_clean.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_clones.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_closure.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_clusters.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_codeowners.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_complexity.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_config.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_congestion.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_context.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_conventions.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_coupling.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_coverage_gaps.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_critique.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_cut.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_dark_matter.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_dashboard.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_dead.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_debt.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_deps.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_describe.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_dev_profile.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_diagnose.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_diff.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_disambiguate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_doc_staleness.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_docs_coverage.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_doctor.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_dogfood.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_drift.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_duplicates.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_effects.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_endpoints.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_entry_points.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_eval_retrieve.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_exit_codes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_fan.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_file.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_fingerprint.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_fitness.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_flag_dead.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_fleet.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_fn_coupling.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_forecast.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_graph_export.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_graph_stats.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_grep.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_guard.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_health.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_help_search.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_hooks.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_hotspots.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_hover.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_impact.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_index.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_index_bundle.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_index_stats.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_ingest_trace.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_init.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_intent.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_invariants.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_layers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_map.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_math.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_mcp_setup.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_mcp_status.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_metrics.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_metrics_push.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_migration_safety.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_minimap.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_missing_index.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_module.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_mutate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_n1.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_oracle.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_orchestrate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_orphan_imports.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_orphan_routes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_over_fetch.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_owner.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_partition.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_path_coverage.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_patterns.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_plan.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_plan_refactor.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_plugins.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_pr_analyze.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_pr_comment_render.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_pr_diff.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_pr_prep.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_pr_risk.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_pre_commit.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_preflight.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_py_modern.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_py_types.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_pytest_fixtures.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_recipes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_recommend.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_relate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_report.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_reset.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_retrieve.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_risk.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_rules.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_rules_validate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_safe_delete.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_safe_zones.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_sbom.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_schema.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_search.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_search_semantic.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_secrets.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_semantic_diff.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_simulate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_simulate_departure.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_sketch.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_smells.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_spectral.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_split.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_stats.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_suggest_refactoring.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_suggest_reviewers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_supply_chain.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_suppress.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_symbol.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_syntax_check.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_taint.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_telemetry.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_test_gaps.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_test_impact.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_test_pyramid.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_test_scaffold.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_testmap.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_timeline.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_tour.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_trace.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_trends.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_triage.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_understand.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_uses.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_verify.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_verify_imports.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_version.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_vibe_check.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_visualize.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_vuln_map.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_vuln_reach.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_vulns.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_watch.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_weather.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_why.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_why_fail.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_workflow.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_ws.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/cmd_xlang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/codeowners_helpers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/context_helpers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/finding_suppress.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/gate_presets.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/git_helpers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/graph_helpers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/metrics_history.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/next_steps.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/pr_analyze/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/pr_analyze/audit_trail.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/pr_analyze/cache.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/pr_analyze/rules.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/resolve.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/commands/suppression.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/config.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/coverage_reports.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/critique/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/critique/aggregator.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/critique/checks.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/db/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/db/connection.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/db/queries.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/db/schema.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/eval/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/eval/harness.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/exit_codes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/fleet/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/fleet/adapters.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/fleet/manifest.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/git_utils.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/anomaly.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/builder.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/clone_detect.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/clusters.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/cycles.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/dark_matter.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/diff.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/fingerprint.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/layers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/pagerank.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/partition.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/pathfinding.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/propagation.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/simulate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/spectral.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/graph/stats.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/complexity.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/discovery.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/django_post.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/file_roles.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/git_stats.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/gitignore.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/incremental.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/indexer.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/parser.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/pytest_fixtures.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/registry_dispatch.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/relations.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/symbols.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/index/test_conventions.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/apex_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/aura_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/base.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/c_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/csharp_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/extractor_schema.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/extractors/kotlin.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/foxpro_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/generic_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/go_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/hcl_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/java_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/javascript_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/kotlin_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/php_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/python_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/query_engine.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/registry.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/ruby_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/rust_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/scala_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/sfxml_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/sql_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/swift_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/typescript_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/visualforce_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/languages/yaml_lang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp_extras/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp_extras/completions.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp_extras/concurrency.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp_extras/progress.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp_extras/sampling.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp_extras/session.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp_extras/watcher.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/mcp_server.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/observability.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/confidence.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/errors.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/file_role_hints.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/formatter.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/framework_filter.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/mermaid.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/project_shape.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/sarif.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/output/schema_registry.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/plugins.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/refactor/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/refactor/codegen.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/refactor/transforms.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/retrieve/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/retrieve/learned_ranker.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/retrieve/pipeline.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/retrieve/rerank.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/retrieve/seeds.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/retrieve/semantic.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/rules/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/rules/ast_match.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/rules/builtin.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/rules/dataflow.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/runtime/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/runtime/daemon.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/runtime/graph_backend.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/runtime/hotspots.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/runtime/lock_modes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/runtime/lockmgr.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/runtime/trace_ingest.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/search/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/search/framework_packs.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/search/index_embeddings.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/search/onnx_embeddings.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/search/tfidf.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/aibom_extension.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_classifier.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_engine.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/api_error_leak.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/java_fileupload_path_traversal.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/js_insecure_jwt_decode.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/js_localstorage_secrets.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/js_prototype_pollution.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/js_ssrf.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/js_xss.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/python_basic.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/python_deserialization.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/python_path_traversal.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/python_socketio_remote_source.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/python_sqli.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/python_urllib_open_redirect.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/taint_rules/vue_v_html.yaml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/vuln_reach.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/security/vuln_store.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/surface_counts.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/telemetry.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/templates/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/templates/ci/Jenkinsfile +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/templates/ci/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/templates/ci/agent-review.yml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/templates/ci/azure-pipelines.yml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/templates/ci/bitbucket-pipelines.yml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/templates/ci/gitlab-ci.yml +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/workspace/__init__.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/workspace/aggregator.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/workspace/api_scanner.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/workspace/config.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam/workspace/db.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam_code.egg-info/SOURCES.txt +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam_code.egg-info/dependency_links.txt +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam_code.egg-info/entry_points.txt +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam_code.egg-info/requires.txt +0 -0
- {roam_code-12.34 → roam_code-12.36}/src/roam_code.egg-info/top_level.txt +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_adrs.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_adversarial.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_affected.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_agent_export.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_agent_mode.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_agent_plan_context.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_ai_ratio.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_ai_readiness.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_alerts_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_annotations.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_anomaly.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_api_changes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_api_drift.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_ask.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_attest.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_audit_trail_aggregate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_audit_trail_conformance.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_audit_trail_sequence.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_audit_trail_verify.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_auth_gaps.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_backend_fixes_round2.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_backend_fixes_round3.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_basic.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_batch_mcp.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_bisect.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_bridge_django.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_bridges.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_bridges_extended.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_budget.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_budget_flag.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_budget_phase2.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_bus_factor.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_capsule.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_cga.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_check_rules.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_ci_gate_eval.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_ci_sarif_guard.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_ci_setup.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_clones.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_closure.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_codeowners.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_commands_architecture.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_commands_exploration.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_commands_health.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_commands_refactoring.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_commands_workflow.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_competitor_site_data.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_comprehensive.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_config.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_congestion.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_context_propagation.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_conventions_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_coverage_gaps_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_coverage_ingestion.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_critique.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_cut.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_dark_matter.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_dark_matter_helpers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_dashboard.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_dataflow_dead.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_dead_aging.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_defer_loading.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_demo_gif_asset.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_describe.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_detail_flag_hints.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_detector_precision.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_deterministic_output.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_dev_profile.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_difficulty_scoring.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_doc_consistency.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_doc_staleness.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_docker_assets.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_docs_coverage.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_docs_site_quality.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_doctor.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_dogfood.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_drift.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_drift_by_team.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_duplicates.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_effects.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_effects_propagation.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_endpoints.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_entry_points_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_eval_retrieve.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_except_pass_narrow.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_exclude_patterns.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_exit_codes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_extractor_grammar_drift.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_fallback_contracts.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_file_roles.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_finding_suppress.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_fingerprint.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_fixes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_flag_dead.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_fleet.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_fn_coupling.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_forecast.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_formatters.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_foxpro.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_framework_detection.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_gate_presets.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_git_helpers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_git_utils.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_guard.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_health_gate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_hooks.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_hotspots.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_hover.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_index.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_index_bundle.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_init_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_install_check.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_intent.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_invariants.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_json_contracts.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_json_error_envelope.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_kotlin_swift_extractors.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_language_corpus.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_languages.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_laravel_fp_fixes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_library_api.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_math.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_math_fp_fixes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_math_tips.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_mcp_extras.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_mcp_server.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_mcp_setup.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_mermaid.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_metrics_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_metrics_push.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_migration_safety.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_minimap.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_missing_index.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_mutate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_n1.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_next_steps.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_onboard.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_oracle.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_orchestrate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_orphan_routes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_oss_bench_harness.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_over_fetch.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pagerank_truncation.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_partition.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_path_coverage.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_patterns_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_performance.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_personalized_pagerank.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_plan.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_plugin_discovery.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_analyze.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_analyze_cache.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_analyze_edge_cases.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_analyze_helpers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_analyze_v2_signals.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_comment_render.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_comment_script.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_diff.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pr_risk_author.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_progress.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_progressive_disclosure.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_properties.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_pytest_fixtures.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_python_extractor_v2.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_python_idioms_e2e.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_python_pivot.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_readme_surface_consistency.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_realworld_feedback.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_refactoring_intelligence.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_registry_dispatch.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_regression_fp_corpus.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_relate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_report.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_reset_clean.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_resolve.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_retrieve.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_retrieve_cross_repo.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_retrieve_seeds.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_risk.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_ruby.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_rule_profiles.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_rules.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_rules_ast_match.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_rules_community_pack.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_rules_dataflow.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_rules_symbol_requirements.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_rules_validate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_runtime.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_runtime_score.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_salesforce.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_sarif_flag.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_sbom.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_scala.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_schema_versioning.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_search_explain.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_secrets.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_secrets_v2.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_semantic_diff.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_semantic_onnx.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_semantic_search.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_simulate.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_simulate_departure.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_sketch.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_smells.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_smoke.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_sna_metrics.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_spectral.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_split_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_sql.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_suggest_reviewers.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_supply_chain.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_surface_counts.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_syntax_check.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_taint.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_taint_analysis.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_taint_classifier.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_taint_intraprocedural.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_test_conventions.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_test_gaps.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_test_scaffold.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_testmap.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_top_flag_consistency.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_tour_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_trends.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_trends_cohort.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_triage.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_uses_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1215_passes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1216_passes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1216_passes_41_50.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1216_passes_51_60.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1217_passes_61_80.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1218_passes_81_90.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1219_passes_91_100.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1220_passes_101_110.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1221_query_timeout.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v1221_untested_commands.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v12_2.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v2_edge_cases.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v2_integration.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v6_features.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v71_features.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v7_features.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_v82_features.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_verify.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_verify_imports.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_vibe_check.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_visualize.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_vuln.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_vulns_cmd.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_watch.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_why.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_workspace.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_ws_resolve_fixes.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_xlang.py +0 -0
- {roam_code-12.34 → roam_code-12.36}/tests/test_yaml_hcl.py +0 -0
|
@@ -1362,8 +1362,8 @@ MAP_METADATA: dict[str, dict[str, object]] = {
|
|
|
1362
1362
|
"relationship": "self",
|
|
1363
1363
|
"peer": True,
|
|
1364
1364
|
"graph": "PageRank + Tarjan + Louvain + layers",
|
|
1365
|
-
"note": "Graph algorithms (PageRank, SCC, Louvain, Fiedler) on tree-sitter ASTs fused with git history in SQLite. 136 MCP tools, 187 CLI commands. 19 Python idiom detectors (v12.7+). 54 algo detectors (12.
|
|
1366
|
-
"version_evaluated": "12.
|
|
1365
|
+
"note": "Graph algorithms (PageRank, SCC, Louvain, Fiedler) on tree-sitter ASTs fused with git history in SQLite. 136 MCP tools, 187 CLI commands. 19 Python idiom detectors (v12.7+). 54 algo detectors (12.36).",
|
|
1366
|
+
"version_evaluated": "12.36",
|
|
1367
1367
|
"repo_url": "https://github.com/Cranot/roam-code",
|
|
1368
1368
|
},
|
|
1369
1369
|
"CKB/CodeMCP": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://schemas.modelcontextprotocol.io/server-card/v1",
|
|
3
3
|
"name": "roam-code",
|
|
4
4
|
"display_name": "roam — instant codebase intelligence",
|
|
5
|
-
"version": "12.
|
|
5
|
+
"version": "12.36",
|
|
6
6
|
"description": "Architectural sight for AI agents before they edit. Pre-indexes symbols, call graphs, dependencies, architecture layers, and git history into a local SQLite DB. 136 MCP tools, 10 resources, 5 prompts, 27 languages. 100% local, zero API keys.",
|
|
7
7
|
"vendor": {
|
|
8
8
|
"name": "Cranot",
|
|
@@ -81,6 +81,48 @@ def _parse_simple_yaml(path: Path) -> dict | None:
|
|
|
81
81
|
except Exception:
|
|
82
82
|
return None
|
|
83
83
|
|
|
84
|
+
# 12.35 (2026-05-06) — sanity-check obviously malformed YAML so callers
|
|
85
|
+
# don't get a permissive non-empty result that hides the bug. PyYAML
|
|
86
|
+
# raises YAMLError on shapes like `this is not: valid: yaml: at all: [`;
|
|
87
|
+
# the fallback should mimic that behaviour. Cheap signal: unbalanced
|
|
88
|
+
# brackets on a single line, but ONLY counting brackets OUTSIDE quoted
|
|
89
|
+
# strings (12.36 — community rule files like
|
|
90
|
+
# `sources: ["$_GET[", "$_POST["]` have legitimate brackets-inside-quotes
|
|
91
|
+
# that aren't balanced if we count naively).
|
|
92
|
+
_quoted_strip_re = re.compile(r"\"[^\"]*\"|'[^']*'")
|
|
93
|
+
first_real_line = ""
|
|
94
|
+
for line in text.split("\n"):
|
|
95
|
+
s = line.strip()
|
|
96
|
+
if not s or s.startswith("#"):
|
|
97
|
+
continue
|
|
98
|
+
if not first_real_line:
|
|
99
|
+
first_real_line = s
|
|
100
|
+
unquoted = _quoted_strip_re.sub("", s)
|
|
101
|
+
opens = unquoted.count("[") + unquoted.count("{")
|
|
102
|
+
closes = unquoted.count("]") + unquoted.count("}")
|
|
103
|
+
if opens != closes:
|
|
104
|
+
raise ValueError(f"malformed YAML: unbalanced brackets in {path}")
|
|
105
|
+
|
|
106
|
+
# 12.35 — top-level-is-a-list detection. PyYAML returns a Python list
|
|
107
|
+
# for input that starts with `- `; the loader downstream surfaces a
|
|
108
|
+
# "must be a mapping" warning because rules.yml requires a dict at
|
|
109
|
+
# the root. Without this, a top-level-list file silently returns {}
|
|
110
|
+
# and no warning ever surfaces.
|
|
111
|
+
if first_real_line.startswith("- "):
|
|
112
|
+
items: list[object] = []
|
|
113
|
+
for line in text.split("\n"):
|
|
114
|
+
s = line.strip()
|
|
115
|
+
if not s or s.startswith("#"):
|
|
116
|
+
continue
|
|
117
|
+
if s.startswith("- "):
|
|
118
|
+
items.append(_coerce_scalar(s[2:].strip()))
|
|
119
|
+
# Cast to dict-shaped return is wrong — return list explicitly so
|
|
120
|
+
# callers can detect "not a dict at top level". Using a list-typed
|
|
121
|
+
# return requires a typing-loose return; the function annotation is
|
|
122
|
+
# `dict | None` but Python is dynamic — return the list. Callers
|
|
123
|
+
# downstream check `isinstance(data, dict)`.
|
|
124
|
+
return items # type: ignore[return-value]
|
|
125
|
+
|
|
84
126
|
result: dict = {}
|
|
85
127
|
# Frame: (indent, container, kind, parent_dict, parent_key)
|
|
86
128
|
# The root frame has parent_dict=None / parent_key=None.
|
|
@@ -157,7 +199,23 @@ def _parse_simple_yaml(path: Path) -> dict | None:
|
|
|
157
199
|
else:
|
|
158
200
|
container[key] = _coerce_scalar(val_raw)
|
|
159
201
|
|
|
160
|
-
|
|
202
|
+
# 12.36 (2026-05-06) — collapse empty placeholder dicts to None so
|
|
203
|
+
# `rules:\n` with no items returns `{"rules": None}` (matching
|
|
204
|
+
# PyYAML behaviour). Without this, the loader downstream sees an
|
|
205
|
+
# empty dict and emits a spurious "must be a list, got dict" warning.
|
|
206
|
+
def _collapse_empty(node):
|
|
207
|
+
if isinstance(node, dict):
|
|
208
|
+
for k in list(node):
|
|
209
|
+
node[k] = _collapse_empty(node[k])
|
|
210
|
+
return node if node else None
|
|
211
|
+
if isinstance(node, list):
|
|
212
|
+
return [_collapse_empty(v) for v in node]
|
|
213
|
+
return node
|
|
214
|
+
|
|
215
|
+
cleaned = _collapse_empty(result)
|
|
216
|
+
if not cleaned:
|
|
217
|
+
return None
|
|
218
|
+
return cleaned
|
|
161
219
|
|
|
162
220
|
|
|
163
221
|
# ---------------------------------------------------------------------------
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|