roam-code 13.6__tar.gz → 13.6.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.
- {roam_code-13.6/src/roam_code.egg-info → roam_code-13.6.1}/PKG-INFO +118 -82
- {roam_code-13.6 → roam_code-13.6.1}/README.md +117 -81
- {roam_code-13.6 → roam_code-13.6.1}/pyproject.toml +1 -1
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/detectors.py +47 -0
- roam_code-13.6.1/src/roam/catalog/js_idioms.py +389 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/python_idioms.py +203 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_adrs.py +4 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_agent_export.py +2 -4
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_ai_readiness.py +3 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_auth_gaps.py +3 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_clones.py +2 -4
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_clusters.py +17 -13
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_coverage_gaps.py +3 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_dead.py +7 -9
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_describe.py +2 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_docs_coverage.py +3 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_doctor.py +4 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_math.py +18 -6
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_missing_index.py +4 -4
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_n1.py +2 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_over_fetch.py +3 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_owner.py +3 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_path_coverage.py +2 -6
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_postmortem.py +4 -6
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pr_analyze.py +4 -7
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pr_bundle.py +7 -6
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pr_replay.py +5 -4
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_safe_zones.py +6 -4
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_split.py +4 -4
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_supply_chain.py +2 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_test_impact.py +3 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_timeline.py +4 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_verify.py +116 -20
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_verify_imports.py +297 -22
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_why.py +3 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_ws.py +4 -5
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/context_helpers.py +3 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/suppression.py +7 -16
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/feedback.py +6 -7
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/partition.py +2 -2
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp-server-card.json +1 -1
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_server.py +7 -12
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/plan/compiler.py +14 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/search/framework_packs.py +2 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/search/index_embeddings.py +2 -3
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/search/tfidf.py +7 -12
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_engine.py +3 -2
- {roam_code-13.6 → roam_code-13.6.1/src/roam_code.egg-info}/PKG-INFO +118 -82
- {roam_code-13.6 → roam_code-13.6.1}/src/roam_code.egg-info/SOURCES.txt +3 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_probe_families_w11_w12_w13.py +25 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_clones.py +4 -4
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_duplicates.py +4 -4
- roam_code-13.6.1/tests/test_idiom_precision.py +246 -0
- roam_code-13.6.1/tests/test_js_idioms.py +315 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_server_card_hash.py +1 -1
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_imports.py +53 -10
- roam_code-13.6.1/tests/test_verify_planted_recall.py +159 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_vue_sfc_imports.py +4 -2
- roam_code-13.6/tests/test_idiom_precision.py +0 -75
- {roam_code-13.6 → roam_code-13.6.1}/LICENSE +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/setup.cfg +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/__main__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/_glob_match.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/_signature_utils.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/agent_opt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/agents_md/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/agents_md/generator.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/analysis/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/analysis/effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/analysis/taint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/api.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/ask/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/ask/classifier.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/ask/recipes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/ask/runner.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/ask/workflow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/atomic_io.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/attest/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/attest/cga.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/attest/emit_vsa.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/attest/vsa.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/base.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/bridge_config.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/bridge_django.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/bridge_protobuf.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/bridge_rest_api.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/bridge_salesforce.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/bridge_template.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/bridges/registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/capability.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/_shared.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/clones_cross_layer.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/clones_rename_invariant.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/fixes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/parallel_hierarchy.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/smells.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/tasks.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/type_switch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/catalog/versions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/cli.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/command_graph.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/_command_utils.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/_yaml_loader.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/actor_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/audit_trail_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/changed_files.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_adversarial.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_affected.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_affected_tests.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_agent_context.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_agent_opt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_agent_plan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_agent_score.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_agents_md.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_ai_ratio.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_alerts.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_annotate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_api.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_api_changes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_api_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_architecture_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_article_12_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_ask.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_at.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_attest.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_audit.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_audit_trail_conformance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_audit_trail_export.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_audit_trail_verify.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_batch_search.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_bench.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_bisect.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_boundary.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_breaking.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_brief.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_budget.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_bus_factor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_capabilities.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_capsule.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_causal_graph.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_cga.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_changelog.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_check_rules.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_ci_setup.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_clean.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_closure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_codeowners.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_commands.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_compare.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_compatibility.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_compile.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_compile_cache.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_compile_stats.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_compiler_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_compiler_health.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_complete.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_complexity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_config.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_congestion.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_constitution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_context.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_conventions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_coupling.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_critique.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_cut.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_cycles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_dark_matter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_dashboard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_db_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_debt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_delete_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_deps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_dev_profile.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_diagnose.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_dict_consistency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_disambiguate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_dispatch_trace.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_doc_staleness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_docs_index.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_dogfood.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_dogfood_aggregate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_duplicates.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_endpoints.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_entry_points.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_envelope_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_eval_retrieve.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_evidence_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_evidence_doctor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_evidence_oscal.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_exit_codes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_explain_command.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_fan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_file.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_findings.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_fingerprint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_fitness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_flag_dead.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_fleet.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_fn_coupling.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_forecast.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_graph_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_graph_export.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_graph_stats.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_grep.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_guard_clean.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_guard_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_guard_doctor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_guard_history.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_guard_init.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_guard_pr.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_guard_rules.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_health.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_help_search.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_history_grep.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_hooks.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_hotspots.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_hover.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_idempotency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_impact.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_index.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_index_bundle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_index_stats.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_ingest_trace.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_init.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_intent.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_intent_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_invariants.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_laws.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_layers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_lease.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_llm_smells.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_lsp.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_magic_numbers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_map.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_mcp.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_mcp_setup.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_mcp_status.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_memory.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_metrics.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_metrics_push.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_migration_plan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_migration_safety.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_minimap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_module.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_mutate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_next.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_observability_opt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_oracle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_orchestrate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_orphan_imports.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_orphan_routes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_partition.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_patterns.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_permit.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_plan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_plan_refactor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_plugins.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pr_comment_render.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pr_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pr_prep.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pr_risk.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pre_commit.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_preflight.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_proof_bundle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_py_modern.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_py_types.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_pytest_fixtures.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_recipes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_recommend.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_refs_text.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_relate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_replay.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_report.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_reset.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_retrieve.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_risk.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_rules.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_rules_validate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_runs.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_safe_delete.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_sbom.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_schema.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_search.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_search_semantic.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_secrets.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_semantic_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_side_effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_simulate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_simulate_departure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_sketch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_skill_generate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_smells.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_spectral.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_stale_refs.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_stats.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_suggest_refactoring.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_suggest_reviewers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_suppress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_surface.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_symbol.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_syntax_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_taint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_telemetry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_test_gaps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_test_hermeticity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_test_pyramid.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_test_scaffold.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_testmap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_tour.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_trace.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_trends.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_triage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_tx_boundaries.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_understand.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_uses.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_verdict.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_verification_contract.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_version.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_vibe_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_visualize.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_vuln_map.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_vuln_reach.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_vulns.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_watch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_weather.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_why_fail.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_why_slow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_workflow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/cmd_xlang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/codeowners_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/conventions_helper.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/finding_suppress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/gate_presets.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/git_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/graph_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/grep_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/metrics_history.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/next_steps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/pr_analyze/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/pr_analyze/audit_trail.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/pr_analyze/cache.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/pr_analyze/rules.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/resolve.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/smells_suppress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/stale_index.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/stale_refs_anchors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/commands/stale_refs_hints.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/competitor_site_data.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/config.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/constitution/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/constitution/loader.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/coverage_reports.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/critique/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/critique/aggregator.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/critique/checks.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/db/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/db/connection.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/db/edge_kinds.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/db/findings.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/db/fs_detect.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/db/queries.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/db/schema.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/eval/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/eval/harness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/_vocabulary.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/actor_trust.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/approval.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/artifact.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/banner.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/change_evidence.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/collector.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/completeness_compat.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/config_hashes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/config_hashes_producer.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/control_mapping_vocab.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/env_refs.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/github_reviews.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/link.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/mcp_receipt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/mcp_receipt_schema.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/oscal.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/policy.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/profiles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/provenance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/refs.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/evidence/subject.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/exit_codes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/fleet/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/fleet/adapters.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/fleet/manifest.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/git_utils.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/github_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/anomaly.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/builder.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/clone_detect.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/clusters.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/cycles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/dark_matter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/fingerprint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/layers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/pagerank.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/pathfinding.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/propagation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/simulate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/spectral.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/spectral_forecast.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/stats.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/graph/versioning.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/guard_enums.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/guard_errors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/guard_log.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/guard_rules.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/_containing_symbol.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/complexity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/discovery.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/django_post.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/file_roles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/git_stats.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/gitignore.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/incremental.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/indexer.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/laravel_post.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/manifest.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/parser.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/pytest_fixtures.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/registry_dispatch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/relations.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/symbols.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/index/test_conventions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/apex_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/aura_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/base.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/c_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/csharp_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/dart_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/extractor_schema.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/extractors/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/extractors/kotlin.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/foxpro_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/generic_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/go_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/hcl_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/java_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/javascript_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/kotlin_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/php_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/python_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/query_engine.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/ruby_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/rust_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/scala_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/sfxml_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/sql_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/swift_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/typescript_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/visualforce_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/languages/yaml_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/laws/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/laws/checker.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/laws/miner.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/laws/serializer.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/leases/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/leases/store.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/adversarial_compress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/completions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/concurrency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/preflight.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/progress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/sampling.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/session.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/mcp_extras/watcher.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/memory/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/memory/store.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/modes/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/modes/policy.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/observability.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/observability_opt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/_severity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/confidence.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/errors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/file_role_hints.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/formatter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/framework_filter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/mermaid.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/metric_definitions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/project_shape.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/risk.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/schema_registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/source_context.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/output/structured_unknowns.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/permits/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/permits/store.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/plan/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/plan/calibration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/plan/envelope_introspect.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/plugins/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/plugins/registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/policy/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/policy/graph_clauses.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/policy/suppression_v2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/pr_bundle_primitives.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/proof_bundle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/proof_bundle_render.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/quality/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/quality/ai_rot.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/quality/cycles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/quality/god_components.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/quality/health_band.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/quality/public_symbols.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/refactor/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/refactor/codegen.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/refactor/transforms.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/resilience.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/retrieve/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/retrieve/learned_ranker.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/retrieve/pipeline.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/retrieve/rerank.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/retrieve/seeds.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/retrieve/semantic.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/rules/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/rules/ast_match.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/rules/builtin.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/rules/dataflow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/rules/engine.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runs/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runs/helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runs/ledger.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runs/signing.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runtime/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runtime/daemon.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runtime/graph_backend.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runtime/hotspots.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runtime/lock_modes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runtime/lockmgr.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/runtime/trace_ingest.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/search/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/search/onnx_embeddings.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/aibom_extension.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/redact.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/sbom_reachability.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_classifier.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/api_error_leak.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/java_deserialization.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/java_fileupload_path_traversal.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/java_sqli.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/js_insecure_jwt_decode.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/js_localstorage_secrets.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/js_prototype_pollution.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/js_ssrf.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/js_xss.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/php_command_injection.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/php_laravel_open_redirect.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/php_laravel_sqli.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/php_laravel_xss.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/php_path_traversal.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/python_basic.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/python_deserialization.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/python_path_traversal.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/python_socketio_remote_source.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/python_sqli.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/python_ssti.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/python_urllib_open_redirect.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules/vue_v_html.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/taint_rules_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/vuln_reach.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/security/vuln_store.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/surface_counts.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/telemetry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/audit_report/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/audit_report/control-mapping.yaml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/ci/Jenkinsfile +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/ci/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/ci/agent-review.yml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/ci/azure-pipelines.yml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/ci/bitbucket-pipelines.yml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/ci/gitlab-ci.yml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/ci/roam-sarif-with-codeql.yml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/templates/ci/slsa-src-l3.yml +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/testing/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/testing/ci_xdist.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/verdict.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/verification_contract.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/workspace/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/workspace/aggregator.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/workspace/api_scanner.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/workspace/config.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/workspace/db.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/world_model/__init__.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/world_model/causal_graph.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/world_model/idempotency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/world_model/side_effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam/world_model/tx_boundaries.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam_code.egg-info/dependency_links.txt +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam_code.egg-info/entry_points.txt +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam_code.egg-info/requires.txt +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/src/roam_code.egg-info/top_level.txt +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_actor_refs_provenance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_actor_trust.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_adrs.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_adversarial.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_adversarial_pattern2_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_adversarial_runner.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_affected.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_agent_export.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_agent_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_agent_modes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_agent_opt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_agent_plan_context.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_agent_score.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_agents_md.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ai_ratio.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ai_readiness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ai_rot_reconciliation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_alerts_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_algo_nested_lookup_dataflow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_algo_scoped_and_wired.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_alias_deprecation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_always_on_budget_cap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_annotations.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_anomaly.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_api_changes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_api_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_approvals_provenance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_architecture_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ask.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_atomic_io_consolidation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_atomic_writes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_attest.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_attest_vsa.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_audit_trail_aggregate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_audit_trail_conformance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_audit_trail_sequence.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_audit_trail_verify.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_auth_gaps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_auth_gaps_helper_indirection.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_authority_refs_provenance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_authority_refs_source.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_authority_run_ledger_corroboration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_auto_count_script.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_b6_adversarial_compress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_b8_spectral_forecast.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_backend_fixes_round2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_backend_fixes_round3.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bare_callers_loop8.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_basic.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_batch_mcp.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_batch_search_paths.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bench_compile.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bench_ground_truth.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bisect.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_blame_cache.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bridge_django.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bridges.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bridges_extended.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_brief.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_budget.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_budget_coverage_survey.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_budget_flag.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_budget_phase2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bus_factor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_bus_factor_excludes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_caller_metric_definition.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_canonical_constant_citations.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_canonical_demo_fixture.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_capability_decoration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_capability_registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_capsule.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_catalog_registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_catalog_shared.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_causal_graph.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cga.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cga_dirty_hash_binding.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cga_edge_digest_sort_stability.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cga_fail_closed.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_changed_files_none_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_changelog_phantoms.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_check_rules.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ci_auto_xdist.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ci_gate_eval.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ci_sarif_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ci_setup.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cli_cache_atomic.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cli_contract.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cli_deprecated_commands_schema.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cli_responses_write.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_clones.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_closure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cloud_sync_detection.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_affected_tests_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_affected_tests_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_at.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_auth_gaps_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_boundary.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_budget_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_bus_factor_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_check_rules_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_clones_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_closure_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_compatibility.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_compile.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_compiler_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_compiler_health.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_complexity_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_context_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_critique_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_dark_matter_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_dead_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_delete_check_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_diagnose_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_dispatch_trace.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_dogfood_aggregate_frontmatter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_duplicates_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_envelope_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_fan_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_findings.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_fitness_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_flag_dead_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_flag_dead_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_guard_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_guard_unresolved.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_health_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_hotspots_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_hotspots_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_hover_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_impact_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_impact_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_init_no_self_advisory.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_invariants_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_laws_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_llm_smells_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_magic_numbers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_magic_numbers_treesitter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_mcp_fast_startup.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_mcp_status_cold_start.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_metrics_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_missing_index_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_n1_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_orphan_imports_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_orphan_routes_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_over_fetch_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_partition_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_permit_persist.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_permit_persist_redteam.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_plan_refactor_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_plan_refactor_unresolved.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_plan_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_pr_bundle_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_preflight_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_pytest_fixtures_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_relate_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_safe_delete_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_safe_zones_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_smells_only_pushdown.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_smells_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_smells_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_symbol_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_test_hermeticity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_test_impact_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_test_scaffold_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_testmap_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_trace_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_verify_imports_sarif.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_visualize_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cmd_why_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_codeowners.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_command_graph.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_command_help_template.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_commands_architecture.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_commands_exploration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_commands_health.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_commands_refactoring.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_commands_workflow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compare_cli.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compat_sweep.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_competitor_site_data.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_bare_filename_resolve.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_bug_site_slice.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_cache.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_consumers_callers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_declared_entry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_describe_module.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_describe_what_for.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_entity_grounding.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_file_history.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_index_staleness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_injection_advice.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_inproc_lock.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_intent_probes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_known_findings.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_likely_files_rerank.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_parallel_impl_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_path_extraction.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_repo_structure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_self_contained.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_session_meta.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_stats_by_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_symbol_rank_source_first.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_synth_target_extraction.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w101_w106_probes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w132_w141.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w142_w146.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w147_w150.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w151_w154.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w155_w158.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w160_w161.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w28_compare.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w35_user_probes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w36_more_probes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w39_tier1.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w40_polish.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w43_w45_polish.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w46_w55_polish.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w57_canonicalize_and_symcache.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compile_w70_cache_safety.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compiler_guard_bridge.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_complete_prefix.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compound_recipe_registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_compound_registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_comprehensive.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_confidence_triples.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_config.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_config_state_uniform_vocabulary.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_congestion.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_constitution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_context_propagation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_conventions_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_conventions_consolidation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_corpus_routing_lock.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_count_drift_hook.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_count_drift_no_overlap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_coverage_gaps_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_coverage_ingestion.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_critique.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cut.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_cycles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dark_matter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dark_matter_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dart.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dashboard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dashboard_unique_signals.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dataflow_dead.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_db_tuning.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_db_user_version.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dead_aging.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dead_code_intra_module_regression.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dead_mcp_seeding.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dead_vue_consumers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_decorator_registry_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_defer_loading.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_demo_fixtures.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_demo_gif_asset.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_deps_importer_list_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_describe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_describe_stack_leak.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_destructive_tools_derived.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_detail_flag.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_detail_flag_hints.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_detail_semantics.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_detector_file_scope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_detector_precision.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_detector_registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_deterministic_output.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dev_profile.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_diff_empty_state.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_difficulty_scoring.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dispatch_trace_counterfactual.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doc_consistency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doc_hygiene_ci_gate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doc_link_anchors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doc_no_phantom_cli.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doc_staleness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_docker_assets.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_docs_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_docs_index.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_docs_site_quality.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doctor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doctor_breadcrumb.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doctor_ci_workflow_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doctor_hints_in_errors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doctor_refresh_install.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_doctor_stale_signal_advisory.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dogfood.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dogfood_aggregate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dogfood_dedup_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_dogfood_dedup_check_e2e.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_drift_by_team.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_duplicates.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_duplicates_bounded.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_effects_propagation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_eight_questions_audit.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_empty_state_framing.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_endpoints.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_entry_points_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_env_refs_helper.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_envelope_diff_baseline.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_envelope_introspect.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_envelope_meta_roam_version.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_envelope_section_budget.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_envelope_size_budget.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_eval_retrieve.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_banner.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_collector.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_diff_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_doctor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_feedback.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_limitations.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_oscal.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_oscal_ar.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_packet_size.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_policy.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_pr_replay.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_profiles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_provenance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_redaction_snapshots.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_schema_migration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_stale_producer.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_evidence_v0.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_except_pass_narrow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_exclude_patterns.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_exit_codes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_extension_constant_consolidation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_extension_versioning.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_extract_mode_usage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_extract_regen_signal.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_extract_typed.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_extractor_grammar_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_extractor_smoke.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fallback_contracts.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fan_test_prod_split.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fetch_handle_chunked.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_file_roles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_find_project_root_worktree.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_find_symbol_tier_stamp.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_finding_suppress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_audit_trail_conformance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_audit_trail_verify.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_auth_gaps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_bus_factor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_canonical_detectors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_complexity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_conventions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_critique.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_dark_matter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_dead.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_detector_count_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_doctor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_fan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_fingerprint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_health.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_hotspots.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_laws.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_missing_index.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_n1.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_orphan_imports.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_over_fetch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_pr_risk.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_registry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_smells.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_taint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_vibe_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_findings_vulns.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fingerprint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_first_error_message_preserved.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fixes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_flag_dead.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fleet.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fn_coupling.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_forecast.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_formatter_agent_contract.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_formatter_preserved_list_fields.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_formatters.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_foxpro.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_framework_detection.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_framework_pack_language_gating.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fts5_docstring.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_fts5_incremental.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_gate_presets.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_git_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_git_stats_skip.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_git_utils.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_github_reviews_parser.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_global_ci_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_god_components_kind_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_graph_layers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_graph_versioning.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_grep_extended.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_grep_integration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_grep_performance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_grep_xlang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_clean.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_doctor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_errors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_history.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_init.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_log.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_pr_and_github_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_rules.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_guard_rules_cli.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_health_baseline.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_health_gate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_hooks.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_hooks_claude_setup.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_hostile_markdown_inputs.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_hotspots.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_hover.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_idempotency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ignore_findings_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_impact_bounded.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_index.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_index_bundle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_index_import_verification.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_index_light_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_index_step_manifest.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_init_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_init_no_unsolicited_writes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_install_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_intent.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_invariants.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_iri_migration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_is_excluded_path_none_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_is_test_path.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_json_contracts.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_json_error_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_json_usage_path_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_kotlin_swift_extractors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_l1_rate_floor.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_language_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_languages.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_laravel_dead_idioms.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_laravel_fp_fixes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_law4_anchor_counts.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_law4_anchoring.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_law4_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_law4_residual.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_law4_stragglers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_laws_mining.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_leak_gate_exemplars.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_lease_system.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ledger_signing.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_library_api.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_llm_smells.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_load_suppressions_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_load_yaml_with_warnings.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_loop_e2e.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_loop_performance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_loud_fallback_no_new_silent_except.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_manifest.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_math.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_math_fp_fixes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_math_tips.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_W303_wrappers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_W304_wrappers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_W305_wrappers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_W306_wrappers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_architecture_wrappers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_batch_search_complete_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_cold_start_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_compat_profile.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_contract_enforcement.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_decision_receipt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_error_envelope_status.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_exploration_wrappers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_extras.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_guard_wrappers_dispatch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_handle_off.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_health_wrappers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_json_parse_defense.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_outputschema_wave_b1.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_outputschema_wave_b2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_outputschema_wave_b3.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_outputschema_wave_b4.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_outputschema_wave_b5.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_outputschema_wave_b5b.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_param_aliases.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_param_aliases_input_path.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_param_names.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_pattern1_variant_b.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_receipt_emitter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_receipt_json_schema.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_receipt_schema_in_wheel.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_refactoring_wrappers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_server.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_setup.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_setup_write.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_tool_metadata_completeness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_tool_side_effect_metadata.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_tool_side_effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_tool_telemetry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_tool_versioning.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mcp_wrapper_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_memory_substrate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mermaid.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_metric_definition_sidecars.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_metrics_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_metrics_push.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_migration_plan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_migration_safety.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_minimap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_missing_index.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_missing_index_unconditional.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_missing_index_unconditional_first.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mode_bootstrap_allowlist.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mode_classification_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mode_enforcement_dispatch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mutate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_mutate_apply.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_n1.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_n1_fixes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_naming_convention_sampling.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_next_router.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_next_steps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_no_internal_language.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_non_idempotent_tools_derived.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_non_read_only_tools_derived.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_observability_opt.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_onboard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_optional_imports_guarded.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_oracle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_orchestrate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_orphan_imports_filters.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_orphan_routes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_oss_bench_harness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_over_fetch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_over_fetch_three_state.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_owner_path_not_found.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_package_data_wheel_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pagerank_scipy_core.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pagerank_truncation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_parallel_analyzers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_parallel_impl_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_parallel_probe_dispatch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_partition.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_path_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_path_coverage_classify.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pattern1_envelope_shape.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pattern2_silent_success_disclosure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pattern3c_reconciliation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pattern_1_variant_d_resolver_audit.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_patterns_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_per_finding_suppressions_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_performance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_personalized_pagerank.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_phase0_commands.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_plan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_plan_artifact_selector.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_plugin_discovery.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_plugin_dogfood_rails.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_plugin_substrate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_policy_decisions_provenance.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_policy_graph_clauses.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_analyze.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_analyze_cache.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_analyze_diff_failure_propagation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_analyze_edge_cases.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_analyze_helpers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_analyze_v2_signals.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_bundle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_bundle_causal_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_bundle_nonexistent_symbol.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_bundle_r28_integration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_comment_render.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_comment_script.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_prep_pattern2_guard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_replay.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_replay_github_reviews.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pr_risk_author.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_preflight_fitness_sibling_names.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_prepush_gate_wired.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_procedure_registry_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_producer_collector_contracts.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_progress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_progressive_disclosure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_proof_bundle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_properties.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_pytest_fixtures.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_python_extractor_docstring_safety.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_python_extractor_v2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_python_idioms_e2e.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_python_pivot.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_quality_dashboard.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_readme_surface_consistency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_realworld_feedback.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_refactoring_intelligence.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_registered_tool_side_effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_registry_dispatch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_regression_fp_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_relate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_relations.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rename_edge_recovery.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_replay.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_repo_root_helper.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_report.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_reset_clean.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_resilience.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_resolution_disclosure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_resolve.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_resolve_file_symbols_substrate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_resolver_import_target_preference.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_response_volume_handles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_retrieve.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_retrieve_cross_repo.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_retrieve_seeds.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_risk.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_roam_diff_schema_validation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_roam_full_coupling.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ruby.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rule_profiles.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rules.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rules_ast_match.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rules_community_pack.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rules_dataflow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rules_engine_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rules_symbol_requirements.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_rules_validate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_runs_auto_log.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_runs_end_with_bundle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_runs_ledger.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_runtime.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_runtime_score.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_salesforce.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_consumer_list.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_consumers_schema.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_disclosure_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_enrichment.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_flag.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_runtime_notifications.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_runtime_overrides_followup.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_runtime_overrides_helper.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_suppressions_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sarif_tag_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sbom.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sbom_fp_categories.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_scala.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_schema_versioning.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_search_enrichment_loop3.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_search_explain.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_secrets.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_secrets_v2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_security_redact.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_semantic_diff.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_semantic_onnx.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_semantic_search.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_side_effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_side_effects_typescript.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_simulate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_simulate_departure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_situation_compounds.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sketch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_skill_generate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_smells.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_smells_confidence_mapping_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_smells_detector_count_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_smoke.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sna_metrics.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_snake_case_function_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_source_context.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_spectral.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_spectral_bounded.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_split_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sql.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_sql_like_escape_discipline.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_staged_rollout_readiness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_stale_db_dir_error.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_stale_refs.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_stale_refs_corruption.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_stale_refs_dogfood_fixes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_state_family_aliases.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_strip_list_payloads_preserves_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_structured_unknown_filter.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_suggest_reviewers.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_supply_chain.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_suppression_adversarial.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_suppression_append_only.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_suppression_v2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_suppressions_unified_schema.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_surface_consistency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_surface_counts.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_surface_counts_wheel_layout.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_surface_top_level_keys.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_synergy_agents_md_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_synergy_next_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_synergy_pr_bundle_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_synergy_runs_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_syntax_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_analysis.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_classifier.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_intraprocedural.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_java_deserialization.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_java_sqli.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_owasp_top10.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_php_laravel.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_rule_hygiene.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_taint_ssti.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_task_optional_tools_derived.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_task_required_tools_derived.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_test_conventions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_test_detection_consolidation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_test_gaps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_test_scaffold.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_testmap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_metadata_completeness.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_metadata_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_metadata_flags.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_metadata_side_effect_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_metadata_side_effects.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_metadata_side_effects_complete.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_metadata_side_effects_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_side_effect_metadata.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_side_effect_metadata_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tool_side_effect_metadata_declared.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_top_flag_consistency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tour_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_trace_bounded.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_trends.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_trends_cohort.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_triage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_tx_boundaries.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_understand_health_band_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_user_version_discipline.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_uses_call_line_loop5.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_uses_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1215_passes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1216_passes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1216_passes_41_50.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1216_passes_51_60.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1217_passes_61_80.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1218_passes_81_90.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1219_passes_91_100.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1220_passes_101_110.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1221_query_timeout.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v1221_untested_commands.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v12_2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v2_edge_cases.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v2_integration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v6_features.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v71_features.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v7_features.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_v82_features.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_validate_plan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verification_contract_and_verdict.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_baseline.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_changed_lines.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_deep.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_dir_target.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_dogfood_fps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_dup_precision.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_noqa.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_reindexes_stale_targets.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_secrets_gate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_self_dogfood_lock.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_verify_suppressions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_version_stamps.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_vibe_check.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_vibe_check_framework_hooks.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_visualize.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_vocabulary_drift_w198.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_vue_vitest_detection.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_vuln.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_vuln_store_ingest.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_vulns_cmd.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_followup_b_adversarial_severity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_followup_c_severity_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_followup_d_severity_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_followup_f_api_changes_severity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_followup_g_severity_shortcode_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_followup_h_api_drift_severity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_followup_j_laws_confidence_vocab.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_smells_severity_5tier.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1005_smells_severity_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1030_followup_a_alerts_budget_load_status.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1030_followup_b_health_load_status.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1030_followup_c_check_rules_load_status.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1030_followup_d_fitness_load_status.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1030_followup_f_rules_load_status.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1030_load_status.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1038_extract_typed_integration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1057_math_unknown_detectors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1060_sarif_runtime_notifications_extension.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1068_search_unknown_kind.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1069_endpoints_unknown_framework.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1070_test_scaffold_unknown_framework.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1074_workflow_explain_unknown.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1075_endpoints_unknown_method.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1079_oracle_unknown.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1083_followup_2_cli_difflib.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1083_followup_3_multi_value.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1083_followup_adopters.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1083_to_summary_payload.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1084_denominator_clamp.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1085_fingerprint_cap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1086_cmd_cut_cap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1088_overall_risk_case_insensitive.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1100_schema_violation_partial_success.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1101_list_counts_symmetric.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1102_preserved_truncations_symmetric.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1111_click_argument_name_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1121_click_argument_file_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1121_click_argument_input_path_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1121_click_argument_pattern_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1121_click_argument_target_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1136_click_option_input_path_dest_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1142_followup_b_cap_disclosure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1142_followup_cap_disclosure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1142_limit_top_aliases.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1253_hash_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1254_evidence_stale_consumer.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1255_config_hashes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1261_vsa_stale_consumer.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1262_evidence_doctor_stale_banner.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1266_completeness_compat.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1272_unresolved_exit_convention.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1279_producer_integration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w12_dimension_real_names.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1310_tier_discard_preflight_plan.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w1311_describe_understand_minimap_resolver.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w211_refs_extensions.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w251_ci_env_detection.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w350_doctor_replay_permits_authority.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w350_drive_by_oscal_authority.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w365_followup_2_capability_invariants.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w365_followup_capability_side_effect.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w365_tool_metadata_annotations_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w420_no_runtime_count_headline.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w420_surface_count_plugin_invariant.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w421_regex_toggle.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w43_deps_multi.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w444_mcp_tool_names_no_dedupe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w452_python_taint_indexer_gap.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w462_landing_page_tool_count_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w484_templates_ci_reachable.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w489_a_followup_cga_qualified_only.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w489_a_taint_qualified_only_lint.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w512_edge_kinds_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w543_edge_kind_canonical.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w543_followup_c_migration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w543_followup_migration.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w547_severity_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w588_fragile_path_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w589_release_lease_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w590_lease_policy_no_project_root.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w591_permit_policy_no_project_root.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w592_gc_expired_leases_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w593_permits_silent_fails.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w595_read_permit_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w596_read_run_meta_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w597_daemon_read_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w598_pr_analyze_cache_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w599_trace_ingest_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w600_config_hashes_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w601_signing_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w602_metrics_push_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w603_open_db_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w604_findings_readers_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w605_index_embeddings_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w606_framework_packs_warnings_out.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_a_cmd_search_semantic_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_aa_cmd_pr_analyze_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ab_cmd_pr_risk_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ac_cmd_pr_prep_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ad_cmd_attest_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ae_cmd_pr_bundle_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_af_cmd_cga_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ag_cmd_for_refactor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ah_cmd_pr_replay_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ai_cmd_audit_trail_verify_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_aj_for_security_review_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ak_cmd_supply_chain_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_al_cmd_audit_trail_conformance_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_am_cmd_sbom_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_an_cmd_postmortem_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ao_for_bug_fix_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ap_cmd_audit_trail_export_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_aq_cmd_vulns_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ar_for_new_feature_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_as_cmd_runs_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_at_cmd_evidence_doctor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_au_cmd_vuln_reach_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_av_cmd_dogfood_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_aw_cmd_preflight_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ax_cmd_evidence_diff_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ay_cmd_taint_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_az_cmd_minimap_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_b_cmd_retrieve_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ba_cmd_health_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bb_cmd_impact_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bc_cmd_understand_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bd_cmd_capsule_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_be_cmd_doctor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bf_cmd_context_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bg_cmd_debt_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bh_cmd_diagnose_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bi_cmd_retrieve_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bj_cmd_complexity_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bk_cmd_dark_matter_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bl_cmd_critique_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bm_cmd_duplicates_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bn_cmd_smells_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bo_cmd_search_semantic_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bp_cmd_diff_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bq_cmd_clones_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_br_cmd_search_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bs_cmd_vibe_check_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bt_cmd_attest_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bu_cmd_pr_risk_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bv_cmd_grep_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bw_cmd_pr_bundle_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bx_cmd_dead_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_by_cmd_pr_analyze_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_bz_cmd_cga_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_c_cmd_findings_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ca_cmd_pr_replay_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cb_cmd_n1_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cc_cmd_pr_prep_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cd_cmd_supply_chain_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ce_cmd_over_fetch_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cf_cmd_evidence_doctor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cg_cmd_sbom_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ch_cmd_vulns_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ci_cmd_missing_index_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cj_cmd_taint_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ck_cmd_evidence_diff_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cl_cmd_vuln_reach_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cm_cmd_auth_gaps_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cn_cmd_audit_trail_verify_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_co_cmd_audit_trail_conformance_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cp_cmd_hotspots_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cq_cmd_bus_factor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cr_cmd_audit_trail_export_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cr_cmd_orphan_imports_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ct_cmd_runs_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cu_cmd_invariants_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cv_cmd_postmortem_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cw_cmd_conventions_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cx_cmd_alerts_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cy_cmd_fan_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_cz_cmd_dark_matter_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_d_cmd_dogfood_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_da_cmd_relate_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_db_cmd_deps_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dc_cmd_clones_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dd_cmd_duplicates_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_de_cmd_uses_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_df_cmd_smells_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dg_cmd_describe_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dh_cmd_fingerprint_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_di_cmd_metrics_push_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dj_cmd_fan_score_classify_extension.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dk_cmd_capsule_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dl_cmd_dead_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dm_cmd_audit_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dn_cmd_diagnose_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_do_cmd_graph_export_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dp_cmd_dashboard_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dq_cmd_n1_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dr_cmd_postmortem_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ds_cmd_orchestrate_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dt_cmd_over_fetch_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_du_cmd_partition_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dv_cmd_pr_replay_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dw_cmd_doctor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dx_cmd_missing_index_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dy_cmd_agent_plan_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_dz_cmd_taint_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_e_cmd_search_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ea_cmd_audit_trail_verify_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_eb_cmd_fleet_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ec_cmd_preflight_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ed_cmd_auth_gaps_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ee_cmd_audit_trail_conformance_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ef_cmd_simulate_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_eg_cmd_mutate_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_eh_cmd_bus_factor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ei_cmd_cut_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ej_cmd_critique_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ek_cmd_adversarial_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_el_cmd_pr_analyze_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_em_cmd_closure_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_en_cmd_hotspots_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_eo_cmd_pr_prep_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_ep_cmd_for_refactor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_eq_cmd_trace_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_es_cmd_grep_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_f_cmd_complete_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_g_cmd_grep_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_h_cmd_history_grep_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_i_cmd_refs_text_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_j_cmd_delete_check_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_k_cmd_describe_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_l_cmd_minimap_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_m_cmd_health_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_n_cmd_doctor_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_o_cmd_dashboard_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_p_cmd_audit_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_q_cmd_pr_risk_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_r_cmd_preflight_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_s_cmd_diagnose_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_t_cmd_impact_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_u_cmd_uses_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_v_cmd_deps_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_w_cmd_relate_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_x_cmd_fan_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_y_cmd_critique_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w607_z_cmd_diff_warnings_out_envelope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w639_detector_smoke.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_a_impact_risk_level.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_b_critique_risk_level.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_c_pr_bundle_risk_level.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_d_attest_risk_level.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_e_diff_risk_level.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_f_collector_canonical_risk.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_g_dark_matter_risk_level.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_h_migration_plan_risk_level.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_followup_i_exporter_risk_vocab.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w641_pr_risk_risk_level_emit.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w661_algo_detector_smoke.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w662_bare_except_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w664_package_data_init_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w668_as_file_pattern_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w675_example_smells_suppress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w676_followup_example_files.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w680_world_model_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w681_taint_engine_positive_smoke.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w693_suppression_cross_loader.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w703_comment_syntax_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w711_mcp_card_error_branches.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w712_mcp_list_tools_smoke.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w725_comment_density_foxpro_scss.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w738_suppression_wire_format.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w759_preflight_lowercase.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w761_critique_severity_vocab.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w761_invariants_bus_factor_complexity_lowercase.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w761_vulns_secrets_severity_vocab.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w762_severity_upper_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w792_well_known_card_mirrors.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w801_endpoints_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w802_dead_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w803_n1_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_a_cmd_owner_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_aaa_cmd_mode_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_aaaa_cmd_delete_check_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_aaaaa_cmd_boundary_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_b_cmd_minimap_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_bb_cmd_clusters_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_bbb_cmd_memory_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_bbbb_cmd_simulate_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_bbbbb_cmd_pr_bundle_validate_identity_skip.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_c_cmd_oracle_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_cc_cmd_spectral_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ccc_cmd_attest_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_cccc_cmd_clones_below_threshold_collapse.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ccccc_cmd_why_slow_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_consolidate_cross_artifact_drift_table.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_d_cmd_workflow_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_dd_cmd_history_grep_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ddd_cmd_constitution_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_dddd_cmd_orchestrate_target_resolution.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ddddd_cmd_evidence_doctor_q17_asymmetry.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_diff_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_e_cmd_path_coverage_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ee_cmd_simulate_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_eee_cmd_agent_score_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_eeee_cmd_diff_resolution_disclosure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_eeeee_cmd_verify_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_empty_state_pattern_2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_f_cmd_for_bug_fix_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_fan_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_fff_cmd_cga_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ffff_cmd_smells_below_threshold_collapse.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_fffff_cmd_pr_replay_verify_identity_skip.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_fingerprint_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_followup_pattern_2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_g_cmd_pr_prep_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_gg_cmd_mutate_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ggg_cmd_for_new_feature_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_gggg_cmd_capsule_snapshot_state.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ggggg_cmd_attest_signing_surface_producer_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_h_cmd_explain_command_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_hh_cmd_test_impact_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_hhh_cmd_capsule_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_hhhh_cmd_critique_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_hhhhh_cmd_syntax_check_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_i_cmd_describe_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ii_cmd_relate_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_iii_cmd_evidence_diff_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_iiii_cmd_fingerprint_snapshot_state.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_iiiii_cmd_postmortem_verifier_identity_skip.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_j_cmd_understand_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_jj_cmd_hover_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_jjj_cmd_tour_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_jjjj_cmd_pr_diff_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_jjjjj_cmd_suggest_reviewers_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_k_cmd_module_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_kk_cmd_for_refactor_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_kkk_diagnose_issue_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_kkkk_cmd_taint_cross_lang_scoring.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_kkkkk_cga_vsa_sibling_consistency.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_l_cmd_preflight_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ll_cmd_for_security_review_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_lll_cmd_evidence_doctor_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_llll_cmd_runs_replay_lineage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_lllll_cmd_attest_verify_identity_skip.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_m_cmd_diagnose_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_mm_cmd_pr_analyze_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_mmm_cmd_pr_replay_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_mmmm_cmd_workspace_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_mmmmm_cmd_coupling_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_n_cmd_file_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_nn_cmd_pr_bundle_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_nnn_cmd_evidence_oscal_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_nnnn_cmd_vuln_reach_cross_lang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_nnnnn_compound_cross_subcommand_identity_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_o_cmd_why_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_oo_cmd_dogfood_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ooo_prepare_change_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_oooo_cmd_attest_disclosure.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ooooo_pr_bundle_slsa_l3_three_artifact_identity_coherence.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_p_cmd_impact_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_pp_cmd_dashboard_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_pppp_cmd_cga_attestation_lineage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ppppp_pr_bundle_cosign_four_artifact_identity_coherence.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_pr_analyze_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_q_cmd_deps_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_qq_cmd_visualize_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_qqq_review_change_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_qqqq_cmd_supply_chain_cross_eco.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_qqqqq_compound_recipe_shape_axis_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_r_cmd_adversarial_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_rr_cmd_audit_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_rrr_cmd_postmortem_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_rrrr_cmd_test_gaps_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_rrrrr_pr_bundle_rekor_five_artifact_identity_coherence.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_s_cmd_fan_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_sss_cmd_triage_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ssss_cmd_affected_tests_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_sssss_pr_bundle_fulcio_six_artifact_identity_coherence.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_t_cmd_uses_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_tt_cmd_brief_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ttt_cmd_ai_readiness_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_tttt_cmd_pr_bundle_q18_coverage_axis.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ttttt_octet_trimmed_iserror_axis_sweep.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_u_cmd_orchestrate_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_uu_cmd_replay_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_uuu_cmd_grep_reachability_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_uuuu_cmd_audit_trail_verify_identity_skip.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_uuuuu_error_storm_coalescer_trim_variant_sweep.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_v_cmd_trace_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_vv_cmd_next_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_vvv_explore_compound_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_vvvv_cmd_affected_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_w_cmd_refs_text_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_ww_cmd_runs_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_www_cmd_dark_matter_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_wwww_vsa_verifier_identity_skip.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_x_cmd_layers_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_xx_cmd_lease_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_xxx_cmd_refs_text_reachability_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_xxxx_cmd_adversarial_shared_helper_silent_safe.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_y_cmd_partition_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_yy_cmd_intent_check_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_yyy_cmd_n1_post_mod_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_yyyy_cmd_pr_replay_q17_harvester_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_z_cmd_delete_check_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_zzz_cmd_duplicates_post_mod_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w805_zzzz_cmd_evidence_diff_cross_repo_identity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w806_complexity_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w807_missing_index_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w808_clones_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w809_over_fetch_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w811_bus_factor_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w812_orphan_imports_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w815_auth_gaps_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w816_hotspots_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w820_smells_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w821_duplicates_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w823_vulns_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w824_invariants_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w825_taint_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w827_audit_trail_conformance_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w828_pr_risk_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w829_audit_trail_verify_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w830_audit_trail_verify_gate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w831_critique_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w833_health_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w835_doctor_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w837_coverage_gaps_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w837_forecast_empty_corpus.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w844_card_hash_auto_rotate.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w852_type_switch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w853_speculative_generality.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w855_rename_invariant_clones.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w856_cross_layer_clones.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w857_parallel_hierarchy.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w870_detector_version_stamp_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w898_followup_b_laws_checker.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w898_followup_is_test_path_clone_sweep.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w898_is_test_path_delegation.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w907_cycle_hedge_audit.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w910_alerts_threshold_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w911_confidence_tier_parity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w912_detector_metadata_coverage.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w918_alerts_silent_fallback.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w933_typeddict_boundary_audit.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w937_no_mojibake_em_dashes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w954_core_tools_capability_drift.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w962_w963_w964_alerts_pattern2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w985_followup_head_unchanged_info_log.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w985_incremental_skip_info_log.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w985_shallow_history_info_log.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w987_smells_pattern2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w989_pr_risk_pattern2.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w994_w995_suppress_yaml.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w_json_mode_no_stdout_warnings.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w_mcp_injection_marker_egress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w_mcp_mode_enforcement.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w_mcp_receipt_hmac_link.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w_mcp_redact_egress.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w_mcp_security_pipeline_e2e.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_w_mcp_shadow_mode.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_watch.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_why.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_why_slow.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_workspace.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_world_model_classifier_fidelity.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ws_resolve_fixes.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_ws_resolve_unmatched.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_x_lang_scope.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_xlang.py +0 -0
- {roam_code-13.6 → roam_code-13.6.1}/tests/test_yaml_hcl.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: roam-code
|
|
3
|
-
Version: 13.6
|
|
3
|
+
Version: 13.6.1
|
|
4
4
|
Summary: Local codebase intelligence for AI coding agents: structural repo map, change-safety gates, MCP security receipts, and tamper-evident ChangeEvidence packets. 100% local, zero API keys, zero network egress.
|
|
5
5
|
Author: Cranot
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -218,6 +218,7 @@ spends your tokens only where it wins.
|
|
|
218
218
|
| "explain the compiler module's architecture" | 13 → **6** | 618K → 240K | $1.85 → $1.01 |
|
|
219
219
|
| "trace how a command becomes an MCP tool" | 12 → **8** | 464K → 303K | $1.25 → $1.01 |
|
|
220
220
|
| security-hook comprehension (hard, multi-file) | 6 → **2** | 267K → 117K | $1.15 → $0.56 |
|
|
221
|
+
| "what are the biggest cycles in this codebase?" (re-measured 06-11) | 6 → **1** | — | $0.65 → **$0.07** |
|
|
221
222
|
| "where is the CLI entry point?" (trivial, re-measured 06-11) | 1 → 1 | 48K → 50K | $0.21 → $0.22 |
|
|
222
223
|
| "write a pytest for X" (generation, re-measured 06-11) | 5 → 7 | 275K → 396K | $0.61 → **$0.45** |
|
|
223
224
|
|
|
@@ -238,14 +239,75 @@ passing — no LLM judging): 20 cells of planted bugs with real tracebacks —
|
|
|
238
239
|
source around the cited `path:line`, so the typical fix lands within 2
|
|
239
240
|
turns.
|
|
240
241
|
|
|
241
|
-
**Routing, replayed on 723 real prompts** from live agent sessions: **
|
|
242
|
-
|
|
243
|
-
**p50
|
|
242
|
+
**Routing, replayed on 723 real prompts** from live agent sessions: **91%
|
|
243
|
+
of envelopes ship pre-executed answers** (L1 probes) — the envelope already
|
|
244
|
+
contains the literal answer — at **p50 0.45 s cold / p50 92 ms live**
|
|
245
|
+
(warm cache) compile latency, fully local. Zero model calls.
|
|
246
|
+
|
|
247
|
+
**Eval history by version** — re-measured on every kernel change; losses are
|
|
248
|
+
published, attacked, then re-measured (full per-cell history in the repo):
|
|
249
|
+
|
|
250
|
+
| measured | kernel | what | result |
|
|
251
|
+
|---|---|---|---|
|
|
252
|
+
| Jun 09 | v13.4 | 41-cell nav/comprehension A/B | turns −83%, tokens −80%, cost −63% |
|
|
253
|
+
| Jun 09 | v13.4 | 20-cell ground-truth bugbench | 10/10 both arms, cost −13% |
|
|
254
|
+
| Jun 09 | v13.4 | trivial-prompt cell | **+80% cost — published loss** |
|
|
255
|
+
| Jun 09 | v13.4 | generation cell | **+17% cost — published loss** |
|
|
256
|
+
| Jun 11 | v13.6 | trivial-prompt cell, re-measured n=3 | tie ($0.21 → $0.22) |
|
|
257
|
+
| Jun 11 | v13.6 | generation cell, re-measured n=3 | **−26% cost win** |
|
|
258
|
+
| Jun 11 | v13.6 | "biggest cycles" cell, re-measured n=3 | **−89% cost win** ($0.65 → $0.07, 6→1 turns) |
|
|
259
|
+
| Jun 11 | v13.6 | 723-prompt routing replay | 91% L1, p50 0.45 s cold |
|
|
244
260
|
|
|
245
261
|
Caveats that always ship with these numbers: trivial prompts the agent
|
|
246
262
|
one-shots anyway gain nothing (now a within-noise tie after the lean/skip
|
|
247
|
-
levers); cells are n=2–3 with medians and ranges.
|
|
248
|
-
|
|
263
|
+
levers); cells are n=2–3 with medians and ranges.
|
|
264
|
+
|
|
265
|
+
<details>
|
|
266
|
+
<summary><strong>Benchmark archaeology — runs #1–#4 (May 2026), including the honest negative result that drove the fixes</strong></summary>
|
|
267
|
+
|
|
268
|
+
Two independent A/B runs at different scales — the larger sample inverts the smaller. Reporting both honestly.
|
|
269
|
+
|
|
270
|
+
**Run #1 (n=3 per cell, 27 cells, $16.88):** compile appeared to dominate (−29% wall vs static). That static prompt included a `"Hard cap: 4 tool calls"` line that turned out to act as a quota.
|
|
271
|
+
|
|
272
|
+
**Run #2 (n=3–7 per cell, 78 cells, $54.88, "Hard cap" line removed from static):**
|
|
273
|
+
|
|
274
|
+
| Condition | Mean turns | Mean wall | Mean cost |
|
|
275
|
+
|---|---|---|---|
|
|
276
|
+
| vanilla | 7.0 | 33.2s | $0.68 |
|
|
277
|
+
| **static / roam_agent** | **5.8** | **25.1s** | **$0.66** |
|
|
278
|
+
| compile | 8.2 | 47.9s | $0.78 |
|
|
279
|
+
|
|
280
|
+
At scale, **static (with the "Hard cap" line removed) is the winner**: −17% turns and −24% wall vs vanilla, with cost within 3%. The compile-mode envelope was **+91% wall vs static on hard structural tasks** — variance probe revealed compile occasionally pushes the agent into over-tool-use (one t1 run hit 41 turns and $2.43). The compile-the-COMMAND itself is robust (250/250 latency cells, 14/15 fuzz, brief mode <300 chars across all 10 procedure families) — the issue is over-direction of the consuming agent, not the compiler.
|
|
281
|
+
|
|
282
|
+
Private raw cells are retained for audit; the public summary above is the quotable result.
|
|
283
|
+
|
|
284
|
+
**Run #3 (2026-05-31, n=1, 24 cells, $12.78, on 8-task user-shape corpus after W34→W37 fixes):**
|
|
285
|
+
|
|
286
|
+
| Condition | Mean turns | Mean wall | Mean cost |
|
|
287
|
+
|---|---|---|---|
|
|
288
|
+
| vanilla | 6.00 | 28.6s | $0.58 (1 cell timed out at 240s) |
|
|
289
|
+
| static / roam_agent | 5.38 | 39.9s | $0.63 |
|
|
290
|
+
| **compile** | **2.75** | 35.6s | **$0.46** |
|
|
291
|
+
|
|
292
|
+
This run inverts Run #2 on a different corpus. Compile **wins 7/8 shapes** including stack-trace, "what does X do", "what changed recently", `compare files`, `who calls X`, file coupling, and trace-flow. The compiler fix wave between Run #2 and Run #3 added six new probes (stack-trace source slice, body-embed for explain, git-log for history, sibling-test embed, path-comparison diff, symbol-pickaxe) and four real bug fixes (callers-backtick fallback, dead-code wrong CLI, consumer-dict flattening, stack-trace classifier missing PascalCase Errors). Headline win: a "what files are coupled to X" task that took vanilla 20 turns / $1.20 / 64s collapsed to compile's 1 turn / $0.32 / 11s — embedded coupling pairs eliminate 19 turns of exploration. The +24% wall vs vanilla is the envelope cache-creation tax at n=1; expected to amortize at n≥3.
|
|
293
|
+
|
|
294
|
+
Static remains a non-improvement (0/8 wins vs vanilla, 1/8 marginal vs compile). Caveat: Run #3 is n=1 per cell; n=3 replication ($30-40) is pending.
|
|
295
|
+
|
|
296
|
+
Private per-task tables and raw cells are retained for audit; the public summary above is the quotable result.
|
|
297
|
+
|
|
298
|
+
**Run #4 (2026-05-31, n=1, 24 cells, $13.00, same corpus after W43→W45 polish/improvements/corrections):**
|
|
299
|
+
|
|
300
|
+
| Condition | Mean turns | Mean wall | Mean cost |
|
|
301
|
+
|---|---|---|---|
|
|
302
|
+
| vanilla | 5.25 | 39.6s | $0.63 |
|
|
303
|
+
| static / roam_agent | 4.75 | 32.8s | $0.61 |
|
|
304
|
+
| **compile** | **1.88** | **25.2s** | **$0.40** |
|
|
305
|
+
|
|
306
|
+
Compile now **wins 8/8 shapes** and the +24% wall penalty from Run #3 is **gone**: compile is −36% wall vs vanilla. Aggregate **−64% turns / −36% cost / −36% wall** vs vanilla on Opus 4.7. The flip came from three wave-43-to-45 changes: (a) a 60-second bounded cache on `_run_roam` subprocess calls, (b) anti-Read directives in the `stack_trace_fix` and `synthesis_query` answer contracts, and (c) richer enrichment in the `write_pytest` probe (sibling test + source under test + nearest `conftest.py` together). The biggest single delta: `write_pytest` went from 10 vanilla turns to 6 compile turns (−40%, saving $0.29 / cell). Static remains 0/8 wins and should be retired from the default bench-compile conditions in a future release.
|
|
307
|
+
|
|
308
|
+
Private per-task tables and raw cells are retained for audit; the public summary above is the quotable result.
|
|
309
|
+
|
|
310
|
+
</details>
|
|
249
311
|
</details>
|
|
250
312
|
|
|
251
313
|
Headless for scripts and CI: `roam compile "<task>" --artifact auto`.
|
|
@@ -256,27 +318,64 @@ Prefer a dedicated product CLI? The same loop ships as
|
|
|
256
318
|
### The verify half of the loop — what runs after every edit
|
|
257
319
|
|
|
258
320
|
The compile half front-loads facts; the verify half reviews what the agent
|
|
259
|
-
just changed. `roam verify --auto` scopes to the touched files
|
|
321
|
+
just changed. `roam verify --auto` scopes to the touched files, auto-selects
|
|
322
|
+
the checks that make sense for what changed (Python edits unlock the Python
|
|
323
|
+
checks, source edits unlock naming/duplicates), and runs:
|
|
260
324
|
|
|
261
325
|
- **naming** — against the codebase's own per-language convention (sampled
|
|
262
326
|
from production code only: test/vendored/generated files neither vote nor
|
|
263
327
|
get flagged, framework lifecycle names like `setUp` are never touched)
|
|
264
|
-
- **imports** — the hallucination firewall: every import must resolve to
|
|
265
|
-
|
|
328
|
+
- **imports** — the hallucination firewall: every import must resolve — to
|
|
329
|
+
the index, the stdlib, or a declared dependency. A module path that
|
|
330
|
+
resolves to nothing fails as a likely hallucination; near-miss names get
|
|
331
|
+
fuzzy did-you-mean candidates
|
|
266
332
|
- **error handling / syntax / complexity / cycles / duplicates** — scoped
|
|
267
333
|
structural review with honest disclosure when any sub-check could not run
|
|
268
334
|
- **secrets** — a leak gate over every touched file: credential shapes
|
|
269
335
|
(cloud keys, tokens, PEM blocks) fail the check, and an optional
|
|
270
336
|
repo-local `.roam-leak-patterns.py` catalogue catches the strings *your*
|
|
271
337
|
project must never publish
|
|
272
|
-
- **patterns** *(advisory)* — the algorithm/idiom catalog scoped
|
|
273
|
-
diff: N+1 query shapes, loop-invariant calls, string-concat loops,
|
|
274
|
-
with the better approach and a fix sketch
|
|
338
|
+
- **patterns** *(advisory, `--deep`)* — the algorithm/idiom catalog scoped
|
|
339
|
+
to the diff: N+1 query shapes, loop-invariant calls, string-concat loops,
|
|
340
|
+
each with the better approach and a fix sketch
|
|
341
|
+
|
|
342
|
+
**The fix loop.** Wired via `roam hooks claude --write`, findings come back
|
|
343
|
+
to the agent as an actionable list — *fix or suppress, then re-verify* — and
|
|
344
|
+
the loop re-runs automatically until quiet (bounded rounds). Findings the
|
|
345
|
+
agent disagrees with go to `.roam-suppressions.yml`, keyed by **symbol** so
|
|
346
|
+
a suppression survives refactors that shift line numbers; the file is
|
|
347
|
+
append-only (a suppression is never silently dropped). Everything is
|
|
348
|
+
fail-open and quiet-on-pass: the loop surfaces only real findings, and a
|
|
349
|
+
broken install can never block a turn.
|
|
350
|
+
|
|
351
|
+
**Scoping and debt control** — the flags that make verify usable on a
|
|
352
|
+
codebase with history:
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
roam verify --auto # changed files, auto-selected checks
|
|
356
|
+
roam verify --diff-only # only lines you changed vs HEAD
|
|
357
|
+
roam verify --changed-lines cli.py:40-90 # exact ranges (agent harnesses)
|
|
358
|
+
roam verify --baseline-write # snapshot current findings as accepted debt
|
|
359
|
+
roam verify --new-only # then: only NEW findings fail
|
|
360
|
+
roam verify --report --severity fail # whole-repo ranked punch-list (non-gating)
|
|
361
|
+
roam verify --off / --on # pause / resume the loop repo-wide
|
|
362
|
+
```
|
|
275
363
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
364
|
+
**The commands that run beside it** in the same post-edit stance:
|
|
365
|
+
|
|
366
|
+
| Command | Role in the loop |
|
|
367
|
+
|---|---|
|
|
368
|
+
| `roam verify-imports <file>` | The hallucination firewall, standalone — validates every import resolves |
|
|
369
|
+
| `roam delete-check --ci` | Gates a deletion diff on surviving references (exit 5 on BREAK-RISK) |
|
|
370
|
+
| `git diff \| roam critique` | Clones-not-edited check + blast radius on the patch (exit 5 on high severity) |
|
|
371
|
+
| `roam verify --report --persist` | Writes findings to the registry so the **compiler** embeds them as `known_findings` in future envelopes — debt gets fixed opportunistically |
|
|
372
|
+
|
|
373
|
+
**Measured, not asserted.** The detector quality is pinned by three eval
|
|
374
|
+
suites in CI: a planted-issues recall corpus (every category must catch its
|
|
375
|
+
canonical positives), a clean-corpus false-positive lock (dogfooded on this
|
|
376
|
+
repo: the naming rule alone dropped ~2000 FPs when test files stopped
|
|
377
|
+
voting), and an adversarial suppression fuzz suite (suppressions survive
|
|
378
|
+
refactors, never lose entries).
|
|
280
379
|
|
|
281
380
|
---
|
|
282
381
|
|
|
@@ -930,72 +1029,9 @@ Tier 2 languages (and `.jsonc` / `.mdx`) get basic symbol extraction via a gener
|
|
|
930
1029
|
|
|
931
1030
|
After the first full index, `roam index` only re-processes changed files (mtime + SHA-256 hash). Detailed indexing benchmarks across Express / Axios / Vue / Laravel / Svelte live in [`benchmarks/`](benchmarks/).
|
|
932
1031
|
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
newest intent procedures, 2 hard comprehension/synthesis), 41 cells, n=2 per
|
|
937
|
-
cell, offline structural judge, June 2026:
|
|
938
|
-
|
|
939
|
-
| Condition | Turns (median) | Input tokens (median) | Cost (median) |
|
|
940
|
-
|---|---|---|---|
|
|
941
|
-
| vanilla | 6 | 271K | $1.30 |
|
|
942
|
-
| **compile** | **1** | **53K** | **$0.48** |
|
|
943
|
-
|
|
944
|
-
**−83% turns / −80% input tokens / −63% cost / −50% wall**, with the same
|
|
945
|
-
shape on Opus (−86% nav turns). On a separate ground-truth-graded bug-fix
|
|
946
|
-
bench (20 cells, planted bugs, failing→passing oracle) compile and vanilla
|
|
947
|
-
both solved 10/10 with compile slightly cheaper — easy bugs with precise
|
|
948
|
-
tracebacks don't discriminate; the compiler's bug-fix edge shows on hard
|
|
949
|
-
multi-step tasks (3/3 vs 1/3, Docker-graded, 2026-06-07). Caveats ship with
|
|
950
|
-
every number: trivial prompts pay a small envelope tax for no gain;
|
|
951
|
-
generation-shaped tasks are neutral; Ns are 2–3 with medians and ranges.
|
|
952
|
-
|
|
953
|
-
<details>
|
|
954
|
-
<summary><strong>Benchmark history — how the compiler earned these numbers (runs #1–#4, May 2026)</strong></summary>
|
|
955
|
-
|
|
956
|
-
Two independent A/B runs at different scales — the larger sample inverts the smaller. Reporting both honestly.
|
|
957
|
-
|
|
958
|
-
**Run #1 (n=3 per cell, 27 cells, $16.88):** compile appeared to dominate (−29% wall vs static). That static prompt included a `"Hard cap: 4 tool calls"` line that turned out to act as a quota.
|
|
959
|
-
|
|
960
|
-
**Run #2 (n=3–7 per cell, 78 cells, $54.88, "Hard cap" line removed from static):**
|
|
961
|
-
|
|
962
|
-
| Condition | Mean turns | Mean wall | Mean cost |
|
|
963
|
-
|---|---|---|---|
|
|
964
|
-
| vanilla | 7.0 | 33.2s | $0.68 |
|
|
965
|
-
| **static / roam_agent** | **5.8** | **25.1s** | **$0.66** |
|
|
966
|
-
| compile | 8.2 | 47.9s | $0.78 |
|
|
967
|
-
|
|
968
|
-
At scale, **static (with the "Hard cap" line removed) is the winner**: −17% turns and −24% wall vs vanilla, with cost within 3%. The compile-mode envelope was **+91% wall vs static on hard structural tasks** — variance probe revealed compile occasionally pushes the agent into over-tool-use (one t1 run hit 41 turns and $2.43). The compile-the-COMMAND itself is robust (250/250 latency cells, 14/15 fuzz, brief mode <300 chars across all 10 procedure families) — the issue is over-direction of the consuming agent, not the compiler.
|
|
969
|
-
|
|
970
|
-
Private raw cells are retained for audit; the public summary above is the quotable result.
|
|
971
|
-
|
|
972
|
-
**Run #3 (2026-05-31, n=1, 24 cells, $12.78, on 8-task user-shape corpus after W34→W37 fixes):**
|
|
973
|
-
|
|
974
|
-
| Condition | Mean turns | Mean wall | Mean cost |
|
|
975
|
-
|---|---|---|---|
|
|
976
|
-
| vanilla | 6.00 | 28.6s | $0.58 (1 cell timed out at 240s) |
|
|
977
|
-
| static / roam_agent | 5.38 | 39.9s | $0.63 |
|
|
978
|
-
| **compile** | **2.75** | 35.6s | **$0.46** |
|
|
979
|
-
|
|
980
|
-
This run inverts Run #2 on a different corpus. Compile **wins 7/8 shapes** including stack-trace, "what does X do", "what changed recently", `compare files`, `who calls X`, file coupling, and trace-flow. The compiler fix wave between Run #2 and Run #3 added six new probes (stack-trace source slice, body-embed for explain, git-log for history, sibling-test embed, path-comparison diff, symbol-pickaxe) and four real bug fixes (callers-backtick fallback, dead-code wrong CLI, consumer-dict flattening, stack-trace classifier missing PascalCase Errors). Headline win: a "what files are coupled to X" task that took vanilla 20 turns / $1.20 / 64s collapsed to compile's 1 turn / $0.32 / 11s — embedded coupling pairs eliminate 19 turns of exploration. The +24% wall vs vanilla is the envelope cache-creation tax at n=1; expected to amortize at n≥3.
|
|
981
|
-
|
|
982
|
-
Static remains a non-improvement (0/8 wins vs vanilla, 1/8 marginal vs compile). Caveat: Run #3 is n=1 per cell; n=3 replication ($30-40) is pending.
|
|
983
|
-
|
|
984
|
-
Private per-task tables and raw cells are retained for audit; the public summary above is the quotable result.
|
|
985
|
-
|
|
986
|
-
**Run #4 (2026-05-31, n=1, 24 cells, $13.00, same corpus after W43→W45 polish/improvements/corrections):**
|
|
987
|
-
|
|
988
|
-
| Condition | Mean turns | Mean wall | Mean cost |
|
|
989
|
-
|---|---|---|---|
|
|
990
|
-
| vanilla | 5.25 | 39.6s | $0.63 |
|
|
991
|
-
| static / roam_agent | 4.75 | 32.8s | $0.61 |
|
|
992
|
-
| **compile** | **1.88** | **25.2s** | **$0.40** |
|
|
993
|
-
|
|
994
|
-
Compile now **wins 8/8 shapes** and the +24% wall penalty from Run #3 is **gone**: compile is −36% wall vs vanilla. Aggregate **−64% turns / −36% cost / −36% wall** vs vanilla on Opus 4.7. The flip came from three wave-43-to-45 changes: (a) a 60-second bounded cache on `_run_roam` subprocess calls, (b) anti-Read directives in the `stack_trace_fix` and `synthesis_query` answer contracts, and (c) richer enrichment in the `write_pytest` probe (sibling test + source under test + nearest `conftest.py` together). The biggest single delta: `write_pytest` went from 10 vanilla turns to 6 compile turns (−40%, saving $0.29 / cell). Static remains 0/8 wins and should be retired from the default bench-compile conditions in a future release.
|
|
995
|
-
|
|
996
|
-
Private per-task tables and raw cells are retained for audit; the public summary above is the quotable result.
|
|
997
|
-
|
|
998
|
-
</details>
|
|
1032
|
+
Compiler A/B results, the per-task gallery, routing stats, and the
|
|
1033
|
+
version-keyed eval history live in [The Compiler](#the-compiler--your-agents-first-token-already-knows-the-answer)
|
|
1034
|
+
section — one home, no duplicate numbers.
|
|
999
1035
|
|
|
1000
1036
|
## How It Works
|
|
1001
1037
|
|
|
@@ -152,6 +152,7 @@ spends your tokens only where it wins.
|
|
|
152
152
|
| "explain the compiler module's architecture" | 13 → **6** | 618K → 240K | $1.85 → $1.01 |
|
|
153
153
|
| "trace how a command becomes an MCP tool" | 12 → **8** | 464K → 303K | $1.25 → $1.01 |
|
|
154
154
|
| security-hook comprehension (hard, multi-file) | 6 → **2** | 267K → 117K | $1.15 → $0.56 |
|
|
155
|
+
| "what are the biggest cycles in this codebase?" (re-measured 06-11) | 6 → **1** | — | $0.65 → **$0.07** |
|
|
155
156
|
| "where is the CLI entry point?" (trivial, re-measured 06-11) | 1 → 1 | 48K → 50K | $0.21 → $0.22 |
|
|
156
157
|
| "write a pytest for X" (generation, re-measured 06-11) | 5 → 7 | 275K → 396K | $0.61 → **$0.45** |
|
|
157
158
|
|
|
@@ -172,14 +173,75 @@ passing — no LLM judging): 20 cells of planted bugs with real tracebacks —
|
|
|
172
173
|
source around the cited `path:line`, so the typical fix lands within 2
|
|
173
174
|
turns.
|
|
174
175
|
|
|
175
|
-
**Routing, replayed on 723 real prompts** from live agent sessions: **
|
|
176
|
-
|
|
177
|
-
**p50
|
|
176
|
+
**Routing, replayed on 723 real prompts** from live agent sessions: **91%
|
|
177
|
+
of envelopes ship pre-executed answers** (L1 probes) — the envelope already
|
|
178
|
+
contains the literal answer — at **p50 0.45 s cold / p50 92 ms live**
|
|
179
|
+
(warm cache) compile latency, fully local. Zero model calls.
|
|
180
|
+
|
|
181
|
+
**Eval history by version** — re-measured on every kernel change; losses are
|
|
182
|
+
published, attacked, then re-measured (full per-cell history in the repo):
|
|
183
|
+
|
|
184
|
+
| measured | kernel | what | result |
|
|
185
|
+
|---|---|---|---|
|
|
186
|
+
| Jun 09 | v13.4 | 41-cell nav/comprehension A/B | turns −83%, tokens −80%, cost −63% |
|
|
187
|
+
| Jun 09 | v13.4 | 20-cell ground-truth bugbench | 10/10 both arms, cost −13% |
|
|
188
|
+
| Jun 09 | v13.4 | trivial-prompt cell | **+80% cost — published loss** |
|
|
189
|
+
| Jun 09 | v13.4 | generation cell | **+17% cost — published loss** |
|
|
190
|
+
| Jun 11 | v13.6 | trivial-prompt cell, re-measured n=3 | tie ($0.21 → $0.22) |
|
|
191
|
+
| Jun 11 | v13.6 | generation cell, re-measured n=3 | **−26% cost win** |
|
|
192
|
+
| Jun 11 | v13.6 | "biggest cycles" cell, re-measured n=3 | **−89% cost win** ($0.65 → $0.07, 6→1 turns) |
|
|
193
|
+
| Jun 11 | v13.6 | 723-prompt routing replay | 91% L1, p50 0.45 s cold |
|
|
178
194
|
|
|
179
195
|
Caveats that always ship with these numbers: trivial prompts the agent
|
|
180
196
|
one-shots anyway gain nothing (now a within-noise tie after the lean/skip
|
|
181
|
-
levers); cells are n=2–3 with medians and ranges.
|
|
182
|
-
|
|
197
|
+
levers); cells are n=2–3 with medians and ranges.
|
|
198
|
+
|
|
199
|
+
<details>
|
|
200
|
+
<summary><strong>Benchmark archaeology — runs #1–#4 (May 2026), including the honest negative result that drove the fixes</strong></summary>
|
|
201
|
+
|
|
202
|
+
Two independent A/B runs at different scales — the larger sample inverts the smaller. Reporting both honestly.
|
|
203
|
+
|
|
204
|
+
**Run #1 (n=3 per cell, 27 cells, $16.88):** compile appeared to dominate (−29% wall vs static). That static prompt included a `"Hard cap: 4 tool calls"` line that turned out to act as a quota.
|
|
205
|
+
|
|
206
|
+
**Run #2 (n=3–7 per cell, 78 cells, $54.88, "Hard cap" line removed from static):**
|
|
207
|
+
|
|
208
|
+
| Condition | Mean turns | Mean wall | Mean cost |
|
|
209
|
+
|---|---|---|---|
|
|
210
|
+
| vanilla | 7.0 | 33.2s | $0.68 |
|
|
211
|
+
| **static / roam_agent** | **5.8** | **25.1s** | **$0.66** |
|
|
212
|
+
| compile | 8.2 | 47.9s | $0.78 |
|
|
213
|
+
|
|
214
|
+
At scale, **static (with the "Hard cap" line removed) is the winner**: −17% turns and −24% wall vs vanilla, with cost within 3%. The compile-mode envelope was **+91% wall vs static on hard structural tasks** — variance probe revealed compile occasionally pushes the agent into over-tool-use (one t1 run hit 41 turns and $2.43). The compile-the-COMMAND itself is robust (250/250 latency cells, 14/15 fuzz, brief mode <300 chars across all 10 procedure families) — the issue is over-direction of the consuming agent, not the compiler.
|
|
215
|
+
|
|
216
|
+
Private raw cells are retained for audit; the public summary above is the quotable result.
|
|
217
|
+
|
|
218
|
+
**Run #3 (2026-05-31, n=1, 24 cells, $12.78, on 8-task user-shape corpus after W34→W37 fixes):**
|
|
219
|
+
|
|
220
|
+
| Condition | Mean turns | Mean wall | Mean cost |
|
|
221
|
+
|---|---|---|---|
|
|
222
|
+
| vanilla | 6.00 | 28.6s | $0.58 (1 cell timed out at 240s) |
|
|
223
|
+
| static / roam_agent | 5.38 | 39.9s | $0.63 |
|
|
224
|
+
| **compile** | **2.75** | 35.6s | **$0.46** |
|
|
225
|
+
|
|
226
|
+
This run inverts Run #2 on a different corpus. Compile **wins 7/8 shapes** including stack-trace, "what does X do", "what changed recently", `compare files`, `who calls X`, file coupling, and trace-flow. The compiler fix wave between Run #2 and Run #3 added six new probes (stack-trace source slice, body-embed for explain, git-log for history, sibling-test embed, path-comparison diff, symbol-pickaxe) and four real bug fixes (callers-backtick fallback, dead-code wrong CLI, consumer-dict flattening, stack-trace classifier missing PascalCase Errors). Headline win: a "what files are coupled to X" task that took vanilla 20 turns / $1.20 / 64s collapsed to compile's 1 turn / $0.32 / 11s — embedded coupling pairs eliminate 19 turns of exploration. The +24% wall vs vanilla is the envelope cache-creation tax at n=1; expected to amortize at n≥3.
|
|
227
|
+
|
|
228
|
+
Static remains a non-improvement (0/8 wins vs vanilla, 1/8 marginal vs compile). Caveat: Run #3 is n=1 per cell; n=3 replication ($30-40) is pending.
|
|
229
|
+
|
|
230
|
+
Private per-task tables and raw cells are retained for audit; the public summary above is the quotable result.
|
|
231
|
+
|
|
232
|
+
**Run #4 (2026-05-31, n=1, 24 cells, $13.00, same corpus after W43→W45 polish/improvements/corrections):**
|
|
233
|
+
|
|
234
|
+
| Condition | Mean turns | Mean wall | Mean cost |
|
|
235
|
+
|---|---|---|---|
|
|
236
|
+
| vanilla | 5.25 | 39.6s | $0.63 |
|
|
237
|
+
| static / roam_agent | 4.75 | 32.8s | $0.61 |
|
|
238
|
+
| **compile** | **1.88** | **25.2s** | **$0.40** |
|
|
239
|
+
|
|
240
|
+
Compile now **wins 8/8 shapes** and the +24% wall penalty from Run #3 is **gone**: compile is −36% wall vs vanilla. Aggregate **−64% turns / −36% cost / −36% wall** vs vanilla on Opus 4.7. The flip came from three wave-43-to-45 changes: (a) a 60-second bounded cache on `_run_roam` subprocess calls, (b) anti-Read directives in the `stack_trace_fix` and `synthesis_query` answer contracts, and (c) richer enrichment in the `write_pytest` probe (sibling test + source under test + nearest `conftest.py` together). The biggest single delta: `write_pytest` went from 10 vanilla turns to 6 compile turns (−40%, saving $0.29 / cell). Static remains 0/8 wins and should be retired from the default bench-compile conditions in a future release.
|
|
241
|
+
|
|
242
|
+
Private per-task tables and raw cells are retained for audit; the public summary above is the quotable result.
|
|
243
|
+
|
|
244
|
+
</details>
|
|
183
245
|
</details>
|
|
184
246
|
|
|
185
247
|
Headless for scripts and CI: `roam compile "<task>" --artifact auto`.
|
|
@@ -190,27 +252,64 @@ Prefer a dedicated product CLI? The same loop ships as
|
|
|
190
252
|
### The verify half of the loop — what runs after every edit
|
|
191
253
|
|
|
192
254
|
The compile half front-loads facts; the verify half reviews what the agent
|
|
193
|
-
just changed. `roam verify --auto` scopes to the touched files
|
|
255
|
+
just changed. `roam verify --auto` scopes to the touched files, auto-selects
|
|
256
|
+
the checks that make sense for what changed (Python edits unlock the Python
|
|
257
|
+
checks, source edits unlock naming/duplicates), and runs:
|
|
194
258
|
|
|
195
259
|
- **naming** — against the codebase's own per-language convention (sampled
|
|
196
260
|
from production code only: test/vendored/generated files neither vote nor
|
|
197
261
|
get flagged, framework lifecycle names like `setUp` are never touched)
|
|
198
|
-
- **imports** — the hallucination firewall: every import must resolve to
|
|
199
|
-
|
|
262
|
+
- **imports** — the hallucination firewall: every import must resolve — to
|
|
263
|
+
the index, the stdlib, or a declared dependency. A module path that
|
|
264
|
+
resolves to nothing fails as a likely hallucination; near-miss names get
|
|
265
|
+
fuzzy did-you-mean candidates
|
|
200
266
|
- **error handling / syntax / complexity / cycles / duplicates** — scoped
|
|
201
267
|
structural review with honest disclosure when any sub-check could not run
|
|
202
268
|
- **secrets** — a leak gate over every touched file: credential shapes
|
|
203
269
|
(cloud keys, tokens, PEM blocks) fail the check, and an optional
|
|
204
270
|
repo-local `.roam-leak-patterns.py` catalogue catches the strings *your*
|
|
205
271
|
project must never publish
|
|
206
|
-
- **patterns** *(advisory)* — the algorithm/idiom catalog scoped
|
|
207
|
-
diff: N+1 query shapes, loop-invariant calls, string-concat loops,
|
|
208
|
-
with the better approach and a fix sketch
|
|
272
|
+
- **patterns** *(advisory, `--deep`)* — the algorithm/idiom catalog scoped
|
|
273
|
+
to the diff: N+1 query shapes, loop-invariant calls, string-concat loops,
|
|
274
|
+
each with the better approach and a fix sketch
|
|
275
|
+
|
|
276
|
+
**The fix loop.** Wired via `roam hooks claude --write`, findings come back
|
|
277
|
+
to the agent as an actionable list — *fix or suppress, then re-verify* — and
|
|
278
|
+
the loop re-runs automatically until quiet (bounded rounds). Findings the
|
|
279
|
+
agent disagrees with go to `.roam-suppressions.yml`, keyed by **symbol** so
|
|
280
|
+
a suppression survives refactors that shift line numbers; the file is
|
|
281
|
+
append-only (a suppression is never silently dropped). Everything is
|
|
282
|
+
fail-open and quiet-on-pass: the loop surfaces only real findings, and a
|
|
283
|
+
broken install can never block a turn.
|
|
284
|
+
|
|
285
|
+
**Scoping and debt control** — the flags that make verify usable on a
|
|
286
|
+
codebase with history:
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
roam verify --auto # changed files, auto-selected checks
|
|
290
|
+
roam verify --diff-only # only lines you changed vs HEAD
|
|
291
|
+
roam verify --changed-lines cli.py:40-90 # exact ranges (agent harnesses)
|
|
292
|
+
roam verify --baseline-write # snapshot current findings as accepted debt
|
|
293
|
+
roam verify --new-only # then: only NEW findings fail
|
|
294
|
+
roam verify --report --severity fail # whole-repo ranked punch-list (non-gating)
|
|
295
|
+
roam verify --off / --on # pause / resume the loop repo-wide
|
|
296
|
+
```
|
|
209
297
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
298
|
+
**The commands that run beside it** in the same post-edit stance:
|
|
299
|
+
|
|
300
|
+
| Command | Role in the loop |
|
|
301
|
+
|---|---|
|
|
302
|
+
| `roam verify-imports <file>` | The hallucination firewall, standalone — validates every import resolves |
|
|
303
|
+
| `roam delete-check --ci` | Gates a deletion diff on surviving references (exit 5 on BREAK-RISK) |
|
|
304
|
+
| `git diff \| roam critique` | Clones-not-edited check + blast radius on the patch (exit 5 on high severity) |
|
|
305
|
+
| `roam verify --report --persist` | Writes findings to the registry so the **compiler** embeds them as `known_findings` in future envelopes — debt gets fixed opportunistically |
|
|
306
|
+
|
|
307
|
+
**Measured, not asserted.** The detector quality is pinned by three eval
|
|
308
|
+
suites in CI: a planted-issues recall corpus (every category must catch its
|
|
309
|
+
canonical positives), a clean-corpus false-positive lock (dogfooded on this
|
|
310
|
+
repo: the naming rule alone dropped ~2000 FPs when test files stopped
|
|
311
|
+
voting), and an adversarial suppression fuzz suite (suppressions survive
|
|
312
|
+
refactors, never lose entries).
|
|
214
313
|
|
|
215
314
|
---
|
|
216
315
|
|
|
@@ -864,72 +963,9 @@ Tier 2 languages (and `.jsonc` / `.mdx`) get basic symbol extraction via a gener
|
|
|
864
963
|
|
|
865
964
|
After the first full index, `roam index` only re-processes changed files (mtime + SHA-256 hash). Detailed indexing benchmarks across Express / Axios / Vue / Laravel / Svelte live in [`benchmarks/`](benchmarks/).
|
|
866
965
|
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
newest intent procedures, 2 hard comprehension/synthesis), 41 cells, n=2 per
|
|
871
|
-
cell, offline structural judge, June 2026:
|
|
872
|
-
|
|
873
|
-
| Condition | Turns (median) | Input tokens (median) | Cost (median) |
|
|
874
|
-
|---|---|---|---|
|
|
875
|
-
| vanilla | 6 | 271K | $1.30 |
|
|
876
|
-
| **compile** | **1** | **53K** | **$0.48** |
|
|
877
|
-
|
|
878
|
-
**−83% turns / −80% input tokens / −63% cost / −50% wall**, with the same
|
|
879
|
-
shape on Opus (−86% nav turns). On a separate ground-truth-graded bug-fix
|
|
880
|
-
bench (20 cells, planted bugs, failing→passing oracle) compile and vanilla
|
|
881
|
-
both solved 10/10 with compile slightly cheaper — easy bugs with precise
|
|
882
|
-
tracebacks don't discriminate; the compiler's bug-fix edge shows on hard
|
|
883
|
-
multi-step tasks (3/3 vs 1/3, Docker-graded, 2026-06-07). Caveats ship with
|
|
884
|
-
every number: trivial prompts pay a small envelope tax for no gain;
|
|
885
|
-
generation-shaped tasks are neutral; Ns are 2–3 with medians and ranges.
|
|
886
|
-
|
|
887
|
-
<details>
|
|
888
|
-
<summary><strong>Benchmark history — how the compiler earned these numbers (runs #1–#4, May 2026)</strong></summary>
|
|
889
|
-
|
|
890
|
-
Two independent A/B runs at different scales — the larger sample inverts the smaller. Reporting both honestly.
|
|
891
|
-
|
|
892
|
-
**Run #1 (n=3 per cell, 27 cells, $16.88):** compile appeared to dominate (−29% wall vs static). That static prompt included a `"Hard cap: 4 tool calls"` line that turned out to act as a quota.
|
|
893
|
-
|
|
894
|
-
**Run #2 (n=3–7 per cell, 78 cells, $54.88, "Hard cap" line removed from static):**
|
|
895
|
-
|
|
896
|
-
| Condition | Mean turns | Mean wall | Mean cost |
|
|
897
|
-
|---|---|---|---|
|
|
898
|
-
| vanilla | 7.0 | 33.2s | $0.68 |
|
|
899
|
-
| **static / roam_agent** | **5.8** | **25.1s** | **$0.66** |
|
|
900
|
-
| compile | 8.2 | 47.9s | $0.78 |
|
|
901
|
-
|
|
902
|
-
At scale, **static (with the "Hard cap" line removed) is the winner**: −17% turns and −24% wall vs vanilla, with cost within 3%. The compile-mode envelope was **+91% wall vs static on hard structural tasks** — variance probe revealed compile occasionally pushes the agent into over-tool-use (one t1 run hit 41 turns and $2.43). The compile-the-COMMAND itself is robust (250/250 latency cells, 14/15 fuzz, brief mode <300 chars across all 10 procedure families) — the issue is over-direction of the consuming agent, not the compiler.
|
|
903
|
-
|
|
904
|
-
Private raw cells are retained for audit; the public summary above is the quotable result.
|
|
905
|
-
|
|
906
|
-
**Run #3 (2026-05-31, n=1, 24 cells, $12.78, on 8-task user-shape corpus after W34→W37 fixes):**
|
|
907
|
-
|
|
908
|
-
| Condition | Mean turns | Mean wall | Mean cost |
|
|
909
|
-
|---|---|---|---|
|
|
910
|
-
| vanilla | 6.00 | 28.6s | $0.58 (1 cell timed out at 240s) |
|
|
911
|
-
| static / roam_agent | 5.38 | 39.9s | $0.63 |
|
|
912
|
-
| **compile** | **2.75** | 35.6s | **$0.46** |
|
|
913
|
-
|
|
914
|
-
This run inverts Run #2 on a different corpus. Compile **wins 7/8 shapes** including stack-trace, "what does X do", "what changed recently", `compare files`, `who calls X`, file coupling, and trace-flow. The compiler fix wave between Run #2 and Run #3 added six new probes (stack-trace source slice, body-embed for explain, git-log for history, sibling-test embed, path-comparison diff, symbol-pickaxe) and four real bug fixes (callers-backtick fallback, dead-code wrong CLI, consumer-dict flattening, stack-trace classifier missing PascalCase Errors). Headline win: a "what files are coupled to X" task that took vanilla 20 turns / $1.20 / 64s collapsed to compile's 1 turn / $0.32 / 11s — embedded coupling pairs eliminate 19 turns of exploration. The +24% wall vs vanilla is the envelope cache-creation tax at n=1; expected to amortize at n≥3.
|
|
915
|
-
|
|
916
|
-
Static remains a non-improvement (0/8 wins vs vanilla, 1/8 marginal vs compile). Caveat: Run #3 is n=1 per cell; n=3 replication ($30-40) is pending.
|
|
917
|
-
|
|
918
|
-
Private per-task tables and raw cells are retained for audit; the public summary above is the quotable result.
|
|
919
|
-
|
|
920
|
-
**Run #4 (2026-05-31, n=1, 24 cells, $13.00, same corpus after W43→W45 polish/improvements/corrections):**
|
|
921
|
-
|
|
922
|
-
| Condition | Mean turns | Mean wall | Mean cost |
|
|
923
|
-
|---|---|---|---|
|
|
924
|
-
| vanilla | 5.25 | 39.6s | $0.63 |
|
|
925
|
-
| static / roam_agent | 4.75 | 32.8s | $0.61 |
|
|
926
|
-
| **compile** | **1.88** | **25.2s** | **$0.40** |
|
|
927
|
-
|
|
928
|
-
Compile now **wins 8/8 shapes** and the +24% wall penalty from Run #3 is **gone**: compile is −36% wall vs vanilla. Aggregate **−64% turns / −36% cost / −36% wall** vs vanilla on Opus 4.7. The flip came from three wave-43-to-45 changes: (a) a 60-second bounded cache on `_run_roam` subprocess calls, (b) anti-Read directives in the `stack_trace_fix` and `synthesis_query` answer contracts, and (c) richer enrichment in the `write_pytest` probe (sibling test + source under test + nearest `conftest.py` together). The biggest single delta: `write_pytest` went from 10 vanilla turns to 6 compile turns (−40%, saving $0.29 / cell). Static remains 0/8 wins and should be retired from the default bench-compile conditions in a future release.
|
|
929
|
-
|
|
930
|
-
Private per-task tables and raw cells are retained for audit; the public summary above is the quotable result.
|
|
931
|
-
|
|
932
|
-
</details>
|
|
966
|
+
Compiler A/B results, the per-task gallery, routing stats, and the
|
|
967
|
+
version-keyed eval history live in [The Compiler](#the-compiler--your-agents-first-token-already-knows-the-answer)
|
|
968
|
+
section — one home, no duplicate numbers.
|
|
933
969
|
|
|
934
970
|
## How It Works
|
|
935
971
|
|
|
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
|
|
|
8
8
|
|
|
9
9
|
[project]
|
|
10
10
|
name = "roam-code"
|
|
11
|
-
version = "13.6"
|
|
11
|
+
version = "13.6.1"
|
|
12
12
|
description = "Local codebase intelligence for AI coding agents: structural repo map, change-safety gates, MCP security receipts, and tamper-evident ChangeEvidence packets. 100% local, zero API keys, zero network egress."
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
requires-python = ">=3.10"
|
|
@@ -239,6 +239,29 @@ def list_detector_surface() -> list[dict[str, Any]]:
|
|
|
239
239
|
# — an expected, non-error state. No lineage needed.
|
|
240
240
|
pass
|
|
241
241
|
|
|
242
|
+
try:
|
|
243
|
+
from roam.catalog.js_idioms import JS_IDIOM_DETECTORS
|
|
244
|
+
from roam.catalog.versions import detector_version
|
|
245
|
+
|
|
246
|
+
for task_id, _way_id, detect_fn in JS_IDIOM_DETECTORS:
|
|
247
|
+
entries.append(
|
|
248
|
+
{
|
|
249
|
+
"name": getattr(detect_fn, "__name__", ""),
|
|
250
|
+
"task_id": task_id,
|
|
251
|
+
"languages": ("javascript", "typescript"),
|
|
252
|
+
"confidence_basis": CONFIDENCE_HEURISTIC,
|
|
253
|
+
"query_cost": QUERY_COST_LOW,
|
|
254
|
+
"version": detector_version(task_id),
|
|
255
|
+
"source": "js_idioms",
|
|
256
|
+
}
|
|
257
|
+
)
|
|
258
|
+
except ImportError as exc:
|
|
259
|
+
# Optional-module guard: js_idioms absence just yields fewer surface
|
|
260
|
+
# entries — logged loud rather than silently swallowed.
|
|
261
|
+
from roam.observability import log_swallowed
|
|
262
|
+
|
|
263
|
+
log_swallowed("detectors.surface.js_idioms_import", exc)
|
|
264
|
+
|
|
242
265
|
return entries
|
|
243
266
|
|
|
244
267
|
|
|
@@ -4780,6 +4803,19 @@ def _iter_registered_detectors():
|
|
|
4780
4803
|
# lineage needed — expected non-error state.
|
|
4781
4804
|
pass
|
|
4782
4805
|
|
|
4806
|
+
# JS/TS sibling pack — same isolation rationale as python_idioms.
|
|
4807
|
+
try:
|
|
4808
|
+
from roam.catalog.js_idioms import JS_IDIOM_DETECTORS
|
|
4809
|
+
|
|
4810
|
+
for det in JS_IDIOM_DETECTORS:
|
|
4811
|
+
yield det
|
|
4812
|
+
except ImportError as exc:
|
|
4813
|
+
# Optional-module guard: js_idioms absence just yields the built-in
|
|
4814
|
+
# set — logged loud rather than silently swallowed.
|
|
4815
|
+
from roam.observability import log_swallowed
|
|
4816
|
+
|
|
4817
|
+
log_swallowed("detectors.iter.js_idioms_import", exc)
|
|
4818
|
+
|
|
4783
4819
|
try:
|
|
4784
4820
|
from roam.plugins import get_plugin_detectors
|
|
4785
4821
|
|
|
@@ -4884,6 +4920,7 @@ def run_detectors(
|
|
|
4884
4920
|
# never leaks into a later unscoped run.
|
|
4885
4921
|
scope_ids = {int(f) for f in scope_file_ids} if scope_file_ids is not None else None
|
|
4886
4922
|
_idiom_scope_reset = None # bound to set_idiom_scope once it's applied
|
|
4923
|
+
_js_idiom_scope_reset = None # bound to js_idioms.set_idiom_scope once applied
|
|
4887
4924
|
_catalog_scope_applied = False
|
|
4888
4925
|
if scope_ids is not None:
|
|
4889
4926
|
try:
|
|
@@ -4893,6 +4930,14 @@ def run_detectors(
|
|
|
4893
4930
|
_idiom_scope_reset = set_idiom_scope # captured for the finally
|
|
4894
4931
|
except Exception as exc: # noqa: BLE001
|
|
4895
4932
|
log.warning("run_detectors: could not apply idiom scope: %s", exc)
|
|
4933
|
+
# The JS pack keeps its own module-global scope; apply it the same way.
|
|
4934
|
+
try:
|
|
4935
|
+
from roam.catalog.js_idioms import set_idiom_scope as set_js_idiom_scope
|
|
4936
|
+
|
|
4937
|
+
set_js_idiom_scope(scope_ids)
|
|
4938
|
+
_js_idiom_scope_reset = set_js_idiom_scope # captured for the finally
|
|
4939
|
+
except Exception as exc: # noqa: BLE001
|
|
4940
|
+
log.warning("run_detectors: could not apply js idiom scope: %s", exc)
|
|
4896
4941
|
# Resolve scope file-ids to paths so the catalog detectors' source-read
|
|
4897
4942
|
# chokepoint (`_read_symbol_source`) can skip out-of-scope files.
|
|
4898
4943
|
try:
|
|
@@ -5062,6 +5107,8 @@ def run_detectors(
|
|
|
5062
5107
|
# that can't raise, so no guard is needed in the finally.
|
|
5063
5108
|
if _idiom_scope_reset is not None:
|
|
5064
5109
|
_idiom_scope_reset(None)
|
|
5110
|
+
if _js_idiom_scope_reset is not None:
|
|
5111
|
+
_js_idiom_scope_reset(None)
|
|
5065
5112
|
# Reset the catalog source-read scope for the same reason.
|
|
5066
5113
|
if _catalog_scope_applied:
|
|
5067
5114
|
_DETECTOR_SCOPE_PATHS = None
|